Sistemas de Controle de Aeronaves II Introdução ao Matlab e Equacionamento longitudinal de uma aeronave Eduardo Morgado Belo Mateus Moreira de Souza 2012 Introdução ao MATLAB Manipulação de Matrizes Manipulação de Gráficos Current Directory MATLAB Command Window Command History Workspace Manipulação de Matrizes no MATLAB • Criando uma matriz ▫ Envolva os elementos da matriz com [ ]. ▫ Separe os elementos de uma linha usando espaços ou vírgula (,). ▫ Use o ponto e vírgula (;) para indicar o final de uma linha. • A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1] • A = [16,3,2,13;5,10,11,8;9,6,7,12;4,15,14,1] Manipulação de Matrizes no MATLAB • Utilizando elementos de uma matriz. ▫ Matriz (linha ,coluna ) • A( 2 , 1 ) • Para selecionar mais de um elemento da matriz. ▫ Matriz ( [ linhas ],[ colunas ]) • A( [1 2] , [1 3 4] ) Manipulação de Matrizes no MATLAB • Usando os dois pontos ( : ). ▫ Pode gerar vários elementos com passo unitário. ▫ Valor inicial : Valor final • 1:10 ▫ Pode gerar vários elementos com passo escolhido. ▫ Valor inicial : Passo : Valor final • 1:2:10 Manipulação de Matrizes no MATLAB • Usando os dois pontos com matrizes ▫ Pode ser utilizado para selecionar vários elementos de uma matriz. • A ( 1 : 3 , 1) • A(3,2:2:4) • A(2:4,1:2:3) ▫ Pode ser utilizado para selecionar uma linha ou coluna de uma matriz • A(:,1) • A(2,:) • A(:,:) Manipulação de Matrizes no MATLAB • Operadores ▫ ▫ ▫ ▫ ▫ ▫ + Soma - Subtração * Multiplicação / Divisão ^ Potenciação ‘ Transposta de matriz e conjugado de número imaginário ▫ ( )Índice Manipulação de Matrizes no MATLAB • Comandos para matrizes ▫ ▫ ▫ ▫ ▫ ▫ ▫ ▫ ▫ ▫ ▫ ▫ zeros (a,b) = Cria uma matriz a x b de 0. ones (a,b) = Cria uma matriz a x b de 1. eye (n) = Cria a matriz identidade de ordem n A (end, : ) = Apresenta a ultima linha de A. sum (A) = Soma dos valores de cada coluna de A. diag(A) = Cria um vetor com os elementos da diagonal de A. transpose(A) = Cria a matriz transposta de A. det (A) = Retorna o determinante de A. rank(A) = Retorna o número de linhas independentes de A. inv(A) = Cria a matriz inversa de A. eig(A) = Cria um vetor com os autovalores de A. [V,D]=eig(A) = Cria uma matriz D com os autovalores de A e uma matriz V com os respectivos autovetores. ▫ poly(A) = Cria um vetor com os elementos da equação característica de A. Exemplo • Usar os comando para a matriz A: • A=[15 12 4 1; 4 2 9 0; 5 1 0 0; 3 0 0 0]; • Comandos: • A (end, : ) , A (: , end ) , sum (A) , diag(A), transpose(A) , det (A) , rank(A) , inv(A) , [V,D]=eig(A) , poly(A). Manipulação de Gráficos no MATLAB • Criando um gráfico ▫ O comando plot (x,y) cria um gráfico 2D. • t=0:0.1:2*pi ; • y=sin(t) ; • plot(t,y) ▫ O comando plot(x,y,’prop’) cria um gráfico com as propriedades atribuídas à linha. • plot(t,y,’r--+’) Manipulação de Gráficos no MATLAB Manipulação de Gráficos no MATLAB • Múltiplos gráficos ▫ Usando apenas um comando plot. • plot(x1,y1,’prop1’,x2,y2,’prop2’) ▫ Usando hold on , hold off. • plot(x1,y1,’prop1’); hold on ; plot(x2,y2,’prop2’); hold off. ▫ Usando subplot. • subplot(2,1,1); plot(x1,y1,’prop1’); • subplot(2,1,2); plot(x2,y2,’prop2’); ▫ Usando figure. • figure(1); plot(x1,y1,’prop1’) • figure(2); plot(x2,y2,’prop2’) Manipulação de Gráficos no MATLAB • Utilizando t=0:0.1:2*pi; x=sin(t);y=cos(t); plot(t,x,’b’,t,y,’r’) plot(t,x,’g’) ; hold on plot(t,x,’k’) ; hold off subplot(1,2,1) ; plot(t,x,’b’) subplot(1,2,2) ; plot(t,y,’r’) figure(1) plot(t,x,’b’) figure(2) plot(t,y,’r’) Manipulação de Gráficos no MATLAB • Comandos de edição do gráfico ▫ legend(‘x1’, ‘x2’ , ...) = Insere a legenda de x1, x2, ... ▫ title(‘texto’) = Insere o título no gráfico. ▫ xlabel(‘x’) , ylabel(‘y’) , zlabel(‘z’) = Nomeia os eixos x, y e z respectivamente. ▫ axis([xmin xmax ymin ymax]) = Limita a área apresentada pelo gráfico. ▫ axis equal = o incremento nos eixos x e y ficam iguais. ▫ grid on = cria uma malha no gráfico. Exemplo • • • • • • • • • t=0:0.1:2*pi; x=sin(t);y=cos(t); plot(t,x,'r',t,y,'b') title('Funções seno e cosseno') xlabel('t') ylabel('sin(t) e cos(t)') axis([0 2*pi -1 1]) axis equal grid on legend('sin(t)','cos(t)') Sistemas Dinâmicos Sistemas dinâmicos • Sistema massa, mola, amortecedor. ▫ Forma diferencial. ▫ Transformada de Laplace. Sistemas dinâmicos • Sistema massa, mola, amortecedor. ▫ Espaço de Estados ▫ Função transferência Sistemas dinâmicos • Comandos de MATLAB para sistemas dinâmicos ▫ SYS = ss(A,B,C,D) = Cria um sistema no espaço de estados. ▫ set(SYSEE, 'inputname', {‘u‘ }, 'outputname', {‘y'},... 'statename', {'x‘ }); = Configura o nome das entradas e saídas do sistema. ▫ [num,den]=ss2tf(A,B,C,D) = Gera o numerador e denominador da função transferência do sistema no espaço de estados. ▫ SYS=tf(num,den) = Cria a função transferência do sistema. ▫ roots(den) = Retorna as raízes do polinômio den. ▫ step(SYS) = Cria gráficos com a resposta degrau de todas as entradas para todas as saídas do sistema SYS. ▫ impulse(SYS) = Cria gráficos com a resposta impulso de todas as entradas para todas as saídas do sistema SYS. Sistemas dinâmicos • Exemplo ▫ Escrever o sistema no espaço de estados • M=2Kg;B=16Ns/m;K=8N/m; ▫ Obter a função transferência. ▫ Obter a equação característica. ▫ Obter as raízes da equação característica ▫ Resposta a entrada degrau ▫ Resposta ao impulso Trabalho • Escrever um M.file contendo: ▫ A equações da dinâmica de vôo do Boeing 747 no espaço de estados. ▫ A função transferência θ/δE. ▫ A equação característica. ▫ As raízes da equação característica. ▫ A resposta de θ à entrada degrau de δE. ▫ A resposta de θ à entrada impulso de δE. Equações do vôo longitudinal Condição de vôo B747 M=0.8 Altitude=40000 ft W (N) S (m2 ) c (m) b (m) Ix (Kg*m2) Iy (Kg*m2) 2.8317*106 511 8.324 59.64 0.247*108 0.449*108 Iz (Kg*m2) Izx Kg*m2) u0 (m) ρ (Kg/m3) CL0 CD0 0.673*108 -0.212*107 235.9 0.3045 0.654 0.0430 X(N) Z(N) M(m*N) u (m/s) -1.982*103 -2.595*104 1.593*104 w (m/s) 4.025*103 -9.030*104 -1.563*104 q (rad/s) 0 -4.524*105 -1.521*107 dw/dt (m/s2) 0 1.909*103 -1.702*104 δE (rad) -54.23 -5.181*106 -1.707*106 Referências • Help MATLAB • Etkin, B. . ’Dynamics of flight : stability and control’, 3ª ed.. Wiley.