Preview only show first 10 pages with watermark. For full document please download

Apostila Matlab

Apostila MatLab

   EMBED

  • Rating

  • Date

    December 2018
  • Size

    1.3MB
  • Views

    5,098
  • Categories


Share

Transcript

Universidade Federal de Santa Maria Centro de Tecnologia Curso de Graduação em Engenharia Elétrica Programa Especial de Treinamento Introdução ao MATLAB Guia Prático da Versão 5.0 Santa Maria, maio de 2003 Índice 1. Introdução ..........................................................................................................................................................1 2. Características Básicas.......................................................................................................................................1 2.1 Operações Simples.......................................................................................................................................1 2.2 Formatação de números ...............................................................................................................................1 2.3 Uso de Variáveis..........................................................................................................................................3 2.4 Sobre variáveis.............................................................................................................................................4 2.5 Outras funções básicas .................................................................................................................................4 3. Funções Científicas ............................................................................................................................................5 3.1 Funções Matemáticas Gerais........................................................................................................................5 3.2 Números Complexos....................................................................................................................................6 4. Ajuda On-line ..................................................................................................................................................10 4.1 O comando HELP ......................................................................................................................................10 4.2 O comando LOOKFOR .............................................................................................................................11 5. Operações de arranjos......................................................................................................................................12 5.1 Arranjos simples ........................................................................................................................................12 5.2 Endereçamento de arranjos ........................................................................................................................12 5.3 Construção de arranjos...............................................................................................................................13 5.4 Operações Arranjo-Escalares.....................................................................................................................14 5.5 Operações Arranjo-Arranjo .......................................................................................................................14 5.6 Orientação dos Arranjos ............................................................................................................................15 5.7 Outras funções ...........................................................................................................................................16 6. Representações Gráficas Simples: ...................................................................................................................18 6.1 Comandos Plot e Plot3...............................................................................................................................18 6.2 Outros comandos .......................................................................................................................................22 7. Arquivos de comandos.....................................................................................................................................24 8. Texto................................................................................................................................................................25 9. Operações Relacionais e Lógicas.....................................................................................................................26 9.1 Operadores Relacionais .............................................................................................................................26 9.2 Operadores Lógicos ...................................................................................................................................27 10. Álgebra Linear e Matrizes..............................................................................................................................29 10.1 Funções Básicas.......................................................................................................................................29 10.2 Outras Funções.........................................................................................................................................30 11. Manipulação de Matrizes...............................................................................................................................30 11.1 Outras Funções.........................................................................................................................................31 12. Estruturas de comandos .................................................................................................................................32 13. Funções para arquivos M-File........................................................................................................................34 13.1 Funções Básicas.......................................................................................................................................34 14. Análise de Dados ...........................................................................................................................................36 14.1 Funções Básicas.......................................................................................................................................36 14.2 Outras funções .........................................................................................................................................38 15. Polinômios .....................................................................................................................................................39 15.1 Raízes.......................................................................................................................................................39 15.2 Multiplicação ...........................................................................................................................................39 15.3 Adição......................................................................................................................................................40 15.4 Divisão .....................................................................................................................................................40 15.5 Derivada...................................................................................................................................................40 15.6 Gráfico da função.....................................................................................................................................40 16. Ajustamento de curva e Interpolação ...............................................................Erro! Indicador não definido. 16.1 Ajustamento de curvas .............................................................................................................................41 -1- 16.2 Interpolação Unidimensional ...................................................................................................................41 17. Análise Numérica...........................................................................................................................................44 17.1 Plotagem ..................................................................................................................................................44 17.2 Minimização e Maximização ...................................................................................................................44 17.3 Determinação do Zero..............................................................................................................................45 17.4 Integração ................................................................................................................................................45 17.5 Diferenciação ...........................................................................................................................................46 17.6 Equações Diferenciais..............................................................................................................................47 18. Referência a Sinais e Sistemas.......................................................................................................................49 18.1 Função BODE..........................................................................................................................................49 18.2 Função NYQUIST ...................................................................................................................................50 18.3 Função RLOCUS .....................................................................................................................................52 19. Tabelas de Referências ..................................................................................................................................54 19.1 Comandos Gerais .....................................................................................................................................54 19.2 Operadores e Caracteres Especiais ..........................................................................................................55 19.3 Construção de Linguagem e Depuração...................................................................................................55 19.4 Manipulação de Matrizes.........................................................................................................................56 19.4.1 Matriz Elementar ..............................................................................................................................56 19.4.2 Matrizes Especiais ............................................................................................................................57 19.5 Funções Matemáticas...............................................................................................................................57 19.5.1 Funções de Matemática Elementar ...................................................................................................57 19.5.2 Funções Especializadas da Matemática ............................................................................................59 19.6 Funções Matriciais - Álgebra Numérica Linear .......................................................................................59 19.7 Análise de Dados e as Funções da Transformada de Fourier...................................................................60 19.8 Funções Polinomiais e Interpolares .........................................................................................................60 19.9 Função – Função ......................................................................................................................................61 19.10 Funções Matriciais Esparsadas ..............................................................................................................61 19.11 Gráficos Bidimensionais ........................................................................................................................62 19.12 Gráficos Tridimensionais.......................................................................................................................62 19.13 Funções Gráficas....................................................................................................................................63 19.14 Controle de Cores e Funções de Luminosidade .....................................................................................64 19.15 Funções Sonoras ....................................................................................................................................64 19.16 Funções de Texto ...................................................................................................................................65 19.17 Funções de Arquivos I/O de Baixo Nível ..............................................................................................65 20. Tabela de Referência a Matemática Simbólica. .............................................................................................66 21. Referência a Sistemas e Sinais.......................................................................................................................67 -2- Curso de Introdução ao MATLAB - Guia Prático Junho/2002 1. Introdução Nesta terceira edição do Curso de Introdução ao MATLAB do Programa Especial de Treinamento do curso de Engenharia Elétrica, foram feitas algumas correções, inclusões e mudanças referentes à versão 5 do programa. O curso será, portanto, baseado nesta apostila, mas a exemplo de sua primeira edição, serão acrescentados alguns itens ou comentários que venham a se tornar oportunos durante as aulas expositivas, de forma que as aulas não estarão “presas” ao conteúdo deste manual de referência. Como exemplo disto, será dada uma ênfase na parte de programação um pouco maior que aquela dada nesta apostila, além de exemplos de situações que possam vir a surgir no decorrer do curso. No final desta apostila vocês ainda encontrarão uma biblioteca de funções que o MatLab possui. 2. Características Básicas O MATLAB é, de maneira geral, um interpretador de comandos que trabalha essencialmente com um único tipo de objeto: uma matriz retangular numérica podendo ter elementos complexos. Em algumas situações é atribuída uma denominação especial às matrizes |x|, chamadas de escalares, e a matrizes com somente uma linha ou coluna, que são chamadas de vetores. Desta característica veio o seu nome: Laboratório de Matrizes (MATrix LABoratory). 2.1 Operações Simples Operação Adição Subtração Multiplicação Divisão Potência a+b a−b a×b a÷b ab Símbolo + * / ou \ ^ Exemplo 5+3 25-13 3.14*0.82 64/8 = 8\64 7^3 Nas expressões podem-se usar parênteses, a fim de digitar a expressão certa. Exemplo: Expressão 6 ⋅2 2 6 32 − 5 − 3⋅ 2 2 4⋅3 +1 (4 ⋅ 3) 2 + 1 32 − 5 − MATLAB Resultado 3^2-5-6/3*2 0 3^2-5-6/(3*2) 3 4*3^2+1 37 (4*3)^2+1 145 2.2 Formatação de números O resultado de qualquer expressão de atribuição do MATLAB é mostrado na tela, tanto se for atribuído a uma variável específica, ou à variável “ans”, se nenhuma variável é fornecida. O formato numérico a ser exibido pode ser controlado usando-se o comando “format”. Este comando afeta somente a maneira pela qual as matrizes são mostradas, não como são calculadas ou salvas (o MATLAB faz toda a computação com precisão dupla). -1- Curso de Introdução ao MATLAB - Guia Prático Junho/2002 Se todos os elementos de uma matriz são inteiros, a matriz é mostrada sem qualquer ponto decimal. Por exemplo: x = [-1 0 1] Sempre resulta em Digite x [enter] x = -1 0 1 Se pelo menos um dos elementos não for inteiro, há várias maneiras da saída ser formatada. O formato padrão, chamado formato “short”, mostra cinco dígitos decimais significantes. Os outros formatos mostram mais dígitos significantes ou usam a notação científica. Como exemplo, vamos supor x = [4/3 1.2345e-6] Os formatos, e a saída resultante para este vetor, são: format short 1.3333 0.0000 format short e 1.3333E+000 1.2345E-006 format long 1.33333333333333 0.00000123450000 format long e 1.333333333333333e+000 1.234500000000000e-006 format hex 3ff5555555555555 3eb4b6231abfd271 format + ++ format rat 4/3 1/810045 Nos formatos short e long, se o maior elemento de uma matriz for maior que 1000 ou menor que 0.001, um fator de escala comum é aplicado a toda a matriz quando esta é mostrada. Por exemplo: x = 1.e20*x multiplica x por 1020 e mostra o resultado x = 1.0e+020 * 1.3333 0.0000 O formato + é uma maneira compacta de se mostrar matrizes muito grandes. Os símbolos +, - e espaço são mostrados para elementos positivos, negativos e nulos, respectivamente. Um último comando, format compact, exclui muitas das quebras de linha que aparecem entre as matrizes, permitindo que mais informação seja impressa na tela. Os formatos mais utilizados estão colocados na tabela a seguir. -2- Curso de Introdução ao MATLAB - Guia Prático Comando do MATLAB format long format short e format long e Format hex format bank format + Format rat format short Número 35.83333333333334 3.5833e+01 3.583333333333334e+01 4041eaaaaaaaaaab 35.83 + 215/6 35.8333 Junho/2002 Componentes 16 dígitos 5 dígitos + expoente 16 dígitos + expoente hexadecimal 2 dígitos decimais positivo, negativo ou zero aproximação em fração padrão 2.3 Uso de Variáveis Podem-se usar variáveis, como “a”, “b”, “verdura”, desde que se atribua um valor a elas. Por exemplo: Determine quantas frutas foram compradas, o valor da compra e o valor médio pago por cada fruta.Dados: 2 maçãs à R$ 0,71 cada, 5 pêras à R$ 0,37 cada e 6 bananas à R$ 0,12 cada. Pode-se resolver usando as variáveis indicadas no problema. » macas=2 macas = 2 » peras=5 peras = 5 » bananas=6 bananas = 6 » frutas=macas+peras+bananas frutas = 13 » custo=macas*0.71+peras*0.37+bananas*0.12 custo = 3.9900 » valormedio=custo/frutas valormedio = 0.3069 IMPORTANTE!!! Para saber quais as variáveis que estão na memória, utiliza-se o comando who. Ele mostra todas as variáveis. E para saber o que está contido em alguma variável, digite-a na linha de comando, assim: » macas macas = 2 Para mudar o valor de uma variável, digite na linha de comando a variável e atribua um novo valor a ela, porém as variáveis que a utilizaram continuam com seus respectivos valores anteriores. Exemplo: » macas=3 macas = 3 -3- Curso de Introdução ao MATLAB - Guia Prático » frutas frutas = 13 Junho/2002 DICA: As teclas de função, ←, ↑, → e ↓ servem para modificar algum erro de digitação ou para repetir alguns comandos já escritos. 2.4 Sobre variáveis Como o MATLAB segue a linguagem do computador, existem alguns comentários a fazer: • fruta, Fruta, FrUtA e FRUTA são variáveis diferentes; • jamais os nomes das variáveis deverão começar com números, e sim com caracteres. Existem algumas variáveis especiais, como: Variável Valor ans variável padrão usada para resultados pi razão entre a circunferência e o seu diâmetro eps usada para números muito pequenos (épsilon) inf infinito, ou seja, 1 0 não é número, ou seja, NaN 0 0 iej i = j = −1 realmin um número pequeno real positivo realmax um número grande real positivo 2.5 Outras funções básicas • Como já vimos, o comando who mostra as variáveis que estão na memória. Para retirá-las, utiliza-se do comando clear. Note que ele é incondicional, ou seja, uma vez usado não poderá recuperar esses dados. Exemplo: » clear macas » clear peras bananas » clear apaga a variável macas apaga as variáveis pêras e bananas apaga todas as variáveis da memória • Você poderá incluir comentários às variáveis, usando para isso o sinal (%). Ex.: » macas=4 macas = 4 % Número de maças O MATLAB simplesmente ignora a parte escrita depois do sinal (%). • Múltiplos comandos poderão ser feitos numa linha só, separados por vírgulas (,) ou ponto-e-vírgula (;). Ex.: » macas=4 , bananas=6 ; peras=8 macas = 4 peras = 8 O (;) não mostra os resultados da operação, enquanto que (,) os mostra. -Para interromper a execução de um comando, pressione simultaneamente Ctrl+C. -Para sair do MATLAB digite quit. -4- Curso de Introdução ao MATLAB - Guia Prático Junho/2002 -Quando a expressão for muito longa, escreva três pontos (...), dê um espaço, pressione Enter e continue na próxima linha. 3. Funções Científicas Como nas calculadoras científicas, o MATLAB oferece funções importantes para a Matemática, Engenharia e outras ciências. O MATLAB também trabalha com números complexos. 3.1 Funções Matemáticas Gerais Algumas funções da matemática estão representadas nesse programa por alguns comandos. Exemplo: » x=sqrt(2)/2 x = 0.7071 » y=asin(x) y = 0.7854 OBS: Note que 0,7854 radianos correspondem a 45º! Veja abaixo: » y_deg=y*180/pi y_deg = 45.0000 Esses comandos envolvendo ângulos mostram que o MATLAB trabalha com os radianos, onde 2 π = 360° . Outros exemplos: » y=sqrt(3^2+4^2) y = 5 % Clássico exemplo do triângulo retangular 3-4-5; » y=rem(23,4) y = 3 » x=2.6 , y1=fix(x) % arredonda p/ 0 y2=floor(x) % arredonda p/- ∞ y3=ceil(x) % arredonda p/+ ∞ y4=round(x) % arredonda p/ inteiro x = 2.6000 y1 = 2 y2 = 2 y3 = 3 y4 = 3 -5- Curso de Introdução ao MATLAB - Guia Prático Junho/2002 Veja no Capítulo 19, comandos e funções do MATLAB. Na tabela abaixo, estão algumas das mais elementares funções matemáticas: Função do MATLAB abs(x) Aços(x) acosh(x) angle(x) asin(x) Asinh(x) atan(x) atan2(x,y) Atanh(x) ceil(x) conj(x) cos(x) Cosh(x) exp(x) fix(x) Floor(x) Imag(x) log(x) log10(x) real(x) rem(x,y) round(x) sign(x) sin(x) sinh(x) sqrt(x) tan(x) tanh(x) Função Matemática valor absoluto ou magnitude de um número complexo função inversa do coseno função inversa do coseno hiperbólico argumento de um número complexo função inversa do seno função inversa do seno hiperbólico função inversa da tangente função inversa da tangente do quarto quadrante função inversa da tangente hiperbólica arredondamento para o mais próximo de +∞ conjugado do número complexo função coseno função coseno hiperbólico x exponencial: e arredondamento para o mais próximo de 0 arredondamento para o mais próximo de −∞ parte imaginária de um número complexo logaritmo natural logaritmo decimal parte real de um número complexo resto da divisão x/y arredondamento para o mais próximo inteiro retorna o sinal de um número. Ex.: sign(1.2)=1, sign(-23.4)=-1e sign(0)=0 função seno função seno hiperbólico raiz quadrada função tangente função tangente hiperbólica 3.2 Números Complexos Para ilustrar os números complexos, consideremos a equação de segundo grau 2 ax + bx + c = 0 , onde: x1, x2 = − b ± b 2 − 4ac 2a Se a = 1, b = 5 e c = 6, a solução usando MATLAB será: » a=1 ; b=5 ; c=6 ; » x1=(-b+sqrt(b^2-4*a*c))/(2*a) x1 = -2 » x2=(-b-sqrt(b^2-4*a*c))/(2*a) x2 = -3 » a*x1^2+b*x1+c % substituindo x1 em x para verificar o resultado ans = 0 -6- Curso de Introdução ao MATLAB - Guia Prático Junho/2002 » a*x2^2+b*x2+c % substituindo x2 em x para verificar o resultado ans = 0 As últimas duas linhas de comando serviram para confirmar o resultado. Agora, imaginemos com a = 1, b =4, c = 13, a solução será: x1 = −2 + 3 −1 x2 = −2 − 3 −1 O −1 não é um número real, portanto o resultado da solução será um número complexo, com a parte real igual a 2 e a imaginária igual a 3 ou -3. A solução no MATLAB será: » a=1 ; b=4 ; c=13 ; » x1=(-b+sqrt(b^2-4*a*c))/(2*a) x1 = -2.0000 + 3.0000i » x2=(-b-sqrt(b^2-4*a*c))/(2*a) x2 = -2.0000 - 3.0000i » a*x1^2+b*x1+c % substituindo x1 em x para verificar o resultado ans = 0 » a*x2^2+b*x2+c % substituindo x2 em x para verificar o resultado ans = 0 x1 e x2 são números complexos da forma “a+bi”, sendo “a” a parte real, “b” a parte imaginária e i = −1 . Na engenharia, o j é mais usado, sendo esse aceito pelo MATLAB. A seguir, algumas operações com números complexos: » c1=1-2i c1 = 1.0000 - 2.0000i » c2=3*(2-sqrt(-1)*3) c2 = 6.0000 - 9.0000i » c3=sqrt(-2) c3 = 0 + 1.4142i » c4=6+sin(.5)*i c4 = 6.0000 + 0.4794i » c5=6+sin(.5)*j c5 = 6.0000 + 0.4794i -7- Curso de Introdução ao MATLAB - Guia Prático Junho/2002 Nos últimos 2 exemplos, o MATLAB considerou que i = j = − 1 . Outras operações: » c6=(c1+c2)/c3 c6 = -7.7782 - 4.49497i ( ) −1 » checagem=i^2 % checagem = -1.0000 + 0.0000i 2 = −1! » checagem=real(checagem) % mostra a parte real. checagem = -1 Há pelo menos duas maneiras convenientes de se entrar matrizes complexas no MATLAB, que estão ilustradas pelas expressões: A = [1 2; 3 4] + i*[5 6; 7 8] e A = [1+5i 2+6i; 3+7i 4+8i] e que irão produzir o mesmo resultado. O número i (ou j) pode ser entrado das duas formas que vimos, ou seja, com o símbolo de multiplicação ou sem. No entanto, algumas regras devem ser observadas. Quando não for usado o símbolo “*”: o número deve ser colocado antes da parte complexa, sem espaços (da mesma forma para números reais, um espaço colocado antes da potência como em 1.23 e-4 resulta em um erro). Não podemos, ainda, fazer o seguinte: A = [1 2; 3 4] + [5 6; 7 8]i Cuidado com as variáveis! Uma função interna pode ser usada como nome de variável: caso em que a função interna original se torna indisponível para o workspace corrente (ou função local em um arquivo .m), até que a variável seja limpa. Se você usar i e j como variáveis, você não poderá multiplicar a parte imaginária pela função i ou j, mas ainda poderá criar números complexos utilizando a forma sem “*”. No entanto, se for necessária a utilização da forma com “*”, podemos facilmente criar uma nova unidade complexa e usá-la desta forma: ii = sqrt(-1) z = 3 + 4*ii Agora, nesses exemplos finais, consideremos a forma polar e retangular: M∠θ = M ⋅ e jθ = a + bi onde M = a 2 + b2 θ = arctan b a a = M ⋅ cosθ b = M ⋅ senθ ( ) O MATLAB faz a conversão da forma polar em retangular, ou vice-versa usando as funções REAL, IMAG, ABS e ANGLE: -8- Curso de Introdução ao MATLAB - Guia Prático Junho/2002 » c1 c1 = 1.000 - 2.0000i » mag_c1=abs(c1) mag_c1 = 2.2361 » angle_c1=angle(c1) angle_c1 = -1.1071 » deg_c1=angle_c1*180/pi deg_c1 = -63.4349 » real_c1=real(c1) real_c1 = 1 » imag_c1=imag(c1) imag_c1 = -2 Dica: Note que ABS fornece o valor absoluto num número real e a magnitude de um número complexo; e ANGLE fornece o ângulo em radianos! -9- Curso de Introdução ao MATLAB - Guia Prático Junho/2002 4. Ajuda On-line Como o MATLAB é baseado em comandos, há a possibilidade do esquecimento de algum comando ou de sua função. Existem algumas possibilidades de consultar a ajuda: o comando help do MATLAB e o comando lookfor. Na versão 5.0 é possível abrir uma janela com os tópicos de help do MATLAB digitando helpwin. Ainda nesta versão existe um aplicativo que possibilita ao usuário uma maneira interativa de lidar com o programa que é o MATLAB Demo Window: 4.1 O comando HELP O comando help é muito simples, basta escrever help que mostra, se existir, as funções deste tópico. Ex.: » help sqrt SQRT Square root SQRT(X) is the square root of the elements of X. Complex result are produced if X is not positive. See also SQRTM. Nesse exemplo acima a ajuda da função da raiz quadrada. Agora, » help cows cows not found significa que nada existe sobre cows. - 10 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 Escrevendo o comando help assim, sozinho, aparece uma lista de tópicos de ajuda. Por exemplo: » help HELP topics: matlab:general matlab:ops matlab:lang matlab:elmat - matlab:speemat matlab:elfun matlab:specfun matlab:matfun matlab:datafun - matlab:polyfun matlab:funfun - matlab:sparfun matlab:plotxy matlab:plotxyz matlab:graphics matlab:color matlab:strfun matlab:iofun - General purpose commands. Operators and special characters. Language constructs and debugging. Elementary matrices and matrix manipulation. Specialized matrices. Elementary math functions. Specialized math functions. Matrix functions - numerical linear algebra. Data analysis and Fourier transform functions. Polynomial and interpolation functions. Function function - nonlinear numerical methods. Sparce matrix functions. Two dimensional graphics. Three dimensional graphics. General purpose graphics functions. Color control and lighting model functions. Character string functions. Low-level file I/O functions. For more help on directory/topic, type "help topic". 4.2 O comando LOOKFOR O comando lookfor é usado para ajuda sobre temas. Ex.: » lookfor complex CONJ IMAG REAL CDF2RDF RSF2CSF CPLXPAIR Complex conjugate. Complex imaginary part. Complex real part. Complex diagonal form to real block diagonal form. Real block form to complex diagonal form Sort numbers into complex conjugate pairs. Importante: Este comando serve apenas para temas, não para comandos. - 11 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 5. Operações de arranjos Muitas operações matemáticas se baseiam em arranjos. Nos próximos tópicos, falaremos sobre essa ferramenta da matemática no MATLAB. 5.1 Arranjos simples Para construir um arranjo é bem simples, basta escrever os números dentro de colchetes, separados por espaços cada elemento do arranjo. Ex.: » x=[0 .1*pi .2*pi .3*pi .4*pi .5*pi .6*pi .7*pi .8*pi .9*pi pi] x = Columns 1 through 7 0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8849 Columns 8 through 11 2.1991 2.5133 2.8274 3.1416 » y=sin(x) y = Columns 1 0 Columns 8 0.8090 through 7 0.3090 0.5874 through 11 0.5878 0.3090 0.8090 0.9511 1 0.9511 0.0000 Importante!!! Quando o arranjo contiver um número complexo, deve escrevê-lo sem espaços, pois o MATLAB, como qualquer outra linguagem de computação, interpretará como elementos deferentes dentro do arranjo. Ex: » z=[1 -2i 3 4 5+6i] ans = 1 -2i 3 4 5+6i 5.2 Endereçamento de arranjos No MATLAB, cada elemento do arranjo pode ser acessado, através da sua ordem. Por exemplo, x(1) é o endereço do primeiro elemento, x(2) do segundo, e assim por diante. Ex.: » x(3) % Terceiro elemento de X ans = 0.6283 » y(5) ans = 0.9511 Para acessar um bloco de elementos, o MATLAB utiliza esta notação: » x(1:5) % Do primeiro ao quinto elemento de x ans = 0 0.3142 0.6283 0.9425 1.2566 » y(3:-1:1) % Do terceiro ao primeiro elemento ans = 0.5878 0.3090 0 » x(2:2:7) % Do segundo, em intervalos de 2, até o sétimo elemento ans = 0.3124 0.9425 1.5708 - 12 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 Veja que neste último, o sétimo elemento não apareceu, pois não estava no intervalo dado a ele. » y([8 2 9 1]) % O oitavo, segundo, nono e primeiro elementos ans = 0.8090 0.3090 0.5878 0 5.3 Construção de arranjos Arranjos na matemática são usados tipicamente para progressões aritméticas e geométricas, como foi o caso do X. Ele tinha 11 valores, mas, o que fazer se precisar de 111 valores? O MATLAB tem uma resposta. Ex: » x=(0:0.1:1)*pi x = Columns 1 through 7 0 0.3142 0.6283 Columns 8 through 11 2.1991 2.5133 2.8274 0.9425 1.2566 1.5708 1.8849 1.2566 1.5708 1.8849 3.1416 » x=linspace(0,pi,11) x = Columns 1 through 7 0 0.3142 0.6283 Columns 8 through 11 2.1991 2.5133 2.8274 0.9425 3.1416 No primeiro caso, a notação (0:0.1:1) criou um arranjo que começa em 0 e vai até 1 em intervalos de 0,1. No segundo caso, a função linspace foi usada para criar X. Sua sintaxe é: linspace(primeiro_elemento,ultimo_elemento,numero_de_elementos) Existe também a função logspace, semelhante a e esta última, porém com expoentes. Ex.: » logspace(0,2,11) ans = Columns 1 through 7 1.0000 1.5849 2.5119 3.9811 Columns 8 through 11 25.1189 39.8107 53.0957 100.0000 6.3096 0 10.0000 15.8489 2 Ele criou um arranjo que começa em 10 até 10 , contendo 11 valores. Sua sintaxe é: logspace(primeiro_expoente,ultimo_expoente,numero_de_expoentes) Há outras formas de criar um arranjo. Nos próximos exemplos, citaremos alguns deles: » a=1:5,b=1:2:9 a = 1 2 3 4 b = 1 3 5 7 » c=[b a] c = 1 3 5 7 5 9 9 1 » d=[a(1:2:5) 1 0 1] d = 1 3 5 1 0 1 2 3 4 5 - 13 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 5.4 Operações Arranjo-Escalares Pode-se fazer adição, subtração, multiplicação e divisão por um escalar a todos os elementos de um arranjo. Ex.: » a-2 % Subtraiu 2 de cada elemento de a ans = -1 0 1 2 3 » 2*a-1 % Multiplicou cada elemento de a por 2 e subtraiu 1 ans = 1 3 5 7 9 5.5 Operações Arranjo-Arranjo Podemos fazer a adição, subtração, multiplicação e divisão de arranjos, aplicados elemento-aelemento (Primeiro com o primeiro, Segundo com o segundo...). Ex: » a,b a = 1 b = 1 2 3 4 5 3 5 7 9 5 8 11 14 » ans-b ans = 1 2 3 4 5 » 2*a-b ans = 1 1 1 1 1 » a+b ans = 2 Para a multiplicação e divisão de arranjos, requer a inclusão de um ponto. Ex.: » a.*b ans = 1 6 15 28 45 » a./b ans = 1.0000 0.6667 0.6000 0.5714 0.5556 » b.\a ans = 1.0000 0.5714 0.5556 0.6667 0.6000 » a*b ??? Error using ==> * Inner matrix dimensions must agree. A divisão destes dois arranjos, feitos sem o ponto, será considerada uma operação de matrizes. Ex: » a/b ans = 0.5758 - 14 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 » a\b ans = 0 0 0 0 0.2000 0 0 0 0 0.6000 0 0 0 0 1.0000 0 0 0 0 1.4000 0 0 0 0 1.8000 Pode-se fazer também potências entre arranjos, arranjos e escalares, mas deve-se usar o ponto. Será feita elemento-a-elemento. Ex.: » a,b a = 1 b = 1 2 3 4 5 3 5 7 9 » a.^2 ans = 1 4 9 16 25 » 2.^a ans = 2 4 8 16 32 » b.^a ans = 1 9 125 2401 » b.^(a-3) ans = 1.0000 0.3333 1.0000 59049 7.0000 81.0000 5.6 Orientação dos Arranjos Nos exemplos anteriores, o arranjo era linear, ou seja, ocupava várias colunas e apenas uma linha. Para mudar essa orientação para arranjo em colunas, ou seja, ocupar várias linhas e apenas uma coluna, deve-se, em vez de colocar os números com espaços, colocar o ponto-e-vírgula entre os elementos. Ex.: » c=[1;2;3;4;5] c = 1 2 3 4 5 Para criar um arranjo em colunas, deve-se primeiro utilizar os procedimentos da criação em linhas, e depois usar o operador “transpose” ( ' ). Ex.: » a=1:5 a = 1 2 » b=a' 3 4 5 - 15 - Curso de Introdução ao MATLAB - Guia Prático b = 1 2 3 4 5 Junho/2002 Agora, para os números complexos, o operador “transpose” faz a transposição com o seu conjugado. Ex.: » d=a+i*a d = Columns 1 through 4 1.0000+1.0000i 2.0000+2.0000i Column 5 5.0000+5.0000i » e=d' e = 1.0000 2.0000 3.0000 4.0000 5.0000 - 3.0000+3.0000i 4.0000+4.0000i 1.0000i 2.0000i 3.0000i 4.0000i 5.0000i Para resolver esta situação, utilizaremos o ponto (.'). Ex: » f=d.' f = 1.0000 2.0000 3.0000 4.0000 5.0000 + + + + + 1.0000i 2.0000i 3.0000i 4.0000i 5.0000i 5.7 Outras funções Lembra-se do comando who? Ele mostrava as variáveis locadas na memória. No caso dos arranjos, o comando whos nos dá uma informação adicional. » whos Name Size Elements Bytes Density Complex a 1 by 5 5 40 Full No b 5 by 1 5 40 Full No d 1 by 5 5 80 Full Yes e 5 by 1 5 80 Full Yes f 5 by 1 5 80 Full Yes Esta Tabela ilustra as operações básicas de arranjo a = [a 1 a2 . Operações de Arranjos a n ] , b = [b 1 b2 . b n ] e c = {escalar} - 16 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 Operações de Arranjos Adição com escalar Multiplicação com escalar a + c = [a 1 + c a 2 + c a * c = [a 1 * c a 2 * c / . Adição de arranjos a + b = [a 1 + b 1 Multiplicação de arranjos a.*b = [a 1 * b 1 a 2 * b2 a./ b = [a 1 / b 1 a 2 / b2 Divisão de arranjos a.\ b = [a 1 \ b 1 a 2 + b2 a2 \ b2 a. ^ c = [a 1 ^ c a 2 ^ c Potência em arranjos c ^ a2 a. ^ b = [a 1 ^ b 1 a 2 ^ b2 a n * c] . a +b ] / a *b ] . a /b ] n n n . / . c. ^ a = [c ^ a 1 a n + c] n n n an \ bn ] a n ^ c] . c ^an ] an ^ bn ] - 17 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 6. Representações Gráficas Simples: 6.1 Comandos Plot e Plot3 Embora o MATLAB possua uma capacidade gráfica grande, nós iremos mostrar as linhas gerais. Consideremos a função y = sen x , e 0 ≤ x ≤ 2 π . Para isso, primeiramente criaremos 30 pontos entre 0 e ( ) 2π : » x=linspace(0,2*pi,30); O seno dos pontos de x: » y=sin(x); O comando plot desenha a função: » plot(x,y) 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 1 2 3 4 5 6 7 Agora desenharemos a função seno e a função coseno no mesmo gráfico: » z=cos(x); » plot(x,y,x,z) 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 1 2 3 4 5 6 7 - 18 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 Vamos agora desenhar a função seno, e indicar os pontos que definiram a curva usando o símbolo “+”. » plot(x,y,x,y,'+') 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 1 2 Desenhamos agora o gráfico » plot(y,z) 3 4 5 6 7 cos(x )× sen(x ) , ou seja, cos(x ) = f (sen(x )) 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 -1 -0.5 0 No próximo exemplo ilustraremos a identidade função usando linhas pontilhadas: » » » » » plot(x,y,x,2*y.*z,'--') grid xlabel('Variável Independente X') ylabel('Variável Dependente') title('2sin(x)cos(x)=sin(2x)') % % % % 0.5 1 2 sen(θ )cos(θ ) = sen(2θ ) . Desenharemos a Linhas de grade do gráfico Nome do eixo dos X Nome do eixo dos y Título do gráfico - 19 - Curso de Introdução ao MATLAB - Guia Prático V a r i á v e l D e p e n d e n t e Junho/2002 2sin(x)cos(x)=sin(2x) 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 1 2 3 4 5 Variável Independente X 6 7 Analisaremos agora o exemplo de gráficos em 3-D: » plot3(x,y,z),grid 1 0.5 0 -0.5 -1 1 0.5 8 0 4 -0.5 -1 6 2 0 A seguir, uma tabela com as cores e formas da função plot: Símbolo y m c g b w k Cores Amarelo margenta cyan verde azul branco preto Símbolo . o x + * : -. -- Linha ponto círculo marca-x cruz estrela linha de pontos traço e ponto traço e traço Com a função text você pode inserir no gráfico algum texto. Ex.: » » » » y=sin(x); z=cos(x); plot(x,y,x,z) grid - 20 - Curso de Introdução ao MATLAB - Guia Prático » xlabel('Variável Independente X') » ylabel('Variável Dependente') » title('Curvas seno e coseno') » text(2.5,0.7,'sin(x)') Junho/2002 Já o comando gtext faz o seu cursor virar em forma de cruz, para que você coloque o argumento da função no gráfico. Ex: » gtext('cos(x)') V a r i á v e l D e p e n d e n t e Curvas seno e coseno 1 0.8 sin(x) 0.6 0.4 cos(x) 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 1 2 3 4 5 Variável Independente X 6 7 O comando axis manipula o gráfico, como o eixo de coordenadas e a escala. A tabela abaixo há uma descrição do comando: Comando Axis([xmin xmax ymin ymax]) axis auto axis ('auto') Axis(axis) axis xy axis ('xy') axis axis axis axis axis axis axis axis axis axis square ('square') equal ('equal') normal ('normal') off ('off') on ('on') Descrição Indica o máximo e o mínimo valores usados para os eixos. Se escreve na forma de vetor. Retorna a escala normal, com xmin=min(x), xmax=max(x), etc. Faz com que a escala seja feita nos correntes limites, só que a função hold será ligada, e os subsequentes plots usarão o limite dessa primeira. Usa as coordenadas cartesianas, fazendo com que o eixo horizontal sejam da esquerda para a direita, e o eixo vertical seja de baixo para cima. Faz com que o corrente plot seja feito de modo que a figura seja um quadrado. Faz com que as escalas sejam iguais para os eixos. Desliga quando axis for square e/ou equal. Tira os eixos da figura. Também os labels, mas deixa o título e os feitos pelos comandos text e gtext Retorna os eixos, juntamente com os labels e o grid. Note: Se você quiser usar, no comando axis, mais de um argumento, usa-se os argumentos separados por vírgulas, dentro dos parênteses. Ex: » axis('square','equal') - 21 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 6.2 Outros comandos • loglog é semelhante ao plot, porém seus eixos estão em escalas logarítmicas. • semilogx é semelhante ao plot, porém seu eixo-x usa a escala logarítmica, enquanto o eixo-y usa a escala linear. • semilogy é semelhante ao plot, porém seu eixo-y usa a escala logarítmica, enquanto o eixo-x usa a escala linear. • Para plotar em coordenadas polares, fazemos o uso do comando polar(t,r,S), onde t é o vetor ângulo, r é o vetor radiano e S é o opcional caracter ou cores. Ex.: » » » » t=0:.01:2*pi; r=sin(2*t).*cos(2*t); polar(t,r) title('Polar Plot of sen(2t)cos(2t)') • Usa-se o comando bar e o comando stair para utilizar o gráfico através de colunas. Ex.: » » » » x=-2.9:0.2:2.9; y=exp(-x.*x); bar(x,y) title('Curva feita pela função BAR') Curva feita pela função BAR 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 -5 0 5 » stairs(x,y) » title('Curva feita pela função STAIR') - 22 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 Curva feita pela função STAIR 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 -3 -2 -1 0 1 2 3 - 23 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 7. Arquivos de comandos Você pode colocar uma série de comandos a serem executados no MATLAB criando um arquivo. Este conterá a extensão (m). O termo M-file será usado para arquivos de comandos. Para criar um arquivo, escolha New no menu File e selecione M-file. Abrirá uma janela do editor de texto. Depois de salvá-lo em seu disco, com o nome de teste.m, por exemplo, o MATLAB só executará os comandos de seu arquivo se você chamá-lo na linha de comando. Ex.: » teste O MATLAB procurará no diretório corrente, emitindo um sinal se não achá-lo. A seguir, alguns comandos que você necessitará para a manipulação desses arquivos: Comando What Dir Ls type test delete test cd path chdir path Cd Chdir Pwd Descrição Retorna a lista de todos os M-files no diretório corrente. Lista todos os arquivos do corrente diretório. Semelhante ao dir Mostra o conteúdo do arquivo test.m Apaga o arquivo test.m Entra no diretório definido em path Semelhante ao cd path Mostra o nome do diretório corrente Semelhante a cd Semelhante a cd - 24 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 8. Texto O MATLAB pode trabalhar com texto. Para determinar uma variável que contenha texto, deve digitá-lo entre apóstrofes ('). Ex: » t='Você conhece o MATLAB?' Pode também pegar trechos das variáveis: » u=t(6:12) u = conhece Pegar de ordem inversa: » u=t(12:-1:6) u = ecehnoc Escrever em diferentes linhas: » v=[‘A um bochincho - certa feita, ‘Eu fui chegando - de curioso.'] v = A um bochincho - certa feita, Eu fui chegando - de curioso. Você também tem acesso aos valores ASCII das letras, através da função abs: » s='ABCDEF' s = ABCDEF » m=abs(s) m = 65 66 67 68 69 70 71 » m=s+0 m = 65 66 67 68 69 70 71 Para voltar aos caracteres normais, usa-se a função setstr: » setstr(m) ans = ABCDEF Vamos somar cinco e depois converter para caracteres: » n=m+5 n = 70 71 72 73 74 75 76 » setstr(n) ans = FGHIJKL Finalmente, vamos converter em minúsculas os caracteres adicionando a diferença de ambos: » n=s+'a'-'A' n = 97 98 99 100 101 102 103 » setstr(n) ans = abcdef - 25 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 9. Operações Relacionais e Lógicas Como operações tradicionais na Matemática, o MATLAB suporta operações relacionais e lógicas. Seus comandos, operadores e funções retornam valores Verdadeiro/Falso para as questões propostas. Para demonstrar esses valores, o MATLAB utiliza-se da seguinte notação: zero (0) para retorno falso e diferente para retorno verdadeiro. Normalmente, quando a operação é puramente lógico, ele retorna o valor 1. Se não, retorna o valor da variável. 9.1 Operadores Relacionais Operadores relacionais do MATLAB para a comparação: Operador < <= > >= == ~= Descrição menor que menor ou igual que maior que maior ou igual que igual que diferente que Para demonstrar as operações relacionais, vamos utilizar 2 arranjos. Note que é elemento-aelemento. Ex: » A=1:9,B=9-A A = 1 2 B = 8 7 3 4 5 6 7 8 9 6 5 4 3 2 1 0 » tf=A>4 %Em quais posições os valores de A são maiores que 4? tf = 0 0 0 0 1 1 1 1 1 » tf=A==B %Em quais as posições os valores de A são iguais as de B? tf = 0 0 0 0 0 0 0 0 0 » tf=B-(A>2) % Subtrair A de B apenas os valores maiores que 2. tf = 8 7 5 4 3 2 1 0 -1 » B=B+(B==0)*eps B = Columns 1 through 7 8.0000 7.0000 6.0000 Columns 8 through 9 1.0000 0.0000 5.0000 4.0000 3.0000 Para B=0, soma-se o valor de eps, aproximadamente 2,2e-16 (ou para funções onde tem um ponto de descontinuidade da curva. Ex.: » x=(-3:3)/3 x = -1.0000 -0.6667 2.0000 2,2 × 10−16 ). Isto é importante -0.3333 0 0.3333 0.6667 1.0000 » sin(x)./x Warning : Divide by zero. ans = 0.8475 0.9276 0.9816 NaN 0.9816 0.9276 0.8475 - 26 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 A função sin(x)/x é indefinida para o ponto x=0, pois sin(0)/0=0/0. O MATLAB retornará NaN (não é número). Agora usando o eps: » x=x+(x==0)*eps; » sin(x)./x ans = 0.8475 0.9276 0.9816 1.0000 0.9816 0.9276 0.8475 Agora apareceu o limite correto para x=0. 9.2 Operadores Lógicos Operador & | ~ Descrição AND OR NOT (e) (ou) (não) No capítulo passado, você viu um exemplo de operadores relacionais. » A=1:9,B=9-A; » tf=A>4 %maiores que 4 tf = 0 0 0 0 1 1 1 1 1 0 0 0 0 Agora usando operadores lógicos: » tf=~(A>4) % não maiores que 4. tf = 1 1 1 1 0 » tf=(A>2)$(A<6) % Maiores que 2 e menores que 6. tf = 0 0 1 1 1 0 0 0 0 Um exemplo para criar uma função descontínua: » » » » » » » » x=linspace(0,10,100); % criar os pontos. y=sin(x); % aplicar a função seno. z=(y>=0).*y; % Os valores negativos de y iguais a zero. z=z+0.5*(y<0); % Os valores negativos de y iguais a 1/2. z=(x<=8).*z; % Valores de x acima de 8 iguais a zero. plot(x,z) xlabel('X'),ylabel('Z=f(x)') title('O sinal Descontinuo') - 27 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 O sinal Descontínuo 1 0.9 0.8 0.7 0.6 0.5 Z= f(x) 0.4 0.3 0.2 0.1 0 0 2 4 6 8 10 X O MATLAB tem outras funções relacionais e lógicas, algumas mencionadas no quadro abaixo: Função xor(x,y) any(x) all(x) isnan(x) isinf(x) finite(x) Descrição Operador exclusivo OR. Retorna 1 se ou x ou y forem diferentes de zero. Retorna zero se x e y forem iguais a zero ou diferentes de zero. Retorna um se qualquer elemento de um vetor x for diferente de zero. Retorna um se algum dos elementos da diagonal da matriz x for diferente de zero. Retorna um se todos os elementos de um vetor x forem não-nulos. Retorna um se todos os elementos da diagonal da matriz x forem diferentes de zero. Retorna um se x contiver NaNs (Não-números). Retorna um se x contiver Infs (Infinito). Retorna um se x contiver valores finitos. A seguir, o quadro de preferências do MATLAB, com os elementos na ordem de prioridade, ou seja, cresce de importância de cima para baixo: ^ * + : Tabela de preferência de Operadores .^ ' .' / \ .* ./ .\ ~ +(unary) -(unary) > < >= <= == ~= | & - 28 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 10. Álgebra Linear e Matrizes 10.1 Funções Básicas O Material desta seção assume que você já tenha algum conhecimento anterior em álgebra linear. Na matemática, qualquer sistema linear de equações pode ser transformado numa operação de matrizes. Ex: João comprou uma maçã, duas bananas, três pêras e pagou R$ 3,66. Maria comprou quatro maças, cinco bananas e seis pêras e pagou R$ 8,04. José comprou sete maçãs, oito bananas, nenhuma pêra e pagou R$ 3,51. Quanto custa cada fruta? Para resolver o problema, determinaremos para pêras. Temos: x 1 para o preço das maças, x 2 para bananas e x 3 x 1 + 2 x 2 + 3x 3 = 3,66 4 x 1 + 5x 2 + 6x 3 = 8,04 7 x 1 + 8x 2 + 0x 3 = 3,54 Agora, transformada em matrizes, temos: 1 2 3  x 1  3,66 4 5 6 ⋅  x  = 8,04     2   7 8 0  x 3  3,54  A⋅ x = B Para a multiplicação de matrizes, usa-se o operador *. Estão a solução será: » A=[1 2 3;4 5 6;7 8 0] A = 1 2 3 4 5 6 7 8 0 » B=[3.66;8.04;3.51] B = 3.6600 8.0400 3.5400 Para determinar as soluções, verificamos se o determinante da matriz A é diferente de zero: » det(A) ans = 27 Então a solução será x = A−1 ⋅ b , ou seja: » x=inv(A)* B x = 0.2500 0.2200 0.9900 - 29 - Curso de Introdução ao MATLAB - Guia Prático A função inv faz a matriz inversa (A ), mas tem uma outra forma: Junho/2002 −1 » x=A\B x = 0.2500 0.2200 0.9900 Quando as equações são homogêneas, isto é, iguais a zero, usa-se a notação x=pinv(A)*b. A solução baseia-se no pseudo-inversão, que calcula as possibilidades de outras soluções além da nula. 10.2 Outras Funções • • • • • • • • • • • A.' é a transposta da matriz A. A transposta conjugada da matriz A é escrita A'. d=eig(A) retorna autovalores associados da matriz quadrática A. [V,D]=eig(A) retorna autovetores na matriz V e autovalores na diagonal da matriz D. Nota: [a,b] retorna duas variáveis a e b da função. [L,U]=lu(A) retorna a fatoração LU da matriz quadrática A. [Q,R]=qr(A) retorna a fatoração QR da matriz A. [U,S,V]=svd(A) retorna o valor decomposto singular da matriz A. rank(A) retorna o “rank” de A. cond(A) retorna o número condicional da matriz A. norm(A) retorna a norma da matriz A. 1=normal, 2-normal, F-normal, e ∞ -normal são suportados. poly(A) escreve o polinômio característico associado a matriz A. 11. Manipulação de Matrizes No MATLAB, pode-se fazer a manipulação das matrizes usando as posições de seus elementos. Ex: » A=[1 2 3;4 5 6;7 8 9] A = 1 2 3 4 5 6 7 8 9 » A(3,3)=0 A = 1 4 7 % Elemento nulo na terceira linha, terceira coluna. 2 5 8 3 6 0 Quando um elemento está fora das dimensões da matriz, cria-se colunas iguais a zero. Ex.: » A(2,6)=1 A = 1 2 4 5 7 8 3 6 9 0 0 0 0 0 0 0 1 0 Fazer outra matriz a partir de uma: » A=[1 2 3;4 5 6;7 8 9]; » B=A(3:-1:1,1:3) % ou B=A(3:-1:1,:) B = 7 8 9 4 5 6 1 2 3 - 30 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 » C=[A B(:,[1 3])] % A igual a A + a primeira e terceira coluna de B. C = 1 2 3 7 9 4 5 6 4 6 7 8 9 1 3 » B=A(1:2,2:3) B = 2 3 5 6 » B=A(:) B = 1 4 7 2 5 8 3 6 9 » A(:,2)=[] % remover segunda coluna. A = 1 3 4 6 7 9 11.1 Outras Funções • • • • • • • • • • [l,c]=size(A) retorna o número de linhas para l e número de colunas para c. flipud(A) inverte a matriz de cima para baixo. fliplr(A) inverte a matriz da direita para a esquerda. rot90(A) rotaciona a matriz A no sentido anti-horário. diag(v) cria uma matriz diagonal com o vetor v na diagonal dessa matriz. diag(A) extrai a diagonal da matriz A em um vetor. zeros(m,n) cria uma matriz m por n de zeros. ones(m,n) cria uma matriz m por n de ums. rand(m,n) cria uma matriz m por n de números rândomicos de zero até um. eye(m,n) cria uma matriz identidade m por n. - 31 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 12. Estruturas de comandos Estruturas de comandos for x = arranjo comandos end while expressao comandos end if expressao comandos end Descrição As repetições dos comandos serão feitas desde a primeira coluna do arranjo (matriz ou seqüência) até a última. Exemplos » data=[3 9 45 6 7 16 -1 5]; » for n=data x=n(1)-n(2) end x = -4 x = -7 x = 46 x = 1 As repetições dos » num=0;EPS=1; comandos serão » while (1+EPS)>1 EPS=EPS/2; feitas enquanto a num=num+1; expressão for end verdadeira ou » num não nula. num = 53 A simples estrutura if-end executa os comandos enquanto a expressão for verdadeira ou não nula. » EPS=2*EPS EPS = 2.2204e-16 » a=10;cost=a*25 cost = 250 »if a>5 %20% de desconto cost=(1-20/100)*cost; end » cost cost = 200 if expressao » a=10;b=a-1; A estrutura Ifcomandos se expressao verdad. else-end dividida » if a>b else a=b; em duas partes. comandos se expressao falso else A primeira parte end a=b+1; será executada se end a expressão for verdadeira ou » a,b não nua. A a = 9 segunda parte se a expressão for b = falsa ou nula. 9 if expressao A estrutura geral » a=10;b=a-1;c=a+1; comandos se expressao verdad. » if a>b do If-else-end. elseif expressao1 a=b; Executa os comandos se expressao1 verdad. elseif a & | ~ xor Potência vetorial. Produto de tensor Kronecker. Corte ou divisão à esquerda. Corte ou divisão à direita. Divisão vetorial. Dois pontos. Parênteses. Colchetes. Ponto Decimal. Diretório raiz. Continuação. Vírgula. Ponto-e-vírgula. Comentário, observação. Ponto de exclamação. Transposição. Transposição Vetorial. all any exist find finite isempty ishold isieee isinf isletter isnan isreal issparse isstr Verdadeiro se todos elementos do vetor forem verdadeiros. Verdadeiro se algum elemento do vetor for verdadeiro. Verifica se existe variáveis ou funções. Encontra índices dos elementos não nulos. Verdadeiro para elementos finitos. Verdadeiro para matrizes vazias. Verdadeiro se hold estiver ligado. Verdadeiro para IEEE pontos flutuantes aritméticos. Verdadeiro para elementos infinitos. Verdadeiro para caracteres alfabéticos. Verdadeiro para um não número. Verdadeiro se todos elementos da matriz forem reais. Verdadeiro para matrizes esparsas. Verdadeiro para texto. Indicação. Igualdade. Operadores relacionais. E lógico. OU lógico. NÃO lógico. EXCLUSIVO OU lógico. Funções Lógicas 19.3 Construção de Linguagem e Depuração MATLAB como uma Linguagem de Programação eval Executa funções em formato texto no MATLAB. - 55 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 MATLAB como uma Linguagem de Programação feval function global nargchk Executa funções especificadas nas variáveis texto. Adiciona novas funções. Define variáveis globais. Número de validade de argumentos colocados. break else elseif end error for if return while Execução terminal de um Loop. Usado com if. Usado com if. Termina com o campo de ação de comandos for, while e if. Mostra mensagem e aborta funções. Repete declarações num especificado número de vezes. Executa declarações condicionais. Retorna para funções invocadas. Repete declarações num indefinido número de vezes. input keyboard menu pause Prompt para entrada de usuário. Declara o teclado como se fosse um arquivo texto. Menu geral de escolhas para entrada do usuário. Espera pela resposta do usuário. dbclear dbcont dbdown dbquit dbstack dbstatus dbstep dbstop dbtype dbup Remove ponto de parada. Execução resumida. Muda o contexto local da estação de trabalho. Sai do modo debug. Lista quem chamou quem. Lista todos pontos de parada. Executa uma ou mais linhas. Coloca um ponto de parada. Lista arquivo *.M com número de linhas. Muda o contexto local da estação de trabalho. Controle de Fluxo Entrada Interativa Depuração 19.4 Manipulação de Matrizes 19.4.1 Matriz Elementar Matrizes Elementares eye gallery linspace logspace meshgrid ones rand randn zeros : Matriz Identidade. Teste de matrizes - condição matricial e autovalores. Vetor linearmente esparsado. Vetor logaritmicamente esparsado. Matrizes X e Y para plotes 3-D. Matriz de elementos unitários. Distribui uniformemente números ao acaso. Distribui normalmente números ao acaso. Matriz de elementos nulos. Vetor regularmente esparsado. ans computer eps flops i,j inf NaN nargin nargout pi realmax realmin Mais recente resposta. Escrita computacional. Relativa precisão no ponto-flutuante. Operações enumeradas de ponto flutuante. Unidade imaginária. Infinito. Não é número. Número de entradas de argumentos da função. Número de saídas de argumentos da função. 3.1415926535897 ... Maior número de ponto flutuante. Menor número de ponto flutuante. clock cputime date etime tic, toc Relógio. Tempo decorrido em unidades de CPU. Calendário. Função do tempo decorrido. Funções de tempo decorrido. Variáveis e Constantes Especiais Data e Hora - 56 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 Manipulação Matricial diag fliplr flipud isreal reshape rot90 tril triu : Cria ou extrai diagonais. Vira matriz para direita/esquerda. Vira matriz para cima/baixo. Verdadeiro para matriz contendo somente elementos reais. Muda tamanho. Rotaciona a matriz em 90 graus. Extrai a parte inferior triangular. Extrai a parte superior triangular. Índice para dentro da matriz, rearranja matriz. 19.4.2 Matrizes Especiais Matrizes Especiais compan hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson Matriz usada em cálculo de polinômios. Matriz Hadamard. Matriz Hankel. Matriz Hilbert. Matriz inversa de Hilbert. Matriz quadrada cujas as somas das linhas e colunas são iguais. Matriz Pascal. Problema clássico de teste de simetria dos autovalores. Matriz Toeplitz. Matriz Vandermonde. Autovalores obtidos para a matriz de Wilkinson 19.5 Funções Matemáticas 19.5.1 Funções de Matemática Elementar Funções de Matemática Elementar abs acos acosh acot acoth acsc acsch angle asec asech asin asinh atan atanh2 atanh ceil conj cos cosh cot coth csc csch exp fix floor gcd imag lcm log log10 real rem round sec sech Valor absoluto. Inversa do coseno. Inversa do coseno hiperbólico. Inversa da cotangente. Inversa da cotangente hiperbólica. Inversa da cosecante. Inversa da cosecante hiperbólica. Ângulo de fase. Inversa da secante. Inversa da secante hiperbólica Inversa do seno. Inversa do seno hiperbólico. Inversa da tangente. Inversa da tangente no quarto quadrante. Inversa da tangente hiperbólica. Inteiro próximo a mais infinito. Conjugado de um número complexo. Coseno. Coseno hiperbólico. Cotangente. Cotangente hiperbólica. Cosecante. Cosecante hiperbólico. Exponencial. Inteiro próximo a 0. Inteiro próximo a . Grande divisor comum. Parte imaginária de um número complexo. Menor múltiplo comum. Logaritmo natural. Logaritmo comum. Parte real de um número complexo. Resto da divisão. Inteiro mais próximo. Secante. Secante hiperbólica. - 57 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 Funções de Matemática Elementar sign sin sinh sqrt tan tanh retorna o sinal de um número. Ex.: sign(1.2)=1, sign(-23.4)=-1e sign(0)=0 Seno. Seno hiperbólico. Raiz quadrada. Tangente. Tangente hiperbólica. - 58 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 19.5.2 Funções Especializadas da Matemática Funções de Matemática Especializada bessel besseli besselj besselk bessely beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln legendre log2 pow2 rat rats Funções Bessel. Funções Bessel modificada de primeiro tipo. Funções Bessel de primeiro tipo. Funções Bessel modificada de segundo tipo. Funções Bessel de segundo tipo. Funções beta. Funções beta incompleta. Logaritmo da função beta. Funções elípticas de Jacobian. Integral elíptica completa. Função de erro. Função de erro complementar. Escala complementar da função de erro. Função inversa de erro. Integral exponencial. Função gama. Função gama incompleta. Função logarítmica de gama. Funções associadas Legendre. Separação de números de ponto flutuante. Escala de números de ponto flutuante. Aproximação racional. Saída racional. 19.6 Funções Matriciais - Álgebra Numérica Linear Análise Matricial cond det etree norm null orth rcond rank rref subspace trace Número da condição matricial. Determinante. Árvore eliminatória de uma matriz. Matriz ou vetor normal. Espaço nulo. Ortogonalização. Estimação condicional recíproca LINPACK. Número de linhas ou colunas linearmente independentes. Reduzir linhas da forma ECHELON. Ângulo entre dois sub-espaços. Soma dos elementos diagonais. chol inv lscov lu nnls pinv qr \ and / Fatorização CHOLESKY. Matriz inversa. Últimos quadrados na presença de covariance. Fatores de eliminações Gausianas. Matrizes quadradas não negativas. Pseudo-inversa. Decomposição ortogonal-triangular Solução de equação linear balance cdf2rdf eig hess poly qz rsf2csf schur svd Escala diagonal para melhorar precisão de autovalores. Forma da diagonal complexa para real forma de bloco diagonal. Autovalores e autovetores. Forma Hessenberg. Polinômio característico. Autovalores gerais. Forma de diagonal de bloco para forma de diagonal complexa. Decomposição Schur. Decomposição de valor singular. exp. funm logm sqrtm Matriz exponencial. Avaliação geral da função matricial. Matriz logarítmica. Matriz de raízes quadradas. Equações Lineares Autovalores e Valores Singulares Funções Matriciais - 59 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 Funções de Baixo Nível qrdelete qrinsert Apaga colunas de fatorização QR. Insere colunas para dentro da fatorização QR. 19.7 Análise de Dados e as Funções da Transformada de Fourier Operações Básicas cumprod cumsum max mean median min prod sort std sum trapz Produto cumulativo de elementos. Soma acumulativa de elementos. Maior componente. Média ou valor significativo. Valor médio. Menor componente. Produto de elementos. Organiza em ordem ascendente. Desvio padrão. Soma de elementos. Integração numérica usando método trapezoidal. del2 diff gradient Ponto cinco discreto Laplaciano. Função diferencial e derivada aproximada. Gradiente aproximado. corrcoef cov Coeficientes correlacionados. Matriz covariante. conv conv2 deconv filter filter2 Convolução e multiplicação polinomial. Convolução Bidimensional. Deconvolução e divisão polinomial. Filtro digital unidimensional. Filtro digital bidimensional. abs angle cplxpair fft fft2 fftshift ifft ifft2 nextpow2 unwrap Magnitude. Ângulo de fase. Organiza números para dentro de um par conjugado complexo. Discreta transformada de Fourier. Discreta transformada de Fourier bidimensional. Muda a freqüência zero para centro do espectro. Inversa discreta da transformada de Fourier. Inverso bidimensional da discreta transformada de Fourier. Próxima força maior de 2. Remove o ângulo de fase saltando através de limites de 360° cross dot Produto de vetores. Produto de ponto vetorial. Diferenças Finitas Correlação Filtro e Convolução Transformada de Fourier Funções Vetoriais 19.8 Funções Polinomiais e Interpolares Polinômios conv deconv poly polyder polyeig polyfit polyval polyvalm residue roots Multiplicação polinomial. Divisão polinomial. Construção polinomial com raízes especificas. Derivada polinomial. Solução polinomial para problemas de autovalores. Ajuste polinomial para dados. Cálculo do grau polinomial. Cálculo do grau polinomial com argumentos matriciais. Expansão de fração parcial (resíduos). Encontra raízes polinomiais. griddata interp1 interp2 Rede de dados. Interpolação unidimensional. Interpolação bidimensional. Interpolação de Dados - 60 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 Interpolação de Dados interpft Interpolação unidimensional usando método FFT. 19.9 Função – Função Função - Função - Métodos Numéricos não lineares fmin fmins fplot fzero ode23 ode 45 quad quad8 Função minimizada de uma variável. Função minimizada de várias variáveis. Funções de plotagem. Encontra zero da função de uma variável. Resolve equações diferenciais pelo método de baixa ordem. Resolve equações diferenciais pelo método de alta ordem. Avaliação numérica da integral pelo método de baixa ordem. Avaliação numérica da integral pelo método de alta ordem. 19.10 Funções Matriciais Esparsadas Matrizes Elementares Esparsadas spdiags speye sprandn sprandsym Matriz esparsada formada por diagonais. Matriz identidade esparsada. Matriz esparsada casual. Matriz esparsada simetricamente casual. find full sparse spconvert Encontra índices de entradas não nulas. Converte matriz esparsa em matriz completa. Cria matriz esparsa de não nulos e índices. Converte para formato externo de matriz esparsa. issparse nnz nonzeros nzmax spalloc spfun spones Verdadeiro se matriz é esparsa. Número de entradas não nulas. Entradas não nulas. Soma de distribuição armazenada para entradas. Destina memória para entradas não nulas. Aplica função para entradas não nulas. Substitui entradas não nulas por um. gplot spy Plota gráfico, como em "teoria gráfica". Visualiza estrutura esparsada. colmmd colperm dmperm randperm symmmd symrcm Mínima extensão da coluna. Ordena colunas baseadas em contador não nulo. Decomposição Dulmage-Mendelsohn. Permutação aleatória de vetores. Mínima extensão simétrica. Ordenando a reversa de Cuthill-McKee. condest normest sprank Estimativa 1 - condição de norma. Estimativa 2 - norma. Linha estrutural. spaugment spparms symbfact Sistema ampliado da última forma quadrática. Estabelece parâmetros para rotinas de matrizes esparsadas. Análise de fatorização simbólica. Tudo para Conversão Esparsada Trabalhando com Entradas Não nulas de Matrizes Esparsas Visualizando Matrizes Esparsadas Reordenando Algoritmos Norma, Número Condicional e Linha Miscelânea - 61 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 19.11 Gráficos Bidimensionais Gráficos Elementares X-Y fill loglog plot semilogx semilogy Desenha polígonos bidimensionais preenchidos. Plota em escala logarítmica. Plota em escala linear. Plota em escala linear, somente com o eixo x logaritmizado. Plota em escala linear, somente com o eixo y logaritmizado. bar comet compass errorbar feather fplot hist polar rose stairs stem Plota em barras gráficas. Plota em comet animado. Plota em compass. Plota em erros de barra. Plota em Feather. Plota funções. Plota em historiogramas. Plota em coordenadas polares. Plota em ângulos historiogrâmicos. Plota em Stairstep. Plota em Stem de seqüências discretas de dados. Gráficos Especiais X-Y Anotações Gráficas grid gtext legend text title xlabel ylabel Rede de linhas. Lugar do texto com o mouse. Adiciona legenda para plotar. Anotação de texto. Título do gráfico. Classificação do eixo X. Classificação do eixo Y. cart2pol pol2cart Coordenadas cartesianas para coordenadas polares. Coordenadas polares para coordenadas cartesianas. zoom Zoom de aproximação (in) e afastamento (out). Conversão de Sistemas de Coordenadas Miscelânea 19.12 Gráficos Tridimensionais Comandos de Linha e Área Preenchida fill3 plot3 Desenha polígonos 3-D preenchidos em espaço 3-D. Plota linhas e pontos em espaço 3-D. clabel comet3 contour contour3 contourc image imagesc pcolor quiver slice Classifica a elevação do plot de contorno. Plot de comet animado. Plot de contorno. Plot de contorno tridimensional. Cálculo do plot de contorno (usado pelo contorno). Mostra imagem. Dados em escala e mostra como imagem. Plota um tabuleiro de damas. Plot estremecido. Plot de um pedaço volumétrico. mesh meshc meshz slice surf surfc surfl waterfall Malha da superfície em 3-D. Combinação de plot de malha/contorno. Malha 3-D com plano zero. Visualização de plot volumétrico. Superfície 3-D sombreada. Combinação de plot de superfície/malha. Superfície 3-D sombreada com luminosidade. Plota superfícies. Semelhante ao comando mesh. axis caxis Escala e aparência de eixo. Pseudocores de eixo escalar. Contorno e outras Plotagens Bidimensionais de dados Tridimensionais Plotagem de Superfície e Malha Aparência Gráfica - 62 - Curso de Introdução ao MATLAB - Guia Prático colormap hidden shading view viewmtx Tabela de cores. Retirada da linha de malha oculta . Sombreamento de cores. Especificação do ponto de vista de um gráfico 3-D. Visualização de matrizes transformadas. grid legend text title xlabel ylabel zlabel Rede de linhas. Adiciona legenda no plot. Anotação. Título do gráfico. Classificação do eixo X. Classificação do eixo Y. Classificação do eixo Z para plots 3-D. cylinder sphere Cilindro comum. Esfera comum. cart2sph sph2cart Coordenadas cartesianas para polar. Coordenadas polares para cartesianas. Junho/2002 Anotação Gráfica Objetos 3-D Conversão de Sistemas de Coordenadas 19.13 Funções Gráficas Criação e Controle de Janelas capture clf close figure gcf graymon newplot refresh whitebg Captura tela de uma figura atual (somente UNIX). Limpa figura atual. Fecha figura. Cria figura (janela gráfica). Dá mobilidade a figura atual. Determina as propriedades padrão da figura para monitores monocromáticos. Determina os eixos corretos e a figura para novos gráficos. Redesenha a atual figura da janela. Altera figura para cores de fundo. axes axis caxis cla gca hold ishold subplot Cria eixos em posições arbitrárias. Controla escala e aparência de eixos. Controla pseudocores de escala de eixos. Limpa eixos atuais. Torna eixo manuseável. Controla o gráfico atual. Verdadeiro se o controle estiver ligado. Cria eixos em várias posições. axes figure image line patch surface text uicontrol uimenu Cria eixos. Cria janela de figura. Cria imagem. Cria linha. Cria mancha. Cria superfície. Cria texto. Cria controle de interface do usuário. Cria menu de interface do usuário. delete drawnow findobj gco get reset rotate set Deleta objeto. Começa eventos gráficos pendentes. Encontra objetos com propriedades específicas. Torna um objeto manuseável. Dá as propriedades de um objeto. Refaz as propriedades de um objeto. Rotaciona um objeto. Faz as propriedades do objeto. uigetfile Recupera nome do arquivo para abrir uma caixa de diálogo. Criação e Controle de Eixos Objetos Gráficos Manuseáveis Operações Gráficas Manuseáveis Caixas de Diálogos - 63 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 Caixas de Diálogos uiputfile Recupera nome do arquivo para escrever numa caixa de diálogo. orient print printopt Mostra orientações do papel. Imprime gráficos ou salva-os em arquivos. Configuração local da impressora. getframe movie moviein Mostra estrutura do filme. Roda as estruturas do filme gravado. Inicializa a memória da estrutura do filme. ginput ishold rbbox waitforbuttonpress Entrada do gráfico pelo mouse. Retorna ao estado conservado. Caixa de borracha para região selecionada. Espera pelo pressionamento de uma tecla sobre a figura. Impressão e Armazenagem Filmes e Animações Miscelâneas 19.14 Controle de Cores e Funções de Luminosidade Controle de Cores caxis colormap shading Pseudocores da escala de eixos. Tabela de consulta de cores. Modo de sombreamento de cores. bone contrast cool copper flag gray hsv hot jet pink prism white Escala cinza com uma matiz azul. Acentuação de contraste em escala cinza. Sombra de cyan e magenta. Matiz linear usando tonalidades cooper. Alternando vermelho, branco, azul e preto. Escala de cinza linear. Valor de saturação de tonalidade. Preto-vermelho-amarelo-branco. Variação do HSV. (sem wrap) Pasteuriza sombras de rosa. Prisma de cores. Tudo em branco monocromático. brighten colorbar hsv2rgb rgb2hsv rgbplot spinmap Brilho ou escuridão. Mostra mapeamento de cores como escala de cores. Conversão de HSV para RGB. Conversão de RGB para HSV. Plota o mapeamento de cores. Gira o mapeamento de cores. diffuse specular surfl surfnorm Reflexo difuso. Reflexo refletido. Superfícies 3-D sombreadas com luminosidade. Superfícies normais. Mapeamento de Cores Funções relacionadas com Mapeamento de Cores Luminosidade 19.15 Funções Sonoras Funções Gerais de Som saxis sound Som em eixos escalares. Converte vetor para som. auread auwrite lin2mu mu2lin Lê arquivos de som .au Escreve arquivos de som .au Conversão de linear para mu-law. Conversão de mu-law para linear. SPARCstation - Funções Sonoras Específicas - 64 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 Funções de Som .wav wavread wavwrite Carrega MS-Windows 3.1 .wav no formato de arquivo de som. Salva MS-Windows 3.1 .wav no formato de arquivo de som. 19.16 Funções de Texto Gerais abs blanks deblank eval findstr isstr setstr str2mat string strrep strtok Converte texto para valores numéricos. Cria texto de vazios. Remove arrastando espaços brancos e nulos de textos. Executa frases com expressão MATLAB. Encontra uma letra em um texto. Verdadeiro para texto. Converte valores numéricos para texto. De texto matricial para letras individuais. Sobre caracteres texto no MATLAB. Procura e substitui texto. Primeiro toma como texto. isletter lower strcmp upper Verdadeiro para caracter alfabético. Converte texto para uma caixa menor. Compara textos. Converte texto para uma caixa maior. int2str num2str sprintf sscanf str2num Converte inteiro para texto. Converte número para texto. Converte número para texto sob um controle formatado. Converte texto para número sob um controle formatado. Converte texto para número. dec2hex hex2dec hex2num Converte inteiro decimal para texto hexadecimal. Converte texto hexadecimal para inteiro decimal. Converte texto hexadecimal para IEEE número de ponto flutuante. Comparação Frasal Conversão de Texto para Número Conversão de Hexadecimal para Número 19.17 Funções de Arquivos I/O de Baixo Nível Abrindo e Fechando Arquivo fclose fopen Fecha arquivo. Abre arquivo. I/O Desformatada fread fwrite Lê dado binário de arquivo. Escreve dado binário para arquivo. fgetl fgets fprintf fscanf Lê linha de arquivo, descarta novas linhas de caracteres. Lê linha de arquivo, permanece novas linhas de caracteres. Escreve dado formatado para arquivo. Lê dado formatado para arquivo. feof ferror frewind fseek ftell Teste para fim de linha. Pergunta a situação do erro de arquivo I/O. Refaz arquivo. Mostra o indicador da posição do arquivo. Determina o indicador da posição do arquivo. sprintf sscanf Escreve dados formatados para letras. Lê letras sob um controle formatado. csvread cswrite Lê um arquivo de valores separados por (;). Escreve um arquivo de valores separados por (;). I/O Formatada Posição em Arquivos Conversão de Texto Arquivos Especiais de I/O - 65 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 Arquivos Especiais de I/O uigetfile uiputfile wk1read wk1write Recupera nome de arquivo para abrir caixa de diálogo. Recupera nome de arquivo para escrever numa caixa de diálogo. Lê um arquivo Lotus 1-2-3 .wk1 Escreve um arquivo Lotus 1-2-3 .wk1 20. Tabela de Referência a Matemática Simbólica. Cálculo diff int cacobian taylor Diferencial ou Derivada. Integral. Matriz Jacobian Espanção em série de Taylor. charpoly colspace determ eigensys inverse jordan linsolve nullspace singvals svdvpa transpose Polinômio característico simbólico. Básico para espaço em colunas. Determinante da matriz simbólica. Autovalores e autovetores simbólicos. Matriz inversa Simbólica. Forma canônica Jordan. Solução para equações lineares simultâneas. Base para nullspace. Valores matriciais simbólicos e vetores singulares. Valor singular de precisão variável. Matriz transposta simbólica. allvalues collect expand factor simple simplify symsum Achar todos os valores para a expressão RootOF. Acumular. Expandir. Fator. Buscar para a forma “shortest”. Simplificar. Série de soma simbólica. compose dsolve finverse solve Composição funcional. Solução simbólica para equações diferenciais. Inversão funcional. Solução simbólica para equações algébricas. digits vpa Tornar a variável exata. Precisão de aritmética variável. latex horner numden numeric poly2sym pretty subs sym sym2poly symadd symdiv symmul symop sympow symrat symsize symsub symvar Representação LaTeX para saídas simbólicas. Representação polinomial Nested. Numerador e denominador. Converte forma numérica em matriz simbólica. Polinômio simbólico para vetor coeficiente. Imprime numa forma bonita a expressão simbólica. Substituto da sub-expressão. Cria ou modifica matriz simbólica. Converte matriz simbólica em forma numérica. Adiciona expressões simbólicas. Divide expressões simbólicas. Multiplica expressões simbólicas. Operações simbólicas. Potência de expressões simbólicas. Aproximação simbólica racional. Tamanho de uma matriz simbólica. Subtrai expressões simbólicas. Determina variáveis simbólicas. Álgebra Linear Simplificações Solução para Equações Precisão variável aritmética Operação com Expressões Simbólicas e Matrizes - 66 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 Aplicações Pedagógicas e Gráficas ezplot funtool rsums Fácil para usar a função plotter. Função calculadora. Soma Riemann fourier invfourier invlaplace invztrans laplace ztrans Transformada integral de Fourier. Inversa de transformada integral de Fourier. Inversa da transformada de Laplace. Inversa da transformada z. Transformada de Laplace. Transformada de z. Transformações e Transformadas Inversas 21. Referência a Sistemas e Sinais Construção de um Modelo append cloop feedback rmodel series ssselect Anexar sistemas dinâmicos. Fechar “loops” do sistema. Conectar sistemas “Feedback”. Gerar um modelo contínuo randômico. Conecção de sistemas em série. Selecionar subsistemas para uma sistema grande. c2d c2dm ss2tf ss2zp tf2ss tf2zp zp2tf zp2ss Conversão de contínua para discreta. Conversão de contínua para discreta usando método. Conversão de estado-espaço para função de transferência Conversão de estado-espaço para zero-pólos. Conversão de função de transferência para estado-espaço. Conversão de função de transferência para zero-pólos. Conversão de zero-pólos para função de transferência. Conversão de zero-pólos para estado-espaço. canon Conversão de sistemas para forma canônica. ctrb damp ddamp dsort esort obsv tzero Matriz Controlabilidade. Fatores “damping” e freqüências naturais. Fatores discretos “damping” e freqüências naturais. Classe de autovalores discretos por magnitude. Classe de autovalores contínuos por parte real. Matriz Observabilidade Transmissão zero. dimpulse dlsim dstep impulse lsim step Resposta a função impulso discreto unitário. Simulação discreta para entradas arbitrárias. Resposta a função degrau discreto. Resposta a função impulso. Simulação contínua para entradas arbitrárias. Resposta a função degrau. bode freqs freqz nyquist Plota bode. Transformada de Laplace. Transformada de z. Plota nyquist. rlocus Localiza lugares das raízes. Conversão de Modelos Realização de Modelos Propriedades de Modelos Resposta em Tempo Resposta em Freqüências Localização de Raízes - 67 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 Seleção de Ganho acker lqe lqr place Lugar dos pólos SISO. Projeto estimativo linearmente quadrático. Projeto regulador linearmente quadrático. Lugar dos pólos. sinc Função sinc ou sin ( πx ) πx freqs freqz grpdelay zplane Resposta de freqüências em transformadas de Laplace. Resposta de freqüências em transformadas de z. Grupo atrasado. Plota zero-pólo discreto. residuez sos2ss sos2tf sos2zp ss2sos ss2tf ss2zp tf2ss tf2zp zp2sos zp2ss zp2tf Expansão em frações parciais. Conversão de sessões de segunda ordem para estado-espaço. Conversão de sessões de segunda ordem para função de transferência. Conversão de sessões de segunda ordem para zero-pólo. Conversão de estado-espaço para sessões de segunda ordem. Conversão de estado-espaço para função de transferência. Conversão de estado-espaço para zero-pólo. Conversão de função de transferência para estado-espaço. Conversão de função de transferência para zero-pólo. Conversão de zero-pólo para sessões de segunda ordem. Conversão de zero-pólo para estado-espaço. Conversão de zero-pólo para função de transferência. butter cheby1 cheby2 ellip yulewalk Projeto de filtro ButterWorth. Projeto de filtro Chebyshev tipo I. Projeto de filtro Chebyshev tipo II. Projeto de filtro elíptico. Projeto de filtro Yule-Walker remez Projeto de filtro FIR Parks-McClellan. psd Espectro de potência estimado. boxcar hamming hanning kaiser triang Janela retangular. Janela “hamming”. Janela “hanning”. Janela “kaiser”. Janela triangular. specgram Espectograma. buttap cheb1ap cheb2ap ellipap Filtro protótipo Butterworth. Filtro protótipo Chebyshev (passband ripple) tipo I. Filtro protótipo Chebyshev (passband ripple) tipo II. Filtro protótipo elíptico. lp2bp lp2bs lp2hp lp2lp Transformação lowpass para bandpass. Transformação lowpass para bandstop. Transformação lowpass para highpass. Transformação lowpass para lowpass. Geração de ondas Análise/Implementação de Filtros Transformação de Sistemas Lineares Projeto de Filtro IIR - Clássico e Direto Projeto de filtro FIR Processo Estatístico de Sinal Janelas Operações Especializadas Projeto Protótipo Analógico Translação de Freqüências - 68 - Curso de Introdução ao MATLAB - Guia Prático Junho/2002 Discretização de Filtros bilinear impinvar Transformação bilinear. Método impulso invariante para conversão de filtro A/D. detrend polystab strips Remover direção linear. Polinômio estabilizador. Plota strip. Outros - 69 -