Escolar Documentos
Profissional Documentos
Cultura Documentos
d 2 x dx + +x=0 dt dt 2
Equao 1: Exemplo de equao diferencial de um sistema de segunda ordem
O objectivo deste trabalho consiste na representao das solues de uma equao diferencial de segunda ordem no Plano de Fase. Uma equao deste tipo pode ser escrita como:
d 2x dx + f x, = 0 2 dt dt d 2x dx = f x, 2 dt dt
Fazendo:
x1 = x dx dx x2 = x2 = 1 dt dt
Equao 3: Escolha das variveis para representao no Plano de Fase
dx1 = x2 dt dx 2 = f ( x1 , x 2 ) dt
Equao 4: Forma alternativa (variveis de fase) da equao diferencial para representao no Plano de Fase
Considerando agora a equao 1 (exemplo que pretendemos representar no Plano de Fase), e colocando-a na forma apresentada na equao 4, obtm-se o seguinte sistema de duas equaes diferenciais de primeira ordem:
dx1 = x2 dt dx 2 = x1 x 2 dt
Equao 5: Forma alternativa (variveis de fase) do exemplo a representar no Plano de Fase
e) Comece a introduzir o cdigo que lhe vai sendo dado (poder introduzir comentrios no seu M-File, para o que dever iniciar os comentrios pelo caracter %). 3. O primeiro passo da escrita de um M-File dever passar pela definio de um cabealho que indique claramente a que se refere o ficheiro em questo. Como exemplo, apresentase o seguinte cdigo:
4. O primeiro M-File a implementar, servir para definir as variveis de fase da equao diferencial a representar no Plano de Fase (ver equao 5). a) Este M-File ser chamado recursivamente pela funo ode45 (que analisaremos frente), ao longo da execuo do programa de clculo das trajectrias no Plano de Fase, e servir para efectuar os vrios clculos necessrios determinao de dx1/dt e dx2/dt. b) As variveis de fase tm que ser definidas num vector coluna (no nosso caso chamado dx) em que a primeira linha corresponde definio da expresso da varivel dx1/dt e a segunda linha definio da expresso da varivel dx2/dt. c) Este M-File foi implementado com a estrutura de uma funo do MATLAB. A esta funo so passados dois vectores, o vector x e o vector t. O primeiro destes vectores contm os valores de dx1/dt e dx2/dt, e o segundo vector contm o instante de tempo no qual estes valores foram calculados. A funo retorna o vector dx que contm os valores de dx1/dt e dx2/dt calculados nessa iterao. d) de realar que o vector dx no contm os valores de dx1/dt e dx2/dt, mas sim os valores calculados em cada iterao, sendo os valores de dx1/dt e dx2/dt armazenados no vector x. e) Sempre que se torne necessrio representar no Plano de Fase uma nova equao, este o nico M-File que necessrio alterar. f) Aps terminar a introduo do cdigo grave o M-File, de forma a ser possvel voltar a carreg-lo sempre que necessrio. Para isso seleccione a opo "Save As..." do menu "File" da janela do Editor do MATLAB e guarde o seu M-file com o nome caso1.m.
5. Crie um novo M-File. a) Neste M-File vai ser implementado o cdigo para se efectuarem os clculos necessrios representao da equao 1, no Plano de Fase. 6. Depois de introduzir o cabealho do ficheiro, devero ser definidas as constantes e/ou os parmetros a serem utilizadas (ver figura 4). a) Em primeiro lugar, comea por se efectuar a limpeza da memria do MATLAB e a da janela de grficos, aps o que se define e inicializa a varivel auxiliar aux com o valor 1. b) De seguida inicializa-se a varivel dt que corresponde ao incremento temporal entre cada iterao durante o clculo dos integrais de x1 e x2 pelo mtodo de Runge-Kutta. Por sua vez o parmetro t_max corresponde ao mximo tempo durante o qual vamos analisar a evoluo das trajectrias no Plano de Fase (neste caso t_max= 6 seg). c) Aps isto define-se e inicializa-se o vector que vai conter os instantes de tempo nos quais vo ser calculados os valores dos integrais (vector_t), atravs de um ciclo for. d) Em seguida define-se o parmetro n que indica o nmero de condies iniciais das trajectrias a considerar, para a representao no Plano de Fase. e) A definio dos parmetros conclui-se com a introduo dos valores mximos que as trajectrias podem apresentar no Plano de Fase, x_max e Dx_max, correspondendo respectivamente aos valores mximos de x1 e x2.
%------------------------------------------------------------------% % M-File para traar as trajectrias no Plano de Fase % de Equacoes diferenciais de segunda ordem % Dezembro de 1999 % Manuel Silva, Tenreiro Machado %
7. Chegados a esta fase devem-se calcular os valores iniciais das trajectrias. a) Para este efeito os pontos iniciais da trajectria vo ser calculados de acordo com as equaes que se apresentam na figura 5, de forma a que fiquem igualmente distribudos na janela em que viro a ser apresentados os resultados.
%------------------------------------------------------------------% %Desenho da equao diferencial no Plano de Fase % %------------------------------------------------------------------%Inicializacao da posicao e da velocidade: Condicoes iniciais for i = 1:n, for j = 1:n, %Posicao inicial na grelha x1=(i-(n+1)/2)*x_max/n; %Velocidade inicial na grelha x2=(j-(n+1)/2)*Dx_max/n; %vector inicial x0=[x1;x2]; Figura 5: Cdigo correspondente definio das condies iniciais
8. Estamos agora em condies de iniciar a integrao das variveis de fase (ver equao 5), atravs do mctodo de Runge-Kutta. Esta integrao efectuada recorrendo ao comando ode45 do MATLAB.
a) Este comando aceita como entradas o nome do M-File onde se encontram definidas as equaes a integrar, o vector de instantes de tempo nos quais vo ser calculados os integrais e as condies inicias. b) sada, o comando ode45 retorna dois vectores, um com os resultados da integrao (vector x) e outro com os correspondentes instantes de tempo (vector t) em que foram determinados os valores dos integrais. c) Os resultados de x(1) e x(2) so guardados, respectivamente, na primeira e segunda colunas do vector x.
%----------------------------------------------------------------% %Integrao das equaes diferenciais pelo mtodo de Runge Kutta 4(5) % %----------------------------------------------------------------[t,x]=ode45('caso1',vector_t,x0);
Figura 6: Cdigo correspondente integrao das equaes diferenciais de primeira ordem pelo mtodo de Runge Kutta 4(5)
9. Quando o clculo de uma trajectria est completa, esta representada. a) So tambm representados os eixos do grfico e as respectivas legendas, como se pode observar do cdigo apresentado na figura 7.
% %Representao das trajectrias no plano de fase % if (aux == 1) plot(x(:,1),x(:,2)) hold on aux=2; else plot(x(:,1),x(:,2)) end end %ciclo j end %ciclo i hold off
10. Grave o M-File com o nome plano_de_fase. a) O cdigo completo para a representao das solues desta equao no Plano de Fase (correspondente ao M-File plano_de_fase) apresentado em anexo (ver Anexo 1). 11. Para executar o M-File plano_de_fase, dever executar o seguinte comando no prompt do MATLAB: a) >plano_de_fase; b) As trajectrias correspondentes soluo da equao 1 no Plano de Fase so as apresentadas na figura 8 (o ponto singular, cujas coordenadas so (0, 0) corresponde a um foco estvel, com valores prprios 1,2= 1 j 3 ).
2 2
12. Vejamos agora o procedimento necessrio caso seja pretendido representar a seguinte equao no Plano de Fase.
d 2 x dx + + x=0 dt dt 2
Equao 6: Exemplo de equao diferencial de um sistema no linear
a) Tal como indicado no ponto 4., dever ser criado um M-File que servir para definir as variveis de fase da equao diferencial a representar no Plano de Fase (ver equao 7).
dx1 = x2 dt dx 2 = x1 x 2 dt
Equao 7: Variveis de fase para a representao da equao 6 no Plano de Fase
b) No M-file referido na alnea anterior, as variveis de fase tm que ser definidas num vector coluna (no nosso caso chamado dx) em que a primeira linha corresponde varivel dx1/dt e a segunda linha varivel dx2/dt (o cdigo completo deste M-File o apresentado no Anexo 3). c) Aps terminar a introduo do cdigo grave o M-File com o nome caso2.m. d) As trajectrias correspondentes soluo da equao 6 no Plano de Fase so as apresentadas na figura 9 (o ponto singular, cujas coordenadas so (0, 0) corresponde, para o caso em que dx/dt>0, a um foco estvel, com valores prprios 1,2= 1 j 3 e, para o
2 2
13. Por ltimo, vejamos agora o procedimento necessrio caso seja pretendido representar a seguinte equao no Plano de Fase.
d 2 x dx 9.8 + + sen( x) = 0 dt 1 dt 2
Equao 8: Equao diferencial de um sistema no linear
a) Como j referido anteriormente, torna-se necessrio desenvolver um M-file para definir as variveis de fase, de acordo com o indicado na equao 9 (o cdigo completo deste M-File o apresentado no Anexo 4).
b) Aps terminar a introduo do cdigo grave o M-File com o nome caso3.m. c) As trajectrias correspondentes soluo da equao 8 no Plano de Fase so as apresentadas na figura 10 (os pontos singulares, cujas coordenadas so (2.n., 0) n = 0, 1, 2, ... - correspondem a focos estveis, com valores prprios 1,2= 1 j 38,2 ; por sua vez,
2 2
os pontos singulares, cujas coordenadas so ((2.n.+1)., 0) n = 0, 1, 2, ... - correspondem a pontos de sela, com valores prprios 1=3.67 e 2=2.67).
2. Concluses
Acabamos de ver como possvel recorrendo ao software MATLAB efectuar o estudo de um sistema atravs da representao no Plano de Fase. As noes aqui introduzidas, de uma forma necessariamente resumida, podem ser desenvolvidas recorrendo bibliografia que se apresenta de seguida.
3. Bibliografia
[1] - Ogata, Katsuhiko; Engenharia de Controle Moderno; Prentice-Hall do Brasil; 1982.
10
4. Anexo 1: Cdigo para Representao das Solues da Equao Diferencial no Plano de Fase
%------------------------------------------------------------------% % M-File para traar as trajectrias no Plano de Fase % de Equacoes diferenciais de segunda ordem % Dezembro de 1999 % Manuel Silva, Tenreiro Machado % %------------------------------------------------------------------%------------------------------------------------------------------% %Definio e valores por defeito dos parmetros % %------------------------------------------------------------------%Limpeza da memria do MATLAB clear; %Limpeza da janela com o grfico close; %variavel auxiliar aux=1; %incremento temporal dt=0.01; %intervalo de tempo a considerar t0=0; t_max=6; for i=t0:dt:t_max vector_t(aux)=[i]; aux=aux+1; end aux=1; %Numero de pontos na grelha n=6; %Valores maximos da grelha x_max=1; Dx_max=1;
%------------------------------------------------------------------% %Desenho da equao diferencial no Plano de Fase % %------------------------------------------------------------------%Inicializacao da posicao e da velocidade: Condicoes iniciais for i = 1:n, for j = 1:n, %Posicao inicial na grelha x1=(i-(n+1)/2)*x_max/n; %Velocidade inicial na grelha x2=(j-(n+1)/2)*Dx_max/n; %vector inicial x0=[x1;x2];
11
5. Anexo 2: Definio das variveis de fase para representao da equao diferencial 1 no Plano de Fase
function dx=caso1(t,x); %------------------------------------------------------------------% %Definio das variveis % %------------------------------------------------------------------%x(1)=x(t) %x(2)=dx/dt %------------------------------------------------------------------% %Definio da equao diferencial a desenhar no Plano de Fase % %------------------------------------------------------------------% %Equao 1 - Pag. 22 dos apontamentos % %DDx+Dx+x=0 % => x(1)=x,x(2)=Dx,Dx(2)=DDx
12
6. Anexo 3: Definio das variveis de fase para representao da equao diferencial 6 no Plano de Fase
function dx=caso2(t,x); %------------------------------------------------------------------% %Definio das variveis % %------------------------------------------------------------------%x(1)=x(t) %x(2)=dx/dt %------------------------------------------------------------------% %Definio da equao diferencial a desenhar no Plano de Fase % %------------------------------------------------------------------% %Equao 6 - Pag. 26 dos apontamentos % %DDx+abs(Dx)+x=0 % => x(1)=x(t),x(2)=Dx,Dx(2)=DDx % dx=[x(2);-x(1)-abs(x(2))];
7. Anexo 4: Definio das variveis de fase para representao da equao diferencial 8 no Plano de Fase
function dx=caso3(t,x); %------------------------------------------------------------------% %Definio das variveis % %------------------------------------------------------------------%x(1)=x(t) %x(2)=dx/dt %------------------------------------------------------------------% %Definio da equao diferencial a desenhar no Plano de Fase % %------------------------------------------------------------------% %Equao 8 - Pag. 618 - Pndulo com atrito % %DDx+Dx+9.8/1*sin(x)=0 % => x(1)=x(t),x(2)=Dx,Dx(2)=DDx % dx=[x(2);-9.8/1*sin(x(1))-x(2)];