Você está na página 1de 20
Al Apéndice Fundamentos Necessarios ao Uso Efetivo do MATLAB* INTRODUCAO Este apéndice trata dos fundamentos necessirios a0 uso eletivo do MATLAB na solugio dos problemas de engenhatia de controle. © MATLAB (uma abreviatura de MAT¥ix LABoratory — Laboratirio de Matrizes)é um sitenma baseado em matrizes para cenharia, Pode-se pensar no MATLAB como uma espécie de linguagem pro- jetada exelusivamente para realizar m: com matrizes, Todas as varidveis manipukilas no MATLAB sio matri- zes. Isto €, 0 MATLAB tem somente um tipo de dado, uma matriz ou um arranjo retangular de niimeros. O MATLAB possui um conjunto extenso de rotinas para a obtenedo de saidas graficas Comandos e funcdes de matrizes do MATLAB que sao usadas freqlientemente na andlise € no pro- Jjeto de sistemas de controle. 0 MATLAB possui muitas fungSes predefinidas que podem ser chamadas pelo usu- ‘rio para resolver muitos diferentes tipos de problemas de conttole. Na Tabela A-1 sio listados tais comandos ¢ fungdes de mattizes. ‘Acessando e saindo do MATLAB. Na maioria dos sistemas, uma vez instalado © MATLAB, para chamé-lo execute 0 comando MATLAB. Para deixs-lo, executa-se o comand exit ou quit Como 0 MATLAB € usado. 0 MATLAB é comumente usado no modo comand direto. Quando se digitam co- mandos simples, o MATLAB os process imediatamente € expe na tela 0 resultado. O MATLAB também &capaz de executar seqtiéncias de comandas que so armazenados em arquives. (Os comands previamente digitados poem er aessados poserormente por mi da ela sete parecima.E poss vel pereorrera sueessio dos titimos comandos anteriormente digitados e fazer retornar uma linha de comando particular Variéveis no MATLAB, Uma caracteristica conveniente do MATLAB € que as varidveis no precisam ser ddimensionadas antes do uso, No MATLAB. as varidveis so geradas automaticamente uo serem utilizadas, (AS dimensdes das variiveis podem ser alteradas mais tare, se necessirio.) Tais varidveis permanecem na meméria até que se entre com tum dos comands exit ou quit. Para se obter uma lista das variveis na drea de trabalho, digita-se simplesmente 0 comando who. Em as varidveis correntemente na dea de trabalho aparecem na tela do monitor. © comando clear elimina da srea de trabalho todas as varidveis ndo-permanentes. Se se deseja limpar somente uma variével particular. por exempla “x’, entra-se com 0 comand clear x. tuida, todas. Linha de programa comecando com ‘%'. Ao longo deste livro so escritos muitos programas em MATLAB ‘com observagdes e comentarios que explicam etapas particulares da programagio. As linhas de programa comegadas por Sugere-se a que nas in MATLAB, » eso fuilarizados com @ MATLAB a letra deste apndice antes de eserever pe 789 Tabela Al Comandos ¢ fungdes matriciais do MATLAB Comandos ¢ Fungées Matrciais Explicagies sobre 0 que o Comando Faz, o que a Fungo Matrcial Significa, ou 0 Comumente Usados na Solugao (que a Declaragio Signitiea de Problemas de Engenharia de Controle abs Yalor absoluto, magnitude complexa angle Angulo de fase ans Resposta obtida quando a expresso nio possuiratribuigio atan Arcotangente axis Escala manual doeixo bode ‘Tragar 0 diagrama de Bode clear Limpar a deea de tabalho clg Limpar tela prtica ‘computer Tipo de computador con} Conjugado complexo conv Convolucio, multiplicagio cortcoet Coelicientes de comelagio cos Co-seno cosh Co-sena hiperblica cov Covariineia deconv ‘Deconvolugio, divisio det eterminante diag Matriz diagonal cig Autovalores e autovetores exit Teérmino de programa exp Exponenciagia base & expm Exponencial de matrizes Be Matiz-identidade filter Implementacio com filtro disereto format long. Numero real de 15 digitos com ponto fixo (Exempla: 1.33333333333333) format long e Numero real de 15 digitos em notagio cienttia. (Exempla: 1,33333333333333 e +000,) format short Namo real Je 5 digits com pontofixo, (Exemplo: 1.3333) format short © Niiniero real de 5 dipitos em notacio cienifica (Exemplo 1.3333e + 000) fregs Resposta de freqigneia no dominio da transformada de Laplace freqz Resposta de freqiléncia no dominio da wansformada grid Desenharlinhas de uma grade reticulada hold Manter na ela o grfico eorrente imag Parte imaginéria de um nimero complexo inf Intinito ©) inv Inyersa i vl lenght “Tamanho do vetor linspace Vetoreslincarmente espagados log. LLogaritmo natural loglog Grifico x-y loglog logm Logaritmo de matviz logspace Vetores logaritmicamente espagados logto Logaritmo na base 10 Ie Projeto de estimador quadritico linear ley Projeto de regulador quadratico linear max Valor méximo mean Valor medio median Valor da mediana min Valor minimo NaN’ Nao-numérico (indica indeterminagi do tipo divisio de zero por 2er0) Lnvquist Grifico da resposta de frequéncia em coordenadas de Nyquist 790 Apendice _/ Fundamentos Necessarios ao Uso Efetivo do MATLAB, Tabela A-1 Comandos e fungdes matriciais do MATLAB (Continuagido) Comandos e Fungdes Matrciais Explicagaes sobre 0 que © Comando Faz, 0 que a Fungio Matrcial Signifia, ou 0 Comumente Usados na Solugao que a Declaracao Significa 4 Problemas de Engenharia de Controle ones Constante (matriz formada por elementos unitérios) pi Pitz) plot Gritico linear em coordenadas cartesianas polar | Gritico em eoordenadas polares poly | Polinomio caracteristico polit Ajuste polinomial de curvas polyal Cilleulo do valor de polindmio polyvaim Caleulo do valor de potindmio de matrizes prod Prodito de elementos uit “Término de programa rand ‘Gerar niimeros e matsizes com valores aleatérios rank aleuar 0 posto (rank) de uma mateiz real Parte real de um nimero complexe rem Resto ou miidulo residue Expansio em fragies parciais rlocus “Tragar o lugar das ratzes roots Raizes de um polindmio semilogy Grifico semilog ¥-y(eixo + logaritmico) semilogy Grifico semilog s-¥ (eixo ylogaritmico) sign Fungo sinal sin Seno sinh Seno hiperbslico size Dimensbes de linhas e colunas de uma matiz, sat Raiz quadrada sqytm Raiz quadrada de uma mateiz std Desvio padrio step “Tragar a curva da resposta ao degrau unitétio sum Soma de elementos tan Tangente tanh Tangente hiperbslica text ‘Texto posicionado arbitrriamente litle Coocar titulo em um gritieo trace Trago de uma matriz who Lista de todas as varidveis atualmente na meméria label Legenda do eixo dos.x label Legenda do eine dos » ze108 “Zeros (mate Formada por elementos nulos) °%6" constituem comentarios ou observacdes. A notacdo “36 ¢ similar ao “REM” no BASIC. Uma Tina comegando com °% € utilizada para armazenar os comentirios ¢ as observagdes do programador, etais comentarios e observagdes nio io executados. Isto &, tudo que aparece apos % na linha de programa do MATLAB é ignorado, Se os comentarios e observa- {gdes necessitarem de mais de uma linha de programa, cada linha deve comegar com %. Uso do operador ponto-e-virgula. © ponto-e-virgula é utilizaclo para suprimir a impressio na tela do monitor. Seo titimo caractere de uma sentenca for um ponto-e-virgula, a impressao € suspensa; 0 comando, gontudo, € executado, ‘mas o resultado no é mostrado, Esta é uma caracteristica interessante, uma vez que pode ndo ser importante a impressdo de resultados intermedisrios, Além disso, quando se entra com os elementos de uma matriz, utiliza-se um ponto-e-virgula para indicar 0 fim de cada linha, exceto a ultima. Uso do operador dois-pontos. 0 operador dois-pontos desempenha um papel muito importante no MATLAB. Este operador pode ser uilizado para criar vetores, indexar matrizes e para especificar iteragies for. Por exempta, jk € 0 mesmo que [jj + 1... KleAG, j) €aj-Ssima coluna da matriz Ae A li, Jima linha de A. ‘Seco A-1_/ Introducdo 791 792 Entrada de sentencas longas que nao cabem numa Gnica linha. Umasentenga termina, normalmente, com lum retomno de carro (fim de linha) ou com a digitagao da tecla Enter. Se a sentenga a ser digitada for muito longa para ccaber na linha, podem ser utilizadas reticéncias constitufdas por trés ou mais pontost...), seguidos de um retorno de carro, para indicar que a sentenga continust na préxima linha, Um exemplo & 3.456 + 4.567 + 5.678 + 6.789, 190 + 8.901 ~ 9.012; Observe-se que os espagos em branco em torno dos sinais de =, +, ¢ ~ so opeionais. Tais espagos sto providenciados ‘quase sempre para melhorar a legibilidade. Entrando com mais de uma sentenca numa Ginica linha. Podem ser colocados diversos comandos numa mesma nha desde que estejam separados por virgulas ou ponto-e-virgulas. Sao exemplos plot x.y, ’o', text(t,20,'Sistema 1), text,15,'Sistema 2”) plotixy, ‘o's text1,20, ‘Sistema 1") text, 15, ‘Sistema 2’) Selecionando 0 formato de visualizacao de dados. Todos os céleulos no MATLAB sio executados em pre- cisao dupa. Contudo, a visualizagdo pode ser com virgula fixa(ponto fixo) e quatro casas deeimais, Por exemplo, para 0 vetor = 13 0.00002), 0 MATLAB exibe a seguinte saida 0.3333 0,000 Se pelo menos um dos elementos de uma matriz no for um inteiro exato, hs quatro formatos de safda possiveis, A sida mostrada na tela pode ser controlada por meio dos seguintes comandos: format short (formato curto) format long (formato longo) format short e (formato curto com notagdo cient format long e (formato longo com notagao cient Uma vez acionado, o formato escolhido permanece ativo até que seja trocado por outro, Os formatos format short e format long sio comumente usados na andlise de sistemas de controle, Sempre que o MATLAB for acionado sem nenhum comando especitico de formato de visualizagio, o MATLAB apresentara os resul- tados no format short. Se todos os elementos de uma matriz.ou de um vetor forem inteitos exatos, entio os formatos short © long produzirao 0 mesmo resultado, Como gravar varidveis ao sair do MATLAB. Quando se digitam os comandos “exit” ou! ‘quit’ todas as varie veis no MATLAB se perdem. Se o comando save for digitado antes de se sair do MATLAB, entio todas as varidveis poderdo ser guardadas num arquivo de disco designado matlab.mat. Quando mats tarde se retomar ao MATLAB. 0 co- mando load recolocars o espago de trabalho no seu estado anterior TRACANDO CURVAS DE RESPOSTA OMATLAB possui um conjunto extenso de rotinas para se obterem saidas grificas, O comando plot eria grficos lineares sv. (Grificos logaritmicos e polares sio criados substituindo-se a expresso plot por loglog, semilogx, semilogy ou po- lar.) Tais comandos sao utilizados da mesma forma: eles afetam apenas como os eixos slo postos em escalat ¢ como os ddados so apresentados, Graficos x-y. Sexe y forem vetores de mesmo comprimento, o comando, plotix,y! traga os valores de y contra os valores de x Apéndice / Fundamentos Necessérias ao Uso Efetivo do MATLAB, Tracando curvas miltiplas. Paratra mentos muiltiplos. sar multiplas curvas num tinico grafico, utiliza c 0 comando plot com argu- plotiX1,Y1,X2,¥2,....Xn,¥n) As varidveis X1,Y1,X2,Y2, ¢ assim por diante, sdo pares de vetores. Cada par x-y é coloeado no gréfico, resultando miil- tiplas curvas. Os argumentos méliplos apresentam a vantagem de permitir que pares de vetores de diferentes comprimen- tos possam ser visualizadas no mesmo grifico, Cada par utiliza um tipo diferente de linha, ‘O tragado de mais de uma curva num Gnico grifico também pode ser realizado utilizando-se 0 comando hold. O co- mando hold congela o grifico atual e inibe o apagamento e 0 reescalonamento dos eixos, Portanto, as curvas subseqtien al. Digitando-se novamente 0 comand hold libera-se o grético presente. tes sero sobrepostas A curva or Acrescentando linhas de grade, titulo do grafico, legenda do eixo dos xe legenda do eixo dos y. Uma vez que se tenha uma visualizaglo grificana tela do monitor, & possivel desenhar linhas de grade, colocar titulo no grifico «@ colocar rotulos nos cixos.xe y. Os comandos MATLAB para grade, tulo, legenda do eixo dos « ¢ legenda do eixo dos y sho grid (reticulado title titulo} label (legenda do eixo dos x) label (leyenda do eixo dos y1 Note-se que, uma vez que o comando de visualizagio tenha sido trazido de volta, o reticulado, o titulo e as legendas dos ceixos re y podem ser colocados no grifico entrando-se com 0s comandos sucessivamente, Escrevendo texto sobre a tela gréfica, Para se escrever texto comegando no ponto (X, ¥) da tela gr utiliza 0 comando textlX,Y,"exto’) Por exemplo, comando text3,0.45,'sen ¢) escreverd horizontalmente a expresso sen 1 comegando no ponto de coordenaas (3.0.45). Além disso, os comandos plotixt y1,x2,y2), textOxt y1,'1/), textlx2,y2,'24) rmarcam as duas curvas de modo que elas possam ser facilmente distinguiidas Tipo de gr plottX,,’x’ ‘raga um grifico de pontos utilizando simbolos X. enguanto plowX1.¥1 utiliza uma linha de pontos para a primeira curva ¢ uma linha de simbolos (-+) para a segunda curva. tipos de linhas e de simbolos para as linhas de pontos disponiveis os seguintes os Tipos de Tinha Tipos de ponto Cheia Ponto, Tracejada Sinal mais + De pontos Asterisco > ‘Trago-ponto Cireulo ° Mareaem Seco A-2 / Tracando Curvas de Resposta 193 A-3 794 Cores. Os comandos plottx,,'r) plowX,¥,"+g') indicam o uso de uma linha vermetha no primeiro fico e de uma curva de marcas + em verde. As cores disponiveis sao vermelho r verde 8 azul b braneo w invisivel i Algoritmos para o tracado automatico. NoMATLAB os grificos sio postos em escala automaticamente, Este _gnifico permanece como grifico corrente até que um outro seja tragado, situagio em que o grifico antigo & apagado e os cixos so automaticamente postos em nova escala, Os algoritmos para o tragado automtico de eferentes a eur- vas de resposta transitéria, lugares das raizes, diagramas de Bode, diagramas de Nyquist e similares sio projetados para trabalhar com uma ampla gama de sistemas mas ndo so sempre perfeitos. Assim, em determinadas situacdes, pode ser desejivel ignorara caracteristica de colocagao automatica dos eixos em escala disponivel no comand plot e selevionat os ppontos-limites manualmente, Colocacao manual dos eixos em escala. Se se deseja aya ua curva numa regido especificada por v= txmin xméx—yemin— y-méx) deve ser digitado o comando axis(v). O comando axislv), onde v € um vetor de quatro elementos, ajusta os eixos dentro dos limites especificados. Nos grificos logaritmicos. os elementos de v s80 08 logy, dos Valores minimo e miximo, A execugtio de axis\v} congela o corrente ajuste de escala dos eixos para os grificos subseqiientes. Digitando-se axis hovamente, retoma-se a colocacdo em escala automética, © comando axis (’square') faz-com que o gréfico resultante fique numa tela em forma de quadrado. Com uma relago de aspecto quadrado, uma reta com tangente igual a | é mostrada com inclinagtio verdadeira de 45°, e ndo distoreida pela forma irregular da tela do monitor. O comando axis\‘normal’) faz retornar a relagdo de aspecto original CALCULANDO FUNCOES DE MATRIZES Nesta seca serio discutidos os caleulos de normas, de autovalores, de autovetores, de autovalores e de autovetores gene- ralizados, do valor de polinémios, denire outros, Normas. A norma de uma matriz.é um esealar que da alguma medida do tamanho da matriz. Diversas definigdes diferentes sao comumente usailas, Uma dessas definigdes & norma de (A) = maior valor dos elementos de A De modo semethante, dispie-se de varias definigdes para a norma de um vetor. Uma definigao comumente utilizada para a norma de um vetor x é dada pela expresso em MATLAB ormix) = sumiabs(e).2)40.5 Ver o seguinte exemplo, x=2 3 6); Autovalores e autovetores. Se A for uma matriz n X 1, entdo os 1 niimeros A que satisfazem Ax Apéndice / Fundamentos Necessarios ao Uso Efetivo do MATLAB, slo os autovalores de A. Eles so obtidos usando-se 6 comando, eigiA) que retorna os autovalores na forma de um vetor-coluna. Se A for real e simétrica, 0s autovalores serdo reais, Porém, se A nfo for simétrica, os autovalores serio freqlentemen- te nlimeros complexos. Por exemplo. com | 0 ‘ocomando cigiA) produz ans = © + 1.00001 0 = 1.00001 As fungdes MATLAB podem ter argumentos de saida simples ou mailtiplos. Por exemplo, como foi visto anteriormen- te, eig(A) produz um vetor-coluna que consiste nos autovalores de A, enquanto o comando de designagdo dupla [XD] = eig(al produ os autovalores ¢ os autovetores. Os elementos da matriz diagonal D sao os autovalores e as colunas de X so os ‘autovetores correspondentes tais que AX =XD Por exemplo, se Orie A Oe e0HEet -6-11 ~6, entdo a sentenga IX.DI = eigia) fornece 0 seguinte resultado: [XD] = igi 0.2182 ~ 0.1048 04364 0.3145 08729-09435 D = 1.0000 0 o 0 ~ 2.0000 0 0 0 = 3.0000 Sega A-3 / Caleulando Funcées de Matrizes 795 796 0s autovetores so normatizados de modo que a norma de cada um seja | Se os autovalores de uma matriz forem distintos, 0s autovetores serio sempre independentes e a matriz de autovetores X diagonalizaré a mateiz original A se for usada como matriz de uma transformagio de similaridade, Contudo, se urna ‘matriz possui autovalores repetidos, ela no é diagonalizavel a menos que possua tum conjunto pleno de autovetores (in- dependentes), Se 0s autovetores ndo forem independentes, a matriz original é dita defectiva. Mesmo quando a miattiz & defectiva, a solugao de eig satistaz a relagio AX = XD. Autovalores generalizados ¢ autovetores generalizados. Se A ¢ B so matrizes quadradas, entao 0 comando eigiA,B) reforna tum vetor contendo autovalores generalizados que resolvem a equagaio Ax = ABS onde A é um escalar. Os valores de A que satisfazem a equ: valores de x $30 0s autovetores generalizados. Para se obterem os autovetores, uliliza-se 0 comando de dupla atribu 10 08 autovalores generalizados e os correspondentes, eo como a seguir X,D] = cigiA,B) Isto produz uma matriz diagonal D de autovalores generalizados e uma matriz.quadrada X cujas colunas so os autovetores correspondentes de modo que AX = BXD Por exemplo, se Ore O A OF Oca 4-6-4 eee Oneal | centdo eigiA,B) fornece 0.3129 ~ 2.50871 0.3129 + 2.50871 0.6258 ~ 0.000%, © [X,D] = eigiA,B) produz [XD] = eigiaB) x 0.7309 + 0.01441 = 0.6720 + 0.28801 — 0,2390 + 0.58931 0.0178 — 0.25031 ~ 0.0776 ~ 0.23871 0.2459 — 0.60621 = 0.6336 ~ 0.03361 0.5745 ~ 0.26931 ~ 0.1539 + 0.3794 D 2 0 o ° 0.3129 + 2.50871 0 0 0 ~ 0.6258 ~ 0.00001 Apéndice / Fundamentos Necessarios ao Uso Efetive do MATLAB, Os autovetores so postos em escala de modo que a norma de cada um deles € 1 Equagao caracteristica. As raizes da equagio caracteristica so as mesmas dos autovalores da matriz A. A equa: ‘cho caraeteristica da matriz A. pode ser ealculada por meio de b = poly) Por exemplo, se a matriz A for dada por o 1 0 A=|0 0 1 -6 -1l 6, entiio 0 comando poly (A) fornecersi = polyiA) p= 1.0000 6.0000 11.0000 6.0000 Esta € a representagdo MATLAB do polinémio 8+ 6st + Ils +6=0 As raizes da equagiio caracteristica p = 0 podem ser obtidas entrando-se com comando F = roots|py rootsip) 3.0000 ~ 2.0000 4.0000 AAs raizes da equagao caracteri ica podem ser remontaclas de modo a obter o polinomio original através do comando q = polyit) ‘a= polyie) a 1,000 6.0000-—-11.0000 6.0000 Produto de polindmios. Considerem-se a(s) = 5? ~ 206 bis) = + 1968 + 151 (0 produto dos polinémios é a convolugio dos coeficientes. O produto dos potindmios a(s) e b(s) pode ser obtido entran- do-se com o comando ¢ = convia,b). a=[1 0 ~206);b=[1 19.6 151.2); c= conviab) be 003" 0.0010 0.0196 0.1306 — 0.4038 3ana7 Seco A-3/ Calculando Funcdes de Matrizes 797 Esta € a representagio MATLAB do polinémio es) = st + 19,65 + 130,65? ~ 403,85 — 3.114,7 Deconvolucéo (divisao de polindmios). Para divi 0 polindmio c(s), que acaba de ser obtido, pore (s), usa- se ocomando de deconvolugio [q.r] = deconvic.ab lautl = deconvic.ad a= 1.0000 19,6000 151.2000 o 0 0 0 0 Calculo do valor de um polinémio. Se p é um vetor cujos elementos so os coeficientes de um polindmio em ordem decrescente das poténcias, entdo polyvalip,s) &0 valor do polinémio calculado em s. Por exemplo, para caleular 0 valor do polinomio pls) = 3s +2541 em s = 5, entra-se com 0 comando p=B 2 1 polyvalip,5) Obtém-se entio ans = 86 © comando polyvalmip,A) calcula o valor do polindmio p no sentido matricial. Considere-se a seguinte matriz Jt ©.comando poly) fomece o polindmio caracteristico de Je = polyil) pe 1.9000 14.0000 56.0000 160.0000 Esta € a expresstio MATLAB para o polinémio caracteristico de J. poly(S) = (0) =P + 1? + Sey + 1601 onde I é:a matriz-identidade. Para a matriz. 798 Apéndice / Fundamentos Necessérios a0 Uso Efetivo do MATLAB. © comando polyvalm(poly())A) caleuka o seguinte (AY: 184 45 (A) = AS + HA + S6A + 1601 = ]-48 66 18-15 Ver a seguime safda em MATLAB, polyvalmipolyi},A) 154,000 45.0000, 8.0000 48,0000, 66.0000 ~ 3.0000 18,0000 15,0000 84,0000 Obtendo os quadrados dos elementos de um vetor x. Para um vetor x, a operagio x.°2 fornece um vetor com 0 quadrado de cada elemento, Por exemplo, para 123 x.A2 € dado conforme mosirado na seguinte sida MATLAB. xan 23 ae Também, para o vetor y y=Rt5 3+4 1-j1 y.A2 € dado como a seguir 4.00001 0 ~ 2.00001 21.0000 + 20.0001 = 7.0000 + Obtendo 0s quadrados dos elementos de uma matriz A. Para uma matriz A,a operagao A.4? fornece uma matriz formada pelos quadrados de cada um dos elementos. Por exemplo, para as matrizes A e B, em que Ley 2-2) 344057 j A.A2 @ B,A2 so dadas como a seguir: A=[1 23 4: AND Seco A-3/ Calculondo Fungdes de Matrizes 799 0+ 2.00001 © - 8.00001 7.0000 + 24.0000 24.0000 ~ 10.0000 Valores absolutos. A operacio abs(A) fornece a matriz constituida pelo valor absoluto de eada um dos elementos de A. Se A é complexa, abs(A) retorna o médulo complexo (a magnitude) abs(A) = sqitiveal(A).°2 + imag(al.2) angle(A} retoma os angulos de fase, em radianos, dos elementos da matriz complex A. Os Angulos ficam situados entre ~ze . Vero seguinte exemplo, ASR25 13T445% 6H) absiA) 2.8284 3.1623 6.4031 6.0828 angletA) o.7es4 1.2490 0.8961 — 0.1651 Magnitude e angulo de fase de um numero complex, A ma plexo 2 =x + iy = reso dados por nitude € lo de fase de um ntimero com= r= absiz) teta = angletz) eu sentenga 2 = Pexpiitteta) converte-0s de volta a0 mimero complexo original Exponencial de matriz. A operagio expm(A) é a exponencial de uma matriz An Xn, Isto ce expm(A) = 1+ A+> 7 + e que a fungio transcendental ¢ interpretada como uma fungio de matrizes se um “m" for acrescido ao nome da fungao, como em expmiA) ou sqrtmiA\. Matrizes de utilidade. No MATLAB. as fungdes onesim.n) onesiA) zeros 800 —Apendice_/ Fundamentos Necessérios ao Uso Efetivo do MATLAB ‘geram matrizes especiais. Isto &, ones{n) produz uma matriz 1 Xn de elementos iguais a um. onesim.n) produz uma Imatriz ny % n de elementos iguais a um. De modo semelhante, a funcao zerosin) produz uma matriz 1 X mde zeros, en= {quanto zerosim,n) produz uma matriz. mt X 1 de zeros. A fungdo zeros(A) produz uma matriz de zeros com as mestas dimensdes de A. exceto quando A for esealar. Matriz identidade. Em programas MATLAB € necessirio freqlentemente entrar com a matiz identidade L. Uma. sentenga eyein) fornece uma matriz identidade 1X n. Isto é ee o en ortto: o 1 0 0 0 o 0 1 0 0 Oise aaagaaati at. 0 0 0 0 4 Matriz diagonal. Sex um vetor, a sentenga diag(s) produz uma matriz diagonal com os elementos de x na diago. nal principal. Por exemplo, para 0 vetor x = [ones(t.n)) diag(lones(1,n))} fornece uma matriz identidade n n como a seguir: diagilonestt 5] ero te osaeona. Osa ee rOREHOIHtO: Ooo 00 0 0 0 1 0 Ce Oude One Se A foruma matriz quadrada, entio diagiA)é um vetor formado pelos elementos da diagonal principal de A e diag{diag(A)) uma matric diagonal com elementos de diagiA) aparecendo na diagonal. Ver a seguinte saida MATLAB. A=il 2 dings) 1 diagidiag(A) 1 0 0 0 5 (0 0 0 9 Observe-se que diag(1:5) fonece Seco A-3/ Caleulando Funcées de Matrizes 801 802 diag: feeeOcs OneeosesG: Ooo og re ) eee: One 2a Ose O OneiOsea: Além disso, diag(0:4) fornece diagio:4 ee Oe ees: Osea Oe eeaO: 0 0 2 6 0 Og Gea 0 Ose es0s eee Portanto, diag(1:5) — diag(0:4) é uma matriz-identidade. E importante observar que diag(0,n} € bastante diferente de diag(O:n). A fu + 1) constituida toda de zeros. Ver a seguinte safda MATLAB, Ao diag(O.n} & uma mati (+ 1) % Qn diagio.4) deseo eeeOnEEOnaeO! oe o ore Oso ee anaad: OeeO eto: 0 0 0 o Oo MODELOS MATEMATICOS DE SISTEMAS LINEARES O MATLAB possui comandos iteis para transformar um modelo matemxético de um sistema linear em um outro modelo, Tais transformagdes de sistemas lineares teis para a solugiio de problemas de engenharia de controle sio listados a se- Funcao de transferéncia para espaco de estados. 0 comando IA.B,C,D] = tf2ssinum,den) converte o sistema sob a forma de fungiio de transferéncia Ys) _ num mu = CGI Ay B+ D U(s) ~ den ~ CO AY para a forma no espago de estados ke Ax + Bu v= Cx + Du Apéndice / Fundamentos Necessérios ao Uso Efetivo do MATLAB, Espaco de estados para funcao de transferéncia. Se o sistema possuir uma entrada e uma safda, 0 comando [num,den] = ss2tfiA,B,C,D) produ a fungdo de transferéncia ¥/si/U(s) Seo sistema envolver mais de uma entrada, utiliza-se o seguinte comando: [num,den} = ss2tH(A,B,C,D,iu) Este comando converte o sistema no espago de estados X= AN + Bu yscx+Du para a fungio de wransferéncia Ys) Ufs) -ésimo elemento de[C(st ~ A)-'B + D] Note-se que o escalar ‘iu’ é um indice das entradas do sistema e indica qual entrada esta. sendo considerada para a res posta Considere-se, por exemplo, 0 seguinte sistema, que possui duas entradas 1 € a, ke] Duas fungbes de transferéncia podem ser obtidas para este sistema. Uma relaciona a safda y com a entrada u),.¢ a outrat relaciona a saida y com a entrada 1. (Quando se considera a entrada u,, admite-se que a enirada u, € igual a zero e vice- versa.) Ver a seguinte saida MATLAB. A=(0 1-2 31; B={1 00 1) 132 nur den} = ss2Hf,8,C,0.2) den = A pantr da saida MATLAB, tem-se Seco A-4/- Modelos Mateméticos de Sistemas Lineares 803 Ys) Uw) Ys) Uxs) erase? Expansao em fracdes parciais de funcao de transferéncia, Considere-se a fungio de tansferéneia Bis) _ num _ b(1)s" + b(2)9" + bin) Als) den ~ a(l)s" + a(2)s" 1+ => + ala) ‘onde a(1) # 0, mas alguns a(i) ¢ bY) podem ser iguais a zer0, Os vetores-linha num e den especificam os coeficientes do numerador ¢ do denominador da fungdo de transferéncia, Isto 6. num = [6(1) (2) bun] den =[a(1) a(2) +++ a(n)] © comanda Inp.kl_ = residueinum den} achat os tesiduos, os pos ¢ os termos ditetos da expansio em lragdes parcias da regio dos dois polindmios B(s)¢ AC). A expansao de B(s)/A(s) em fragdes parciaisé dada por ron) BO) __ Dr) : POL) 8 = p(2) y= p(n) Als) + kis) Como cxemplo, considere-se a seguinte Fungi de transferéncia: Bu) Als) + 68? + 1s +6 Para esta fungiio, pum Sigel den 6 1 6l Ocomando. [rp.k] = residue(num,den) Fomece o seguinte resultado: [pk] = residueinum,den) 804 —Apéndice_/ Fundamentos Necessérios a0 Uso Efetivo do MATLAB Note-se que 05 esidvos relornam sob a forma de vetor-coluna r, 0s pélos sob a forma de um vetor-coluna p ¢ o termo direto na forma de um vetor linha k. Esta a representagio MATLAB da seguinte expansdo de B(s)/A(s) em frayies par= ciais: Bis) _ 2st + Ssh + 3s 46 (is) (s + 1)(s + 2)(5 + 3) 4432 st2 sel Ocomando [num,den] = residuetsp.k) onde ¢, pek: 20 05 dados na safda MATLAB anterior, converte a expansto em fragdes parciais de volta na relagdo po- Tinomial B(s)/A(s), como a seguir: [our den} = residuetrp.k 2,000 5.0000 3,0000 6.0000, den 1,0000 6.0000 11.0000 6.0000 Conversao de modelo continuo no tempo para discreto no tempo. © comando IGM C2dA.B,TS) ‘onde Ts & 0 periodo de amostragem em segundos, converte 0 modelo de espago de estados continuo no tempo em disereto no tempo, considerando-se a existéncia de um extrapolador de ordem zero nas entradas, Isto é, com este comando k= Ax+ Bu convertido para x(k + 1) = Gxtk) + Hut) Considere-se, por exemplo, o seguinte sistema continuo no tempo: fy 0 tyfa], fo +] ilu a] [-25 -4]]m] 7 [1 ode-se obter um sistema discreto equivalente por meio do comando [G,H] = c2d(A,8,Ts). O periodo de amostragem Ts € suposto igual a 0.05 s, Ver a seguimte sada MATLAB, 10 25 —4l; B= [os format long, IGM] = c2chA,B,0.05), Seco A-4 /- Modelos Matematicos de Sistemas Lineares 805 806 c- 0,97088325381929 0,04484704238264 1.12117605956599 0.79149508428874 0.00116466984723, 0.04484704238264 O sistema discreto equivalente no espago de estados & dado por sik +0] [09709 os485] [40] , [0.001165] 4, rok +1)]~ [1.1212 07915 || x(k)” [o.oaass |" Resumo. 0 material apresentado neste apéndice constitui um pré-requisito para o MATLAB, Como todos 0s céleu- Jos grificos neste livro sio feitos com 0 MATLAB, o leitor deve estar familiarizado com o material deste apéndice. ‘Apéndice / Fundamentos Necessirios ao Uso Efetivo do MATLAB Referéncias Al Sckermann. J.B, “Der EntwulfLincarerRegelu 972). 297- 300, 4-2. Anderson, B.D. 0. ©. B, Moore, Lear Optima! Control. Uppee Sade River, NJ Prentice Hall, 1971 $3. Athans Bi, eP. Fall Opti CntrolAn nradacron tothe Theor ond fis Applications, New York: McGraw-Hill Book Company, (368 BL Ramet S. "Matrices, Polynit, and Linear Time inasiam Ssstoms" EEE Trans. Automatic Con, AC=48 (1973). pp 1-10, B22 Baplisg L-E. iving Conte Systems, London: English Universities Press Limited, 1986 B} Bellman, Ry rradiction to Moire Anais. New York: McGraw-Hill Book Company, 1960. Bol Bade {LW Nerwork Anas and Feedback Design. New York: Van Nostrand Reinol 1948, B'S Brogan. L, Modern Control Theor. Upper Sade River, Ni: Premise Hal, 18S, Boo Butman-S.e, Sivan (Sussman), "On Cancellations, Contolabliysnd Obserabiiy.” IEEE Trans. Aaromatie Control, AC 9 (146). pp 317-8 Campbell BP. Process Dvnanies, New York: lon Wiley Sons, le 1988 Cannon. Dynamics of Pavia! Systems. New York: MeGraw-Hil Book Company, 1967. Chang. Ps Mve' layasuriya, "An Evaluation of Several Coals Syathesis Methodologies Using «Rotating Flexible Beams ‘Test Bed." ASHE J. Dananie Stents, Measurement, ced Control IT (1995), pp. 30-73. Cot Cheng, D. K Anas af Lineor Sones. Reading. MA: Addison-Wesley Publishing Company. Ine. 1959 CS Churchill RV. Operational Mathematics, 32 et New York: MeGraw-Hill Book Company. 1972 Ch Coddinglon E. A. CN, Levinson Theo of Ordinary Differential Equations. New York: McGraw-Hill Book Company, 1955 ©) Ging. tel nodition to Robotics, Mechanics and Cootrol. Reading. MA: Addison-Wesley Publishing Company In. 198, EE _ Cunningham, W. J laneaderion to Nonlinear Analsix New York: MeGra-Hill Book Company. 1988 Systeme im Zestandstaun” Regelungs tel und Processdatenverareinng, Del Doct R-C. Mere Control Sestems, e620. Reading. MA: Addison-Wesley Publishing Company. In. 1992, D2 Doyle. CB. A. Francis A. Tannenbaum, Feedback Control Theor. New York: Macmii iey 1992, EL Enns, ty. R, Greene Il JE Mlathevon,e FT. Thompson, "Practical Aspects of State Space Methods Pat I System Formation and Reduction,” BEE Pru. Military Electrons. MIL-® (1968). p. 81-93, 2. Evans, W-R, Graphical Analysis of Contol Systems." AIEE Tres Pur I 671948), pp SATS 3. ErancW, Ro "Canto Systm Synthesis by Root Laces Method.” AVEE Trans. Part 1.69 (1950), pp. 66-9, Ed Eyam W.R. “The Use of Zeros an Poles for Frequency Response or Transient Response.” ASME Trans. 76 (1954), pp Tas, Fl Franklin, GP. J.D. Powell © A. Emami-Nacini, Fedbuck Contr Dishing Company. Inc. 1986 2 Priedland. Bs Control System Desig. New York: McGraw-Hill Book Company. 1986. 3 PUK SeR-C.GonsakeaC. 8G. Lee. Robonics. Control, Sensing, Vision ond Intelligence. New York: McGraw-Hill Book ‘Company. 1987. G-L Gantmacher, FR. Theory of Maries, vols 1H. New York: Chelsea Publishing Company. ne. 1989 G2 Gannon MF, el. Bares, Frmieni in Linear Systems, New York John Wiley & Sons Tne 12, G3 Gibson. JE Nonlinear Automatic Control, New York: McGraw-Hill Book Company. 1963, Gol Gen E,G.-Contllabiity and Obsersabiity in Multivariable Contol Stems." .SIAM Control ser. A (1963).pp. 128-5 G5 Graham Be R.C- Lathrop. The Synthesis of Opinuns Respoase: Criteria an Standard Farms,” IEE Tas. Pare fl. 7241953), pp.273.88 Fan W. Theor and Application of Lignanon’s Direct Meth. Upper Sale River. NI: Prentice Hall, 1963 Dynamic Systems, Reading, MA: Addison-Wesley Po 2 Halos, Re Finite Dinesenal Vector Spaces, New York: Van Nostrand Reino, (988. Ho Higdon, D.Te 1. Cannon. Jr"Onthe Cant of Unstable Muliple-output Mechanical Systems." ASME Paper no. G3-WA. 18, 1083 11 tnvin J.D. Basic Bnginecring Cireuit Anais, New York: Macmillan, Ine. 1984 JA Jayanuiga 8. "Frgueney Domain Design for Robust Petrmance Linder Paranetie, Unstructured. ou Mixed Uceraies." ASME 4B Dynamic Sisters, Measaemen Kel Kailath 7, Linear Systems Upper Sadile River, NJ: Penice-Hall In. 1980. K2 Kalman. 8. E-"Contibutons tothe Theory of Optimal Cont” Bo. Sor: Ma Mex. 8 (1960), pp. 102-19 KS Kalman, RUE “On the Goneral Theory of Cotl Systems.” Proc. First Iner, Cong, IFAC, Moscow. 1960 Automatic and Remote Contot. London: Butterworths & Company Limited 1961, pp. 481-92 Ke Kalman RE, "Canonical Stucture of Linear Dynamical Systems Proc. Nat Acad Sei, USA. 8 (1962, pp $9660. KS Ke 7 Control 18 (1993), pp $391 Kalman, 8 E2 When fsa Linear Contol System Optimal?” ASME L Basic Engineering, set.D86 1964), pp 51-60 Kalman, Rc Ee. Bestam, Cont System Analysis and Design vi the Second Method of Lyapunov: I Continuous-Time System” ASME J, Basic Engineering, ser D8 (1960). pp. 371-95 807 808 7. Kolman.R.E.Y.C. Ho. K.S, Narendra “Conlabilty of Linear Dynamic Syston Contribs to Differential Equations Sok, New York: Wiey-nterscence Publier, Inc. 1962 K-8 _Kochenburgr, RJ." Frequency Response Meth for Analyzing and Synhesizing Contactor Servomecanisns.” VBE Trans 691980), pp. 270-83, K9 Kreiner Ee PF. Sarachck, "On the Coneepts of Contotiability and Observabiity of Linear Systems." IEEE Trans. Autom sie Cone, NC 96H. pp. 129-36 Kuo, BC. Aromatic Control Systems, 6.24. Upper Saddle River, NJ Prentice Hall, 1991, LaSalle. Pe S. Lefschetz Stabiin of Ligue Direct Methad with lppicarions New York: Academic Press ne. 1961 LLucnberger, DG. “Observing the State oft Linear System." IEEE Trans Miltary Elevtr, MUL-8 (19641, pp. 5280. {are A: Le EN. Rozenvasser. “On Methods of Cotsiniting Lispunos Functions inthe hoy of Nonlinear Contol Syste ms" Pre. Fr fnter, Cong. IFAC, Moscou, 1960, Aromatic and Remote Conok, London: Buterworths & Company Lin "ed. 1961, pp. 928-33, Mel MathWorks Ine. MATLAB User's Gude. Natick, Mass: MathWorks, I. 1990, M-2_ MathWorks, Ie The Student Edson of MATLAB, verso 3, Upper Sale Rivet, Ni: Prentice Hall, 1992 M3. MathWorks: In. The Suafet Editon of MATLAB, vera 4.0, Upper Sale River NI Prentice Hall, 1095 M3 Meltoume. W.G."Tee Dimensional Opin Tart Trajectories for Power-Limited Propulsion Systems" ARS J. 31 (1961). pr. 17288 Mot Methoure, W.G, ¢C.G Sauer, J. “Optimum Inerplanstry Rende7sous with PowerLimited Vehicles.” AAJ, 111969), pp. 5460 M.6 Mirsky, N. Nonfnear Oscillations, New York: Van Nostrand Reinhold, 1962 M-7 Monopoll RV. "Conroe Design for Nonlinear and Time-Varying Phi,” NASA CR182 janeiro de 1968 N:1 Noble. B.eJ, Dine Applied Linea Algebra, 2 ed, Upper Saddle River, NI: rene Hal. 1977 IN-2 Nyquist "Regeneration Theory,” Bell Sratem Tech 1111932) pp. 12647 O-1 Ogata, K. Sate Space nats of Control Seiten Upp Sale River NI; Prentice Hall, 1967, 0-2 Ogata, Sistem Dynomies. 2" ed. Upper Sale River, NI: Prentice Hall. 1992, 08 Ogata: K: Discreresime Conn) Systems. 2 ed. Uppee Saddle River, NI: Prentice Hall, 1995, Ob Ogata: Solving Conte! Bgineering Problems wh MATLAB. Upper Sale River, NJ: Prentice Hall, 1998 O'S Ogata. K. Designing Linear Consol Sestems with MATLAB, Upper Sale River, NI. Prentice Hal, 1998 PAL Philips. Le RD. Harbor, Feedback Consol Systems. Upper Sale River, Ni: Premice Hal, 1988, P2 Pontpasin. LS. V.G Bolgansil.R. V. Gamkseidze.e EF Mishohenko, The Mathematical Theory of Opinal Processes New ¥ork Jn Wiley Sons ne. 1962. Rel Rekasis 2, V. "A General Peformance Index for Analytical Design of Contol Systems.” IRE Tans. Automatic Carol, AC 611801) pp. 217.22. $1 Schuli,D.G.e1.€ Gibson, “The Variable Gradient Method for Generating Liapnov Functions.” IEE Trans Part 8 (1962), pp. 208.09, 5:2 Schultz. W.C. e V.C Rideout. "Control System Performance Measures: Pat Presa and Fut.” RE Trans Automatic Con rol. NG (1961), pp. 2-35 Smith RJ. lecermes: Circuits and Devices, 2* ed, New York: John Wiley & Sons. In, 1980. Stats. P-E. "A Survey of Adaptive Control Topics" Plan B paper Dep, of Mech Eng. Universit of Minnesota, March 1966, Stang. G. Linear Agebra and ls Applications. New York Acadenie Pres, In. 1976 Trunal.1.G.Auomaic Feedback Sestems Somes New Yorks MeGra-ill Book Company 1985, Valkenburg, M-E.-Nenwor Analysis, Upper Saddle River, NI. Prentice Hal, 197, ‘Van Landingham. Fe W. A. Blackwel, “Conte Design fr Nonliner nd Time-Varying Plants.” Educational Monogr ‘ph. Collegeof Engineering, Okina State University. 1947 ‘Wael. LB. Descnbing Funtion a Power Series.” IRE Trans. Automatic Control, ACT (1962) pS Waltz, M, De K.S. Fu,"A Learning Contol System,” Pow. Jain Aromatic Control Conferences 1968. pp. Wiles, RB. "Analysis and Syniesisof Dynamics Pecowmanceof Isr Oraavations The Applicaton of Feedback Con tol Techniques to Organizational Systems.” IRE Tras. Aatomatic Contol, NC-T (19631. pp S367 Wot Willoms.1.C.€ 8. K. Miter, “Controllability, Observabity. Pole Allocation. and State Reconstruction.” IEEE Trans Auton se Control, NC-H6 (1971p. 58295, W'S Wojcik, C.K. “Analytical Represetation of ho Root Locus.” ASME. Rasic Engineering, ser. D. 86 (1964), pp. 37-4, 1-6 Wonkam. W. M, "On Pole Asignment in Molt-Input Contollable Linear Syste” EEE Trans. Automatic Control, ACHI2 1967) pp. 66s Ziegler. J. Gye N. B. Nichols, “Optimum Settings for Atomic Controle.” ASME Trans 64 (1942), pp. 75968, Zieaer.J.G.e N.B, Nichols. "Process Lags in Automatic Contol iris." ASME Trans 68 (1943). pp 813-84 Referéncias

Você também pode gostar