Upload
allan-magno-costa-teixeira
View
5
Download
1
Embed Size (px)
DESCRIPTION
Atividade Prática Supervisionada da disciplina de Dinâmica E Controle De Sistemas Elétricos De Potência.
Citation preview
PATO BRANCO
2015
UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN
CURSO DE ENGENHARIA ELTRICA
ALLAN MAGNO COSTA TEIXEIRA
ATIVIDADE PRTICA SUPERVISIONADA I
ATIVIDADE PRTICA SUPERVISIONADA
PATO BRANCO
2015
ALLAN MAGNO COSTA TEIXEIRA
ATIVIDADE PRTICA SUPERVISIONADA I
Atividade Prtica Supervisionada I
apresentada disciplina de Dinmica e
Controle de Sistemas de Potncia do
programa de Graduao em Engenharia
Eltrica da Universidade Tecnolgica Federal
do Paran, Cmpus Pato Branco-PR.
Orientador: Prof. Dr. Ricardo Vasques de
Oliveira
SUMRIO
1 PARA O SISTEMA DINMICO DESCRITO PELO MODELO NO LINEAR DE
QUARTA ORDEM: ................................................................................................................. 3 1.1 DETERMINE O PONTO DE EQUILBRIO DO SISTEMA. UTILIZE A FUNO
fsolve DO MATLAB QUE BASEIA-SE NO MTODO DE NEWTON HAPHSON. ......... 3 1.2 DETERMINE O MODELO LINEAR NA FORMA = . UTILIZE O COMANDO jacobian DO MATLAB QUE BASEIA-SE NA EXPANSO EM SRIE DE TAYLOR TRUNCADA NA PRIMEIRA ORDEM. ................................................................. 5
1.3 CALCULE OS AUTOVALORES REFERENTES AO MODELO LINEAR OBTIDO E
DIGA SE O SISTEMA ESTVEL OU INSTVEL. ............................................................ 6
1.4 FAA UMA SIMULAO BASEADA NO MODELO LINEAR CONSIDERANDO
UMA PERTURBAO DE +10% NA VARIVEL DE ESTADO 2 (OU SEJA, 20 =20 1,1). PARA IMPLEMENTAR A SIMULAO LINEAR USE O COMANDO initial DO MATLAB. OBTENHA A RESPOSTA NO TEMPO PARA TODAS AS VARIVEIS DE
ESTADO. ................................................................................................................................... 8
1.5 FAA UMA SIMULAO NO LINEAR CONSIDERANDO UMA PERTURBAO
DE +10% NA VARIVEL DE ESTADO 2 (OU SEJA, 20 = 20 1,1). PARA IMPLEMENTAR A SIMULAO USE O COMANDO ode45 DO MATLAB QUE UTILIZA O MTODO DE RUNGE-KUTTA DE INTEGRAO NUMRICA. .................. 9
1.6 COMPARE A RESPOSTA LINEAR COM A RESPOSTA NO LINEAR DAS
VARIVEIS 1, 2, 3 E 4 PARA UMA PERTURBAO DE +10% E OUTRA DE +60% NA VARIVEL 2. ................................................................................................................. 11 2 ANEXO ................................................................................................................................. 15
3
1 PARA O SISTEMA DINMICO DESCRITO PELO MODELO NO LINEAR DE
QUARTA ORDEM:
Modelo na forma de espao de estados a ser usado no exerccio:
() = 0,5 22() + 0,5 2() 0,2
() = (1()) 2()
() = 1 22() + 0,2 4()
() = 175 (3()) 0,6 4()
Parmetros a serem utilizados nas equaes diferenciais no lineares.
Tabela 1 - Parmetros a serem utilizados
Valor do Parmetro A Valor do Parmetro B
36 0,20
Obs. 1: Nas simulaes no domnio do tempo, gere os grficos das variveis
1(), 2(), 3() 4() para o intervalo de tempo de 0 a 15 segundos. Coloque a resposta
do modelo no linear no mesmo grfico da resposta do modelo linear.
Obs. 2: Cada aluno deve utilizar o valor especificado para os parmetros A e B,
de acordo com a Tabela 1.
1.1 DETERMINE O PONTO DE EQUILBRIO DO SISTEMA. UTILIZE A FUNO
fsolve DO MATLAB QUE BASEIA-SE NO MTODO DE NEWTON HAPHSON.
Arquivo 1 mod_linear.m
function f_linear = mod_linear(x, par_A, par_B)
Modelo na forma de espao de estados
f_linear(1,1) = 0.5*((x(1))^2)+0.5*x(2)-0.2; % der_x1
f_linear(2,1) = -par_A*sin(x(1))-par_B*x(2); % der_x2
f_linear(3,1) = -1*((x(2))^2)+0.2*x(4); % der_x3
f_linear(4,1) = -175*sin(x(3))-0.6*x(4); % der_x4
end
4
Arquivo 2 APS1.m
Parmetros a serem utilizados nas equaes diferenciais no lineares
par_A = 36.00; % Valor do Parmetro A
par_B = 0.20; % Valor do Parmetro B
Intervalo (em segundos) para simulao no domnio do tempo
tsim = 15; % Simulao para o intervalo de tempo de 0 a 15 segundos.
1) Para o sistema dinmico descrito pelo modelo no linear de quarta ordem:
% a) Determine o ponto de equilbrio do sistema. Utilize a funo
% fsolve do Matlab que baseiase no mtodo de Newton Haphson. Dica: As
% equaes ficam em um arquivo e o comando fsolve em outro arquivo
% distinto.
x0 = [1; 1; 1; 1]; % Codies iniciais
options = optimset('Display', 'iter'); % Opo da sada
[x, fval] = fsolve(@mod_linear, x0, options, par_A, par_B); % Chamando a funo
% Apresentao dos resultados da letra a)
disp('a)');
disp('==========================================');
disp('Ponto de Equilbrio: ');
disp('x =');
disp(x);
disp('fval =');
disp(fval);
disp('==========================================');
disp(' ');
Valores e dados apresentados pelo programa de simulao, com base no cdigo
descrito:
Norm of First-order Trust-
region
Iteration Func-count f(x) step optimality radius
0 5 22792.9 1.4e+04 1
1 10 880.333 1 615 1
2 15 361.577 2.5 1.83e+03 2.5
3 20 1.51247 3.01413 42.7 6.25
4 25 0.0029097 0.236083 0.0437 7.54
5 30 1.93244e-12 0.264968 2.71e-05 7.54
6 35 1.29848e-28 6.9071e-06 1.78e-12 7.54
Equation solved.
a)
==========================================
Ponto de Equilbrio:
x =
5
-0.0022
0.4000
-0.0027
0.8000
fval =
1.0e-13 *
0
0
0.0516
0.1016
==========================================
1.2 DETERMINE O MODELO LINEAR NA FORMA () = (). UTILIZE O
COMANDO jacobian DO MATLAB QUE BASEIA-SE NA EXPANSO EM SRIE
DE TAYLOR TRUNCADA NA PRIMEIRA ORDEM.
% b) Determine o modelo linear na forma x'(t)= Ax(t). Utilize o comando
% jacobian do matlab que baseia-se na expanso em srie de taylor truncada
% na primeira ordem. Dica: necessrio declarar variveis simblicas e
% depois atribuir valores para as variveis.
% Declarao das variveis simblicas
x1 = sym('x1');
x2 = sym('x2');
x3 = sym('x3');
x4 = sym('x4');
X = [x1 x2 x3 x4]; % Coloca as variaveis em um nico vetor
% Conjunto de equaes no lineares x(ponto)=f(x)
F(1,1) = 0.5*((x1)^2)+0.5*x2-0.2; % der_x1
F(2,1) = -par_A*sin(x1)-par_B*x2; % der_x2
F(3,1) = -1*((x2)^2)+0.2*x4; % der_x3
F(4,1) = -175*sin(x3)-0.6*x4; % der_x4
FX = jacobian(F,X); % Clculo do jacobiano, atravs do comando do
% MATLAB "jacobian"
% Atribuio de valores do ponto de equilbrio para as variveis
x1 = x(1);
x2 = x(2);
x3 = x(3);
x4 = x(4);
% Clculo da matriz A
A = subs(FX); % Substitui o valor das variveis x1, x2, x3 e x4
% na matriz FX para determinar a matriz A
A = eval(A); % Executa a string com comandos
6
% Apresentao dos resultados da letra b)
disp('b)');
disp('==========================================');
disp('Modelo linear na forma x''(t) = A*x(t): ');
disp(' ');
% Utiliza-se o comando "mat2str" para apresentar os elementos da
% matriz, com 4 algarismos siginificativos depois da vrgula
D1 = [' |', mat2str(A(1,1),4),' ' mat2str(A(1,2),3),' '
mat2str(A(1,3),3),' ' mat2str(A(1,4),3),'|'];
D2 = ['x''(t) = |', mat2str(A(2,1),4),' ', mat2str(A(2,2),3),' ',
mat2str(A(2,3),3),' ',mat2str(A(2,4),3),'|*x(t)'];
D3 = [' |', mat2str(A(3,1),4),' ' mat2str(A(3,2),3),' '
mat2str(A(3,3),3),' ' mat2str(A(3,4),3),'|'];
D4 = [' |', mat2str(A(4,1),4),' ' mat2str(A(4,2),3),' '
mat2str(A(4,3),3),' ' mat2str(A(4,4),3),'|'];
disp(D1);
disp(D2);
disp(D3);
disp(D4);
disp('==========================================');
disp(' ');
Valores e dados apresentados pelo programa de simulao, com base no cdigo
descrito:
b)
==========================================
Modelo linear na forma x'(t) = A*x(t):
|-0.002222 0.5 0 0|
x'(t) = |-36 -0.2 0 0|*x(t)
|0 -0.8 0 0.2|
|0 0 -175 -0.6|
==========================================
1.3 CALCULE OS AUTOVALORES REFERENTES AO MODELO LINEAR OBTIDO E
DIGA SE O SISTEMA ESTVEL OU INSTVEL.
% c) Calcule os autovalores referentes ao modelo linear obtido e diga
% se o sistema estvel ou instvel.
% Comando para determinar as razes caractersticas, as quais so
% os autovalores da matriz A
aut_val = eig(A);
% Anlise da estabilidade do sistema, utilizando-se da teoria de
% controle, a qual diz que, se as razes encontram-se do lado
% esquerdo do eixo real do plano complexo (parte real negativa), o
% sistema estvel, caso contrrio, o sistema instavel.
7
if (real(aut_val(:,1))
8
1.4 FAA UMA SIMULAO BASEADA NO MODELO LINEAR CONSIDERANDO
UMA PERTURBAO DE +10% NA VARIVEL DE ESTADO 2 (OU SEJA,
2(0) = 2(0) 1,1). PARA IMPLEMENTAR A SIMULAO LINEAR USE O
COMANDO initial DO MATLAB. OBTENHA A RESPOSTA NO TEMPO PARA
TODAS AS VARIVEIS DE ESTADO.
% d) Faa uma simulao baseada no modelo linear considerando uma
% perturbao de +10% na varivel de estado x2 (ou seja,
% Dx2(0) = x2(0)*0,1). Para implementar a simulao linear use o
% comando initial do Matlab. Obtenha a resposta no tempo para todas as
% variveis de estado.
pert = 10; % Valor percentual da pertubao na varivel de estado x2
x0_lin = [0, (x2*(pert/100)), 0, 0]; % Aplicando pertubao de
% 10% na varivel de estado
% x2, a qual encontra-se
% centralizada em zero.
figure(1) % Cria a caixa de figura numero 2, para plotagem da
% simulao linear
hold on
% Trecho de cdigo responsvel por fazer a apresentao dos
% grficos das variveis x1(t), x2(t), x3(t) e x4(t), atravs de
% uma estrutura de repetio, com um contador "i", o qual ir
% varrer as quatro variveis.
for i=1:4
C = [0 0 0 0]; % Limpa a varivel C
C(1,i) = 1; % Atribui um para o i_ezimo elemento de C
sys = ss(A,[],C,[]); % Converter a funo para espaos de
% estados
subplot(2,2,i); % Cria uma estrutura de plotagem com duas
% colunas e duas linhas, e ativa a plotagem
% para o i_ezimo grfico
initial(sys,x0_lin,tsim); % Plota a simulao linear da
% varivel de espao de estados xi,
% com um tempo limite para a
% plotagem, de "tsim" (neste caso
% 15 segundos)
% Configurao das informaes dos grficos
[object_h,text_strings] = legend(['Modelo Linear (Pertubao de ',
num2str(pert),'% em x2)']);
title(['Resposta da varivel x', num2str(i),'(t)']);
xlabel('Tempo');
ylabel('Amplitude');
grid on
9
end
Apresentao dos grficos das variveis 1(), 2(), 3() 4(), obtidos
pelo programa de simulao, com base no cdigo descrito:
1.5 FAA UMA SIMULAO NO LINEAR CONSIDERANDO UMA
PERTURBAO DE +10% NA VARIVEL DE ESTADO 2 (OU SEJA, 2(0) =
2(0) 1,1). PARA IMPLEMENTAR A SIMULAO USE O COMANDO ode45
DO MATLAB QUE UTILIZA O MTODO DE RUNGE-KUTTA DE INTEGRAO
NUMRICA.
Arquivo 3 mod_nao_linear.m
function f_nao_linear = mod_nao_linear(t, x)
Parmetros a serem utilizados nas equaes diferenciais no lineares
par_A = 36.00; % Valor do Parmetro A
par_B = 0.20; % Valor do Parmetro B
Modelo na forma de espao de estados
10
f_nao_linear(1,1) = 0.5*((x(1))^2)+0.5*x(2)-0.2; % der_x1
f_nao_linear(2,1) = -par_A*sin(x(1))-par_B*x(2); % der_x2
f_nao_linear(3,1) = -1*((x(2))^2)+0.2*x(4); % der_x3
f_nao_linear(4,1) = -175*sin(x(3))-0.6*x(4); % der_x4
end
Arquivo 2 APS1.m
% e) Faa uma simulao no linear considerando uma perturbao de +10%
% na varivel de estado x2 (ou seja, x2_inicial(0) = x2(0)*1,1).
% Para implementar a simulao use o comando ODE45 do Matlab que
% utiliza o mtodo de Runge-Kutta de integrao numrica. Dica: As
% equaes ficam em um arquivo e o comando ode45 em outro arquivo
% distinto.
intervalo_integracao = [0 tsim]; % Atribui o intervalo de
% simulao a um vetor, com
% inico e final da plotagem,
% sendo de 0 at 15 segundos.
y0 = [x1, x2*(1+pert/100), x3, x4]; % Aplicando pertubao de mais
% 10% na varivel de estado x2.
% Resoluo das equaes no lineares do arquivo "mod_nao_linear",
% utilizando o comando "ode45" do MATLAB
[ta, ya] = ode45('mod_nao_linear', intervalo_integracao, y0,[]);
figure(2) % Cria a caixa de figura numero 2, para plotagem da
% simulao no linear
hold on
% Trecho de cdigo responsvel por fazer a apresentao dos
% grficos das variveis x1(t), x2(t), x3(t) e x4(t), atravs de
% uma estrutura de repetio, com um contador "i", o qual ir
% varrer as quatro variveis.
for i=1:4
subplot(2,2,i); % Cria uma estrutura de plotagem com duas
% colunas e duas linhas, e ativa a plotagem
% para o i_ezimo grfico
plot(ta, ya(:,i),'red'); % Plota a simulao no linear da
% varivel de espao de estados xi,
% com um tempo limite de 15 segundos
% Configurao das informaes dos grficos
[object_h,text_strings] = legend(['Modelo No Linear (Pertubao de ',
num2str(pert),'% em x2)']);
title(['Resposta da varivel x', num2str(i),'(t)']);
xlabel('Tempo [segundos]');
ylabel('Amplitude');
grid on
end
11
Apresentao dos grficos das variveis 1(), 2(), 3() 4(), obtidos
pelo programa de simulao, com base no cdigo descrito:
1.6 COMPARE A RESPOSTA LINEAR COM A RESPOSTA NO LINEAR DAS
VARIVEIS 1, 2, 3 E 4 PARA UMA PERTURBAO DE +10% E OUTRA DE
+60% NA VARIVEL 2.
% f) Compare a resposta linear com a resposta no linear das variveis
% x1, x2, x3 e x4 para uma perturbao de +10% e outra de +60% na
% varivel x2.
% Lao construido para calcular as duas situaes, considerando 10%
% e 60% de pertubao, respectivamente na primeira e na segunda
% execuo
for k = 1:2
if k == 1
pert = 10; % Valor percentual da pertubao na varivel de
% estado x2 de 10%
else
pert = 60; % Valor percentual da pertubao na varivel de
12
% estado x2 de 60%
end
x0_l = [0;x2*(pert/100);0;0]; % Aplicando pertubao na
% varivel de estado x2, para o
% modelo linear.
y0 = [x1, x2*(1+pert/100), x3, x4]; % Aplicando pertubao na
% varivel de estado x2,
% para o modelo no linear.
intervalo_integracao = [0 tsim]; % Atribui o intervalo de
% simulao a um vetor, com
% inico e final da plotagem,
% sendo de 0 at 15 segundos.
% Resoluo das equaes no lineares do arquivo
% "mod_nao_linear", utilizando o comando "ode45" do MATLAB
[ta, ya] = ode45(@mod_nao_linear, intervalo_integracao, y0,[]);
figure(k+2) % Cria as caixas das figuras de numero 3 e 4, para
% plotagem das simulaes no linear e linear,
% respectivamente, conforme o lao percorrido.
hold on
% Trecho de cdigo responsvel por fazer a apresentao dos
% grficos das variveis x1(t), x2(t), x3(t) e x4(t), atravs de
% uma estrutura de repetio, com um contador "i", o qual ir
% varrer as quatro variveis.
for i=1:4
C = [0 0 0 0]; % Limpa a varivel C
C(1,i) = 1; % Atribui um para o i_ezimo elemento de C
sys = ss(A,[],C,[]); % Converter a funo para espaos de
% estados
subplot(2,2,i); % Cria uma estrutura de plotagem com duas
% colunas e duas linhas, e ativa a plotagem
% para o i_ezimo grfico
initial(sys,x0_l,tsim); % Plota a simulao linear da
% varivel de espao de estados xi,
% com um tempo limite para a
% plotagem, de "tsim" (neste caso
% 15 segundos)
hold on
plot(ta, ya(:,i),'red'); % Plota a simulao no linear da
% varivel de espao de estados
% xi, com um tempo limite de 15
% segundos.
% Configurao das informaes dos grficos
[object_h,text_strings,object_h,text_strings] = legend(['Modelo Linear
(Pertubao de ', num2str(pert),'% em x2)'],['Modelo No Linear (Pertubao de ',
num2str(pert),'% em x2)']);
title(['Resposta da varivel x', num2str(i),'(t)']);
xlabel('Tempo');
ylabel('Amplitude');
grid on
13
end
end
Apresentao dos grficos das variveis 1(), 2(), 3() 4(), obtidos
pelo programa de simulao, com base no cdigo descrito, para uma perturbao de 10%:
Apresentao dos grficos das variveis 1(), 2(), 3() 4(), obtidos
pelo programa de simulao, com base no cdigo descrito, para uma perturbao de 60%:
14
15
2 ANEXO
Apresentao do cdigo na integra.
clear all
clc
Atividade Prtica Supervisionada I
%*******************************************************************%
% Disciplina: DC29EL - Dinmica e Controle de Sistemas de Potncia %
% Nome: Allan Magno Costa Teixeira %
% Professor: Ricardo Vasques de Oliveira %
%*******************************************************************%
Parmetros a serem utilizados nas equaes diferenciais no lineares
par_A = 36.00; % Valor do Parmetro A
par_B = 0.20; % Valor do Parmetro B
Intervalo (em segundos) para simulao no dominido do tempo
tsim = 15; % Simulao para o intervalo de tempo de 0 a 15 segundos.
1) Para o sistema dinmico descrito pelo modelo no linear de quarta ordem:
% a) Determine o ponto de equilbrio do sistema. Utilize a funo
% fsolve do Matlab que baseiase no mtodo de Newton Haphson. Dica: As
% equaes ficam em um arquivo e o comando fsolve em outro arquivo
% distinto.
x0 = [1; 1; 1; 1]; % Codies iniciais
options = optimset('Display', 'iter'); % Opo da sada
[x, fval] = fsolve(@mod_linear, x0, options, par_A, par_B); % Chamando a funo
% Apresentao dos resultados da letra a)
disp('a)');
disp('==========================================');
disp('Ponto de Equilbrio: ');
disp('x =');
disp(x);
disp('fval =');
disp(fval);
disp('==========================================');
disp(' ');
% b) Determine o modelo linear na forma x'(t)= Ax(t). Utilize o comando
% jacobian do matlab que baseia-se na expanso em srie de taylor truncada
% na primeira ordem. Dica: necessrio declarar variveis simblicas e
16
% depois atribuir valores para as variveis.
% Declarao das variveis simblicas
x1 = sym('x1');
x2 = sym('x2');
x3 = sym('x3');
x4 = sym('x4');
X = [x1 x2 x3 x4]; % Coloca as variaveis em um nico vetor
% Conjunto de equaes no lineares x(ponto)=f(x)
F(1,1) = 0.5*((x1)^2)+0.5*x2-0.2; % der_x1
F(2,1) = -par_A*sin(x1)-par_B*x2; % der_x2
F(3,1) = -1*((x2)^2)+0.2*x4; % der_x3
F(4,1) = -175*sin(x3)-0.6*x4; % der_x4
FX = jacobian(F,X); % Clculo do jacobiano, atravs do comando do
% MATLAB "jacobian"
% Atribuio de valores do ponto de equilbrio para as variveis
x1 = x(1);
x2 = x(2);
x3 = x(3);
x4 = x(4);
% Clculo da matriz A
A = subs(FX); % Substitui o valor das variveis x1, x2, x3 e x4
% na matriz FX para determinar a matriz A
A = eval(A); % Executa a string com comandos
% Apresentao dos resultados da letra b)
disp('b)');
disp('==========================================');
disp('Modelo linear na forma x''(t) = A*x(t): ');
disp(' ');
% Utiliza-se o comando "mat2str" para apresentar os elementos da
% matriz, com 4 algarismos siginificativos depois da vrgula
D1 = [' |', mat2str(A(1,1),4),' ' mat2str(A(1,2),3),' '
mat2str(A(1,3),3),' ' mat2str(A(1,4),3),'|'];
D2 = ['x''(t) = |', mat2str(A(2,1),4),' ', mat2str(A(2,2),3),' ',
mat2str(A(2,3),3),' ',mat2str(A(2,4),3),'|*x(t)'];
D3 = [' |', mat2str(A(3,1),4),' ' mat2str(A(3,2),3),' '
mat2str(A(3,3),3),' ' mat2str(A(3,4),3),'|'];
D4 = [' |', mat2str(A(4,1),4),' ' mat2str(A(4,2),3),' '
mat2str(A(4,3),3),' ' mat2str(A(4,4),3),'|'];
disp(D1);
disp(D2);
disp(D3);
disp(D4);
disp('==========================================');
disp(' ');
% c) Calcule os autovalores referentes ao modelo linear obtido e diga
% se o sistema estvel ou instvel.
% Comando para determinar as razes caractersticas, as quais so
% os autovalores da matriz A
aut_val = eig(A);
17
% Anlise da estabilidade do sistema, utilizando-se da teoria de
% controle, a qual diz que, se as razes encontram-se do lado
% esquerdo do eixo real do plano complexo (parte real negativa), o
% sistema estvel, caso contrrio, o sistema instavel.
if (real(aut_val(:,1))
18
C = [0 0 0 0]; % Limpa a varivel C
C(1,i) = 1; % Atribui um para o i_ezimo elemento de C
sys = ss(A,[],C,[]); % Converter a funo para espaos de
% estados
subplot(2,2,i); % Cria uma estrutura de plotagem com duas
% colunas e duas linhas, e ativa a plotagem
% para o i_ezimo grfico
initial(sys,x0_lin,tsim); % Plota a simulao linear da
% varivel de espao de estados xi,
% com um tempo limite para a
% plotagem, de "tsim" (neste caso
% 15 segundos)
% Configurao das informaes dos grficos
[object_h,text_strings] = legend(['Modelo Linear (Pertubao de ',
num2str(pert),'% em x2)']);
title(['Resposta da varivel x', num2str(i),'(t)']);
xlabel('Tempo');
ylabel('Amplitude');
grid on
end
% e) Faa uma simulao no linear considerando uma perturbao de +10%
% na varivel de estado x2 (ou seja, x2_inicial(0) = x2(0)*1,1).
% Para implementar a simulao use o comando ODE45 do Matlab que
% utiliza o mtodo de Runge-Kutta de integrao numrica. Dica: As
% equaes ficam em um arquivo e o comando ode45 em outro arquivo
% distinto.
intervalo_integracao = [0 tsim]; % Atribui o intervalo de
% simulao a um vetor, com
% inico e final da plotagem,
% sendo de 0 at 15 segundos.
y0 = [x1, x2*(1+pert/100), x3, x4]; % Aplicando pertubao de mais
% 10% na varivel de estado x2.
% Resoluo das equaes no lineares do arquivo "mod_nao_linear",
% utilizando o comando "ode45" do MATLAB
[ta, ya] = ode45('mod_nao_linear', intervalo_integracao, y0,[]);
figure(2) % Cria a caixa de figura numero 2, para plotagem da
% simulao no linear
hold on
% Trecho de cdigo responsvel por fazer a apresentao dos
% grficos das variveis x1(t), x2(t), x3(t) e x4(t), atravs de
% uma estrutura de repetio, com um contador "i", o qual ir
% varrer as quatro variveis.
for i=1:4
subplot(2,2,i); % Cria uma estrutura de plotagem com duas
% colunas e duas linhas, e ativa a plotagem
% para o i_ezimo grfico
plot(ta, ya(:,i),'red'); % Plota a simulao no linear da
% varivel de espao de estados xi,
19
% com um tempo limite de 15 segundos
% Configurao das informaes dos grficos
[object_h,text_strings] = legend(['Modelo No Linear (Pertubao de ',
num2str(pert),'% em x2)']);
title(['Resposta da varivel x', num2str(i),'(t)']);
xlabel('Tempo [segundos]');
ylabel('Amplitude');
grid on
end
% f) Compare a resposta linear com a resposta no linear das variveis
% x1, x2, x3 e x4 para uma perturbao de +10% e outra de +60% na
% varivel x2.
% Lao construido para calcular as duas situaes, considerando 10%
% e 60% de pertubao, respectivamente na primeira e na segunda
% execuo
for k = 1:2
if k == 1
pert = 10; % Valor percentual da pertubao na varivel de
% estado x2 de 10%
else
pert = 60; % Valor percentual da pertubao na varivel de
% estado x2 de 60%
end
x0_l = [0;x2*(pert/100);0;0]; % Aplicando pertubao na
% varivel de estado x2, para o
% modelo linear.
y0 = [x1, x2*(1+pert/100), x3, x4]; % Aplicando pertubao na
% varivel de estado x2,
% para o modelo no linear.
intervalo_integracao = [0 tsim]; % Atribui o intervalo de
% simulao a um vetor, com
% inico e final da plotagem,
% sendo de 0 at 15 segundos.
% Resoluo das equaes no lineares do arquivo
% "mod_nao_linear", utilizando o comando "ode45" do MATLAB
[ta, ya] = ode45(@mod_nao_linear, intervalo_integracao, y0,[]);
figure(k+2) % Cria as caixas das figuras de numero 3 e 4, para
% plotagem das simulaes no linear e linear,
% respectivamente, conforme o lao percorrido.
hold on
% Trecho de cdigo responsvel por fazer a apresentao dos
% grficos das variveis x1(t), x2(t), x3(t) e x4(t), atravs de
% uma estrutura de repetio, com um contador "i", o qual ir
% varrer as quatro variveis.
20
for i=1:4
C = [0 0 0 0]; % Limpa a varivel C
C(1,i) = 1; % Atribui um para o i_ezimo elemento de C
sys = ss(A,[],C,[]); % Converter a funo para espaos de
% estados
subplot(2,2,i); % Cria uma estrutura de plotagem com duas
% colunas e duas linhas, e ativa a plotagem
% para o i_ezimo grfico
initial(sys,x0_l,tsim); % Plota a simulao linear da
% varivel de espao de estados xi,
% com um tempo limite para a
% plotagem, de "tsim" (neste caso
% 15 segundos)
hold on
plot(ta, ya(:,i),'red'); % Plota a simulao no linear da
% varivel de espao de estados
% xi, com um tempo limite de 15
% segundos.
% Configurao das informaes dos grficos
[object_h,text_strings,object_h,text_strings] = legend(['Modelo Linear
(Pertubao de ', num2str(pert),'% em x2)'],['Modelo No Linear (Pertubao de ',
num2str(pert),'% em x2)']);
title(['Resposta da varivel x', num2str(i),'(t)']);
xlabel('Tempo');
ylabel('Amplitude');
grid on
end
end
1 PARA O SISTEMA DINMICO DESCRITO PELO MODELO NO LINEAR DE QUARTA ORDEM:1.1 DETERMINE O PONTO DE EQUILBRIO DO SISTEMA. UTILIZE A FUNO fsolve DO MATLAB QUE BASEIA-SE NO MTODO DE NEWTON HAPHSON.1.2 DETERMINE O MODELO LINEAR NA FORMA ,.,.= ,.. UTILIZE O COMANDO jacobian DO MATLAB QUE BASEIA-SE NA EXPANSO EM SRIE DE TAYLOR TRUNCADA NA PRIMEIRA ORDEM.1.3 CALCULE OS AUTOVALORES REFERENTES AO MODELO LINEAR OBTIDO E DIGA SE O SISTEMA ESTVEL OU INSTVEL.1.4 FAA UMA SIMULAO BASEADA NO MODELO LINEAR CONSIDERANDO UMA PERTURBAO DE +10% NA VARIVEL DE ESTADO ,-2. (OU SEJA, ,-2.,0.=,-2.,0.1,1). PARA IMPLEMENTAR A SIMULAO LINEAR USE O COMANDO initial DO MATLAB. OBTENHA A RESPOSTA NO TEMPO P...1.5 FAA UMA SIMULAO NO LINEAR CONSIDERANDO UMA PERTURBAO DE +10% NA VARIVEL DE ESTADO ,-2. (OU SEJA, ,-2-.,0.=,-2.,0.1,1). PARA IMPLEMENTAR A SIMULAO USE O COMANDO ode45 DO MATLAB QUE UTILIZA O MTODO DE RUNGE-KUTTA DE ...1.6 COMPARE A RESPOSTA LINEAR COM A RESPOSTA NO LINEAR DAS VARIVEIS ,-1., ,-2., ,-3. E ,-4. PARA UMA PERTURBAO DE +10% E OUTRA DE +60% NA VARIVEL ,-2..
2 ANEXO