1)
Para o sistema dinâmico descrito pelo modelo não
linear de quarta ordem:
a) Determine o
ponto de equilíbrio do sistema. Utilize a função “fsolve” do Matlab que
baseiase no método de Newton Haphson. Dica: As equações ficam em um
arquivo e o comando “fsolve” em outro arquivo distinto.
Exemplo:
(20-A e 0.45-B)
Arquivo 1:
function F=arquivo1(x)
F = [-0.5.*x(1).^2 + 0.5.*x(2).^2 - 0.2;
-20*sin(x(1)) -
0.45*x(2); % conjunto de equação –> f(x)=0
-1*x(2)^2
+ 0.2*x(4);
-175*sin(x(3)) - 0.6*x(4)];
end
Arquivo 2:
clc, clear all, close all
x0=[1 ; 1 ; 1 ; 1]; %
Condições iniciais para resolução
options=optimset('Display','iter'); % Opção da
saída
[x,fval]=fsolve(@arquivo1,x0,
options); % Chamando a função
Use
o help do matlab para mais detalhes.
|
Ponto de
Equilíbrio:
x = -0.0142 ; 0.6326 ; -0.0069 ; 2.0010.
fval = 1.0e-007
*
0.0777 , -0.0000 ; -0.1555 , 0.
|
b) Determine
o modelo linear na forma x’(t)=Ax(t) . Utilize o comando “jacobian” do Matlab que baseia-se
na expansão em série de Taylor truncada na primeira ordem. Dica: É
necessário declarar variáveis simbólicas e depois atribuir valores para as
variáveis.
Exemplo:
%
declaração das variáveis simbólicas
x1=sym('x1'); x2=sym('x2');x3=sym('x3'); x4=sym('x4');
%
conjunto de equações não lineares – x(ponto)=f(x
F = [-0.5.*x1.^2 + 0.5.*x2.^2 - 0.2;
-20*sin(x1) - 0.45*x2;
-1*x2^2 + 0.2*x4;
-175*sin(x3) - 0.6*x4];
X=[x1,x2,x3, x4];
FX=jacobian(F,X);
%
atribuição de valores para as variáveis
x1=x(1);
x2=x(2); x3=x(3); x4=x(4);
A=subs(FX);
|
A =
0.0142
0.6326 0 0
-19.9980
-0.4500 0 0
0
-1.2652 0 0.2000
0 0 -174.9959 -0.6000
|
c) Calcule os
autovalores referentes ao modelo linear obtido e diga se o sistema é estável ou
instável.
As raízes características são os
autovalores da matriz.
|
eig(A)
-0.2179 +
3.5492i ; -0.2179 - 3.5492i ; -0.3000 + 5.9084i ; -0.3000 - 5.9084i
|
O sistema é estável. Pois, se todo
autovalor real de A é negativo e
todo autovalor complexo de A tem
parte real negativa, então x = 0 é
um ponto de equilíbrio assintoticamente estável: toda solução tende a zero
quando t ® ¥.
|
d) Faça uma
simulação baseada no modelo linear considerando uma perturbação de +10% na
variável de estado x2 (ou seja, Δx 2(0) = x2(0)*0,1). Para
implementar a simulação linear use o comando “initial” do Matlab.
A =[ 0.0142
0.6326 0 0
-19.9980 -0.4500 0 0
0 -1.2652 0
0.2000
0 0 -174.9959 -0.6000];
x0=[1 1.1 1 1]; % vetor
de condição inicial
% Pertubação de 10% em x2
% Matriz B= [1 0 0 0
% C=
0 1 0 0
% D=
0 0 1 0
% E=
0 0 0 1]
B=[1 0 0 0];
% como é malha aberta
subplot(2,2,1);
%
controle de impressão da figura.(numero de linhas,numero de colunas,Primeira
Posição para o grafico Grafico)
sys = ss(A,[],B,[]);
initial(sys,x0)
legend('L -x1
(Perterbação em x2=10%)',1);
title('Perturbação
em x2');
xlabel('Tempo(s)');
ylabel('Amplitude');
subplot(2,2,2);%
controle de impressão da figura.(numero de linhas,numero de colunas, Segunda
Posição para o grafico Grafico)
C=[0 1 0 0];
sys = ss(A,[],C,[]);
initial(sys,x0)
legend('L -x2
(Perterbação em x2=10%)',1);
title('Perturbação
em x2');
xlabel('Tempo(s)');
ylabel('Amplitude');
subplot(2,2,3);%
controle de impressão da figura.(numero de linhas,numero de colunas,Terceira
Posição para o grafico Grafico)
D=[0 0 1 0];
sys = ss(A,[],D,[]);
initial(sys,x0)
legend('L -x3
(Perterbação em x2=10%)',1);
title('Perturbação
em x2');
xlabel('Tempo(s)');
ylabel('Amplitude');
subplot(2,2,4);
%
% controle de impressão da figura.(numero de linhas,numero de colunas, Quarta
Posição para o grafico Grafico)
E=[0 0 0 1];
sys =
ss(A,[],E,[]);
initial(sys,x0)
legend('L -x4
(Perterbação em x2=10%)',1);
title('Perturbação
em x2');
xlabel('Tempo(s)');
ylabel('Amplitude');
|
|
|
|
|
e) Faça uma
simulação não linear considerando uma perturbação de +10% na variável de estado
x2 (ou seja, x2inicial (0) = x
(0)*1,1
).
Para implementar a simulação use o comando ODE45 do Matlab que utiliza o método
de Runge-Kutta de integração numérica. Dica: As equações ficam em um
arquivo e o comando “ode45” em outro arquivo distinto. Exemplo:
Arquivo
1:
TSPAN=[0
10.0];
Y0=[x0(1)
x0(2) ]; % Condições iniciais
[ta,ya]=ODE45('arquivo2',TSPAN,Y0,[],T1,T2);
% função que resolve as equações
figure(1)
plot(ta,ya(:,1)); % “Plota” a variável x1
legend('xxxx',1);
title('xxxx')
xlabel('tempo
[s]')
ylabel('xxx
[yy]')
|
Arquivo 2:
function arquivo2 = odefile(t,y,options,T1,T2);
Arquivo2(1,1)=
-inv(T1)*y(2) +y(1); % Equações diferenciais
Arquivo2(2,1)=
T2*arquivo2(1,1) + y(2); % Equações diferenciais
|
function principal
clear all;
clc;
TSPAN=[0
15.0]; % tempo de simulaçao
XX0=[1 1.1 1
1]; % Condições iniciais com 60% em x2
options =
odeset('Abstol',1e-6,'Reltol',1e-6);% erro relativo e erro absoluto
[ta,ya]=ode45('arquivo7',TSPAN,XX0,[]);
%
função que resolve as equações
subplot(2,2,1)
plot(ta,ya(:,1)); %
“Plota” a variável x1
legend(' x1
(Perturbação em x2 de 10%',1);
title('Perturbação
em x2');
xlabel('Tempo [s]');
ylabel('Amplitude');
subplot(2,2,2)
plot(ta,ya(:,2)); %
“Plota” a variável x1
legend(' x2
(Perturbação em x2 de 10%',1);
title('Perturbação
em x2');
xlabel('Tempo [s]');
ylabel('Amplitude');
subplot(2,2,3)
plot(ta,ya(:,3)); %
“Plota” a variável x1
legend(' x3
(Perturbação em x2 de 60%',1);
title('Perturbação
em x2');
xlabel('Tempo [s]');
ylabel('Amplitude');
subplot(2,2,4)
plot(ta,ya(:,4)); %
“Plota” a variável x4
legend(' x4
(Perturbação em x2 de 10%',1);
title('Perturbação
em x2');
xlabel('Tempo [s]');
ylabel('Amplitude');
|
|
|
|
|
f) Compare a resposta
linear com a resposta não linear das variáveis x2 e x3 para uma perturbação de
+10% e outra de +60% na variável x2.
Perturbação de + 10% na Variável X2
|
|
Resposta
Linear
|
Resposta
Não Linear
|
|
|
Observando os gráficos
da variável X2, a resposta linear e da resposta não linear para uma
perturbação de +10% na variável X2, conclui-se que a resposta não linear
estabiliza em um tempo menor que a resposta linear, porem a resposta não
linear atinge maior amplitude que a resposta linear.
|
|
|
|
Observando os gráficos da variável X3,
da resposta linear e da resposta não linear para uma perturbação de +10% na
variável X2, conclui-se que a resposta não linear decai significativamente
estabilizando neste valor negativo em um curto espaço de tempo. Já a resposta
linear tem uma pequena oscilação e em poucos segundos estabiliza.
|
Perturbação de + 60% na Variável X2
|
|
Resposta
Linear
|
Resposta
Não Linear
|
|
|
Observando os gráficos da variável X2, a
resposta linear e da resposta não linear para uma perturbação de +60% na
variável X2, conclui-se que a resposta não linear estabiliza em um tempo
menor que a resposta linear, porem a resposta não linear atinge maior
amplitude que a resposta linear.
|
|
|
|
Observando os gráficos da variável X3,
da resposta linear e da resposta não linear para uma perturbação de +60% na
variável X2, conclui-se que a resposta não linear decai significativamente
estabilizando neste valor negativo em um curto espaço de tempo. Já a resposta
linear tem uma pequena oscilação e em poucos segundos estabiliza.
|
Modelo na forma de
espaço de estados a ser usado no exercício 10:
X’(1) (t)=0,5x1^2(t) - 0,1x2 (t)
- 0,2
X’(2) (t )= - 9 sen ( x1 (t )) - 0,3 x2 (t )
X’(3) (t
)= - 1x2 ^2 (t ) + 0,2 x4 (t
)
X’(4) (t
)= - 1 7 5 s e n ( x3 (t )) - 0
,6 x4 (t )
Obs. 1: Nas simulações no domínio do
tempo, gere os gráficos apenas das variáveis x2(t) e x3(t) para o intervalo de
tempo de 0 a 15 segundos.
Nenhum comentário:
Postar um comentário