Professional Documents
Culture Documents
Felix Farias
http://felixfarias.googlepages.com/
Sumário
● Polinômios
● Sistemas Lineares
● Sistemas Não Lineares
● Equações Diferenciais Ordinárias
Polinômios
n n−1
a n x a n−1 x ...a 1 xa 0
p=[an an-1 ... a1 a0]
Polinômios
n n−1
a n x a n−1 x ...a 1 xa 0 =0
Polinômios
Sistema Linear:
A x=b
Sistemas de Equações
Algébricas Lineares
Sistema Linear:
Sistemas de Equações
Algébricas Lineares
Sistema Linear:
[ ][ ] [ ]
a 1,1 a 1,2 a 1,3 x1 b1
a 2,1 a 2,2 a 2,3 x 2 = b2
a 3,1 a 3,2 a 3,3 x3 b3
Sistemas de Equações
Algébricas Lineares
Sistema Linear:
Sistemas de Equações
Algébricas Lineares
Sistema Linear:
>> b=[b1;
b2;
b3];
Sistemas de Equações
Algébricas Lineares
Sistema Linear:
>> x=b*inv(A)
>> x=A/b
>> x=b\A
Sistemas de Equações
Algébricas Lineares
Sistema Linear:
>> a = [1 1 1
101
0 1 1];
Sistemas de Equações
Algébricas Lineares
Sistema Linear:
>> b =
6
4
3
Sistemas de Equações
Algébricas Lineares
Sistema Linear:
>> b\a
ans =
3
2
1
Equações Algébricas NÃO-
Lineares
>> x = fsolve(fun,x0)
Equações Algébricas NÃO-
Lineares
Equações Algébricas NÃO-
Lineares
>> x = solve('x*ln(x)')
Equações Diferenciais
Ordinárias
Equações Diferenciais
Ordinárias
[ ]
1 1
C A0 − C A1−k1C A1
1 1
dC A
= 1 CA1− 1 C A2−k2C A2
dt 2 2
1 1
C A2− C A3−k3C A3
3 3
Equações Diferenciais
Ordinárias
[T,Y] = solver(odefun,tspan,y0)
Equações Diferenciais
Ordinárias
function dy = rigid(t,y)
dy = zeros(3,1);
dy(1) = y(2) * y(3);
dy(2) = -y(1) * y(3);
dy(3) = -0.51 * y(1) * y(2);
function ans=f(x,t)
tau_1=2; tau_2=2; tau_3=2;
C_A0=0.5;
C_A1=x(1); C_A2=x(2); C_A3=x(3);
ans = [
1/tau_1*C_A0 - 1/tau_1*C_A1 – k_1*C_A1
1/tau_2*C_A1 - 1/tau_2*C_A2 – k_2*C_A2
1/tau_3*C_A2 - 1/tau_3*C_A3 – k_3*C_A3];
end
Equações Diferenciais
Ordinárias
>> x0 = [0;0;0];
>> t = 0:0.01:10;
>> [x,t] = ode45(@f,x0,t);
EDO Contínuas/Simulink
(S-Function)
function [sys,x0] = sfcstr(t,x,u,flag,tau,k0)
switch flag
% Dimensiona o sistema e inicializa os estados
case 0
...
% Calcula as derivadas
case 1
...
% Retorna Saidas
case 3
...
% outros casos
otherwise
...
end
EDO Contínuas/Simulink
(S-Function)
EDO Contínuas/Simulink
(S-Function)
% Calcula as derivadas
case 1
% Atualiza entradas
ca0=u(1);
% Calcula as derivadas
dCa(1)=...
dCa(2)=...
dCa(3)=...
sys = [dCa(1); dCa(2); dCa(3)];
EDO Contínuas/Simulink
(S-Function)
% Retorna Saidas
case 3
sys = [x(1) x(2) x(3)];
EDO Contínuas/Simulink
(S-Function)
% outros casos
otherwise
sys = [];
end
Referências
http://www.mathworks.com/access/helpdesk/he