Considerações sobre matrizes no controlo 1 - Valores Próprios, Vectores Próprios e Equação Característica Os valores próprios e vectores próprios duma matriz são valores particulares obtidos da equação λv=Av onde: (1) A é uma matriz quadrada de dimensão (n × n) λ é um valor próprio de A e é um valor escalar v é um vector próprio de A correspondente a λ. A sua dimensão é (n × 1) A equação (1) implica que existam alguns valores particulares de v associados a A, para os quais a multiplicação do vector v pela matriz A simplesmente escala cada elemento de v pelo factor de escala λ. Um vector pode-se ver como um segmento de recta com determinada amplitude (comprimento) e direcção, num espaço vectorial com várias dimensões, quantas as da ordem do vector (mais do que três dimensões é difícil de visualizar, mas o principio aplica-se igualmente). Por exemplo, o vector v = [1 2 3]T pode-se representar como na figura 1. x3 Av x3 v 3 v Bv x2 3 x2 2 2 1 x1 a) v não é um vector próprio 1 x1 b) v é um vector próprio Figura 1 – Vectores próprios No produto A v, a matriz quadrada A opera em v produzindo o resultado com as mesmas dimensões de v e, portanto, pode-se representar no mesmo espaço vectorial. A figura 1 ilustra o conceito de vector próprio. Se, após a transformação, A v não é colinear com v, então v não é um vector próprio de A, como se 1 Considerações sobre matrizes no controlo mostra na figura 1a. Se, após a transformação, B v é colinear com v, então v é um vector próprio de B, como se mostra na figura 1b. Assim, a equação (1) representa o caso especial e significativo no qual A v e v apontam na mesma direcção, diferindo, apenas, no comprimento pelo factor de λ. Para se obterem os valores próprios e vectores próprios, deve-se proceder da seguinte forma. Primeiro, manipular a equação (1): λv−Av=0 ou [λ I − A] v = 0 (2) onde 0 é o vector nulo ( com dimensão n × 1 e todos os elementos a zero). De notar a necessidade de manter a dimensão da matriz conforme, inserindo a matriz unitária In para multiplicar o escalar λ, quando se extrai o factor v. É um requisito comum na álgebra de matrizes e não pode ser esquecido. Por outro lado, v foi extraído, como factor do lado direito dos parêntesis, de forma a manter correcta a ordem multiplicativa. A equação (2) pode reescrever-se na forma v = [λ I − A]-1 0. A solução trivial v = 0 não tem interesse, já que a inversa de [λ I − A] não existe. Assim a solução trivial não será utilizada. O outro caso que nos interessa é: |λ I − A| = 0 (3) A equação (3) é extremamente importante em controlo e chama-se equação característica de A. Se se obtém a equação característica, partindo da função de transferência no domínio da frequência, o resultado, eventualmente, é o mesmo visto de forma diferente. Resolvendo a equação (3), em relação a λ, obtêm-se os valores próprios da matriz. Por exemplo, para a matriz 6 2 A= 4 1 a equação característica é: λ−6 −2 λ 0 6 2 0 λ − 4 1 = − 4 λ − 1 = (λ − 6) (λ − 1) − 8 = λ2 − 7λ − 2 = 0 As soluções da equação são: λ1 = 7.275 e λ2 = −0.275. 2 Considerações sobre matrizes no controlo Utilizando a equação (1) e substituindo cada valor próprio de cada vez obtêm-se os vectores próprios. Visto que estes especificam a direcção que a equação (1) toma, a sua amplitude não é importante e, portanto, os vectores podem ter qualquer escala. Consequentemente cada elemento também é afectado. Usando λ1 e A na equação (1) virá v11 6 2 v11 7.275 = v21 4 1 v21 conduzindo a: 7.275 v11 = 6 v11 + 2 v21 e 7.275 v21 = 4 v11 + v21. Ou, de outra forma, 1.275 v11 = 2 v21 e 4 v11 = 6.275 v21. Estas equações são idênticas. Portanto, possuem, como anteriormente sugerido, um número infinito de soluções possíveis, obtendo-se cada equação da outra através de factores de escala. Arbitrariamente, escolhendo v11 = 1 conduz a v21 = 0.638. Portanto, correspondendo ao valor próprio λ1 = 7.275, tem-se o vector próprio 1 v1 = 0.638 De forma análoga, tem-se para λ2 = −0.275 1 v2 = − 3.138 No MATLAB usa-se o comando eig para calcular os vectores próprios da matriz, em que os vectores próprios são escalados, de forma normalizada, para o comprimento unitário. Por exemplo, para os dois vectores próprios anteriores o MATLAB responderia, respectivamente: 0.843 0.538 e − 0.304 0.954 As direcções são as mesmas, mas os comprimentos foram escalados para a unidade. Nota: O MATLAB possui o comando “eigshow” que ilustra o conceito de valor e vector próprio. 3 Considerações sobre matrizes no controlo 2 - Representação em diagrama de blocos duma matriz Algumas matrizes possuem valores próprios facilmente determináveis e conduzem a modelos de sistemas com estruturas particularmente úteis para algumas aplicações. Por exemplo, a matriz diagonal possui os seus valores próprios na diagonal principal. Se se desenhar o diagrama de blocos correspondente, este representa uma série de ganhos independentes, iguais aos valores próprios, sem interacção entre eles. A matriz triangular superior possui todos os elementos nulos abaixo da diagonal principal como, por exemplo: entradas 1 2 3 1 6 5 0 − 4 2 0 0 7 saídas 1 2 3 Esta matriz também possui os valores próprios na diagonal principal, i.e., os valores próprios desta matriz são 1, −4 e 7. Em termos de diagrama de blocos, esta matriz representa um sistema no qual a entrada 1 apenas alimenta a saída 1. A saída 3 é alimentada apenas pela entrada 3, mas a entrada 3 também alimenta as saídas 1 e 2. A figura 2 mostra o diagrama de blocos correspondente x1 1 x2 6 ∑ y1 ∑ y2 ∑ y3 -4 5 x3 2 7 Figura 2 – Diagrama de blocos duma matriz Os valores próprios também possuem outras propriedades interessantes. Por exemplo, o determinante de qualquer matriz quadrada é o produto dos 4 Considerações sobre matrizes no controlo seus valores próprios. O traço de qualquer matriz quadrada, que é a soma dos elementos da diagonal principal, é a soma dos seus valores próprios. Estas duas propriedades tanto se aplicam às matrizes diagonal e triangular, como também a qualquer outra matriz quadrada. 3 - Sugestões de trabalho 1. Determinar, utilizando o MATLAB, os valores próprios da matriz [ 1 6 5; 0 −4 2; 0 0 7] e confirme que são os elementos da diagonal principal. 2. Determinar quais das seguintes matrizes são singulares, podendo, para isso, utilizar os comandos do MATLAB ( eig, det, eigshow) A=[ 6 2; 4 1 ], B=[ 5/4 0; 0 −3/4 ], C=[ 1 0; 0 1 ], D=[ 0 1; 1 0 ], E=[ 0 1; −1 0 ], F=[ 1 3; 4 2 ] / 4, G=[ 1 3; 2 4 ] / 4, H=[ 3 1; 4 2 ] / 4, K=[ 3 1; −2 4 ] / 4, L=[ 2 4; 2 4 ] / 4, M=[ 2 4; −1 −2 ] / 4 N=[ 5/4 0; 0 3/4 ]. 3. Utilizando o SIMULINK e recorrendo à representação em diagrama de blocos duma matriz, represente o sistema dado por: A=[0 1 0; 0 −1 1;0 0 −5] B=[0 0 5]’ C=[1 0 0] D=0 Deve-se ter em consideração que um sistema representado no espaço de estados tem por equações : x! = A x + B u y=C x+Du 5 Considerações sobre matrizes no controlo Neste exemplo, para representar cada matriz, aconselha-se a formar um bloco na forma dum subsistema com 3 entradas e 3 saídas com os respectivos elementos da matriz apresentados como ganhos. Um exemplo desta representação mostra-se na figura 3. In1 1 In2 2 In3 3 Gain2 0 Gain11 1 Gain14 0 Gain3 0 Gain12 Gain15 1 Gain4 0 Gain13 -1 Gain16 0 Sum3 Out1 1 -5 Sum4 Out2 2 Sum5 Out3 3 Figura 3 – Diagrama de blocos duma matriz no simulink Para representar o bloco integrador aconselha-se a formar um bloco na forma dum subsistema com 3 entradas e 3 saídas. Um exemplo desta representação mostra-se na figura 4. 1 In1 2 In2 3 In3 1 s Integrator1 1 s Integrator2 1 s Integrator3 1 Out1 2 Out2 3 Out3 Figura 4 – Representação do diagrama de blocos do integrador 6 Considerações sobre matrizes no controlo Uma forma possível de representação do diagrama de blocos do sistema global mostra-se na figura 5. In1 Out1 In2 Out2 In3 Out3 Matriz D 1 Step Gain 0 Gain1 Sum9 In1 In2 In3 Out1 Sum6 Out1 In1 Out1 In2 Out2 In2 Out2 In3 Out3 In3 Out3 Mux Out2 Out3 Sum10 Sum7 0 In1 Mux Scope Matriz B integrador Matriz C Gain2 Sum11 Sum8 Out1 In1 Out2 In2 Out3 In3 Matriz A Figura 5 – Representação do diagrama de blocos do sistema global 4. Pretendem-se observar no mesmo gráfico os sinais de entrada e de saída do sistema. O sinal de entrada será o degrau unitário. O sinal de saída será a resposta do sistema a esta entrada. Procure alterar a matriz D de forma que essa representação seja possível. 5. Confirme o resultado no SIMULINK, comparando-o com o resultado obtido no MATLAB, através do comando: » [y,x,t]=step(A,B,C,D);plot(t,x);grid 7