UNIVERSIDADE GAMA FILHO Laboratório de Controle I - MATLAB NOME: O que é o Matlab? • O Matlab é um sistema para cálculo científico que proporciona um ambiente de fácil utilização com uma notação intuitiva, mas poderosa. • Permite a realização de algoritmos numéricos sobre matrizes com o mínimo de programação. • O termo “Matlab” tem origem na conjugação dos termos “MATrix” e“LABoratory”. • Há dois modos de se trabalhar no MatLab: usando a tela de comandos e usando o editor de texto. • Para esclarecer a maior parte das dúvidas acerca da utilização de uma dada função do Matlab o comando help é de grande utilidade. Noções Iniciais A Estrutura de Janelas do MATLAB Gerando um Programa Para se trabalhar com Matlab, primeiramente devemos abrir o editor, criar um novo arquivo e nomeá-lo, somente após salvá-los poderemos executar as rotinas nele incluídas. Este pequeno manual tem o objetivo de guiar você de forma ordenada, para realizar inicialmente operações simples na ferramenta Matlab, tais como, operações algébricas, análise de funções de primeiro e segundo graus, impressão de gráficos e trabalhar com algumas das principais funções. Abaixo você será orientado a escrever matrizes, equações e funções no Matlab. É importante que você escreva exatamente como está indicado, para que não hajam erros, sempre excluindo o sinal ‘>>’ que serve apenas para indicar que trata-se de uma expressão do Matlab. Abrindo um novo arquivo Primeiramente selecione o diretório onde serão salvos e executados os programas criados 2 Agora você precisará abrir o editor de texto para escrever o seu programa. Para abrir o editor, basta ir clicar em file no menu do software, depois selecionar /new/Blank M-file ou então clicar no botão de atalho correspondente. Nomeie e salve o aquivo (mesmo ainda vazio). Este editor costuma ser mais utilizado pelos iniciantes no MatLab, usuários mais experientes também podem fazer uso diretamente da janela de Comando (Comand Window). Com o editor aberto, vamos iniciar o uso do software Matlab. Estrutura de Vetores e Matrizes Os cálculos no MatLab são feitos através de vetores e Matrizes. Para adicionar uma Matriz, basta digitar no editor de texto ou na janela de comando (Comand Window) a expressão a seguir: >> a = [1 2 3] -> representará uma matriz 1x3 (ou seja, 1 linha e 3 colunas). (importante verificar que a matriz deve estar entre colchetes e os elementos serem separados por espaços). Agora vamos trabalhar... 1-Escreva a expressão acima e execute o programa pressionando a tecla ‘F5’ 2-Note que no Command Window aparece a matriz Para ter matrizes com mais linhas, basta colocar após a primeira linha um ‘;’ (ponto-e-virgula) e escrever a segunda linha da matriz, desta forma: >> b = [1 2 3;4 5 6] -> representará uma matriz 2x3 (ou seja, 2 linhas e 3 colunas). Agora vamos trabalhar... 1-Escreva a expressão acima e execute o programa pressionando a tecla ‘F5’ 2-Note que no Command Window aparece a matriz 3 Para cálculos com valores escalares, podemos utilizar a matrix 1x1 e neste caso sem adição dos colchetes. >> x = 3 -> Representa o número escalar ‘3’. OBS: Note que tudo, que é digitado no editor e é executado, é salvo automaticamente e os resultados aparecem na janela de comando, isso serve para checarmos as respostas antes de dar continuidade na escrita do programa. Para álgebra comum a digitação das linhas de comandos é intuitiva. Por exemplo: Para representar no MatLab a expressão: y= a seqüência de caracteres abaixo: >> y = (1/4) * (x.^2 + 5*x – 3) x 2 + 5 x − ,3 basta escrever no editor exatamente 4 OBS: Note a importância de usar o ponto antes do sinal de circunflexo na expressão da função y, sem o ponto o MatLab pode entender como um erro, pois ‘x’, não representaria uma matriz. (I) Se você fornecer valores para x, o MATLAB, calculará os valores de y, e ainda poderá plotar o gráfico correspondente a função dada. Para associarmos valores a x, escrevemos x, como sendo um vetor de valores que vão de 1 até 20. >> x = 1:20 (II) Agora vamos trabalhar... -> isso representa um vetor x que se constitui de valores de 1 a 20. O intervalo entre cada valor será igual a 1. 1-Escreva as expressões (II) e (I) acima, nessa seqüência, depois execute o programa pressionando a tecla ‘F5’ 2-Note que no Command Window aparece os valores de x (de 1 a 20) e os valores que y assumiu para cada valor do vetor x. Foi possível notar que os valores de x aumentaram em intervalos iguais a 1, entretanto, outros intervalos podem ser colocados, para isso, basta escrever o intervalo desejado entre dois pontos. >> x = 1: ‘intervalo desejado’ : 20 >> x = 1:0.5:20 -> Neste caso os intervalos serão de 0,5. Para plotar o gráfico basta usar a função “plot”. >> plot(y,x); Neste caso exemplo o gráfico ficará assim: ========>>>>>>>> Para colocar um título no gráfico use a função Title e entre parenteses o título do gráfico entre aspas simples. Por Exemplo: >> title(‘Gráfico de aprendizado’); 4 Para dar nomes aos eixos das abscissas e das ordenadas, basta usar a função xlabel e ylabel, escrevendo o nome dos eixos entre parênteses e entre aspas simples. Por exemplo: >> xlabel(‘tempo (s)’) >> ylabel(‘amplitude do sinal’) Para colocar grade no gráfico basta usar o comando grid on. Podemos também plotar mais de um gráfico numa mesma figura, mas esse e outros artifícios serão vistos posteriormente. Usando as 4 novas funções aprendidas obteremos o seguinte Gráfico da função y. Operadores: As operações nas expressões do Matlab seguem as regras habituais de precedência e podem ser aplicadas quer a matrizes quer a números escalares. A expressão: em Matlab ficaria: Fx = (4*x + 3) * (1/7), (1/7) Poderíamos, por exemplo encontrar o valor de Fx para x = 2. Escreveríamos no Matlab: >> x=2; >> Fx=(4*x + 3) * (1/7) Algumas funções geralmente utilizadas no MatLab Ao executar o programa o Matlab calcularia o valor de Fx e o mostraria na Janela de Comando (Comand Window). 5 Exercício1: Encontre o valor de x: √ a) b) cos2, para f = 60 Hz e t=4 seg. , para a =2, b=5 e c=3. OBS: Para incluir o valor de pi no Matlab, basta escrever “pi”. Por Exemplo: Fx = cos(2*pi) -> equivale a Exercício2: Escreva as seguintes funções em MATLAB plotando os gráficos correspondentes (dê nome ao gráfico e aos eixos das abscissas e ordenadas): a) 4 + t + 7t − 4t -> b) % &'() -> t (tempo) assumindo valores de 0 a 50 w assumindo valores de (0 a 2π). Coloque valores interminiários no vetor w de * . +,, Calculo da Transformada de Laplace Para se calcular a Transformada de Laplace de uma determinada função y no tempo, utilizamos o comando Laplace (y) para encontrar a função S no domínio da Frequencia. -2t Por Exemplo: Vamos calcular a transformada de Laplace de: f(t)=5e , escreveremos no MatLab: >> syms t >> Ft = 5*exp(-2*t) >> Fs = laplace(Ft) >> pretty (Fs) %Esse comando cria um objeto simbólico para a variável t % Escrevemos então a expressão da função f(t) % Essa função calcula a transformada de Laplace de f(t) % Este comando coloca o resultado F(s) numa forma elegante Na Janela de comando aparecerá o seguinte resultado: Que é o resultado da Transformada de Laplace da Função, o que pode ser verificado matematicamente. 1. Verifique Matematicamente o resultado da Transformada de Laplace da Função f(t) do exercício acima. Note que poderíamos embelezar mais o resultado que aparece na Janela de Comando, incluindo informações e títulos, como por exemplo: >> syms t >> ‘Cálculo da Transformada de Laplace:’ >> Ft = 5*exp(-2*t); >> pretty (Ft) >> ‘Resultado:’ >> Fs = laplace(Ft); >> pretty (Fs) % Esse comando cria um objeto simbólico para a variável t % Este comando inclui esse texto a resposta. % Escrevemos então a expressão da função f(t) % Este comando mostra a expressão f(t) de forma elegante. % Este comando inclui esse texto a resposta. % Essa função calcula a transformada de Laplace de f(t) % Este comando coloca o resultado F(s) numa forma elegante 6 Com as modificações acima o resultado que aparecerá na Janela de Comandos será este: Exercícios para Memorização 1. Calcule as seguintes Transformadas de Laplace: a) b) c) d) e) f) f(t)= t -9t f(t)= e -5t f(t)= te f(t)= sen(5t) f(t)=cos(7t) -0,4t f(t)=e cos(12t) Cálculo da Transformada Inversa de Laplace Para realizarmos o cálculo das transformadas inversas, basta seguirmos o mesmo raciocínio, mas alterando a função do Matlab utilizada, que agora deverá ser a função ilaplace (y), para o cálculo da transformada inversa de laplace para uma função y qualquer. Exercícios para Memorização 1. Calcule as Transformadas Inversas de Laplace dos resultados encontrados no exercício anterior. Como representar polinômios no MATLAB Para representar um polinômio no MATLAB, nós criamos um vetor linha com os coeficientes das termos do polinômio, caso o termo na existe incluímos o valor 0 no lugar do coeficiente do termo que não existe. Por Exemplo: Representar o polinômio & - + 3& + & − & + 7& + 5. No MATLAB criamos o seguinte vetor linha: >> pol= [1 3 1 -1 7 5] Para representar o polinômio & + 6& − 2&. No MATLAB criamos o seguinte vetor linha: >> pol= [1 0 6 -2 0] 7 Obtendo Funções de Transferência em cascata, em paralelo e com realimentação Para obter a função de transferência no sistema em cascata, no sistema em paralelo ou no sistema com realimentação, devemos utilizar os seguintes comandos: >> [num,den]=series(num1,den1,num2,den2) ]=series(num1,den1,num2,den2) >> [num,den]=parallel(num1,den1,num2,den2) >> [num,den]=feedback(num1,den1,num2,den2) Onde num1, den1, num2 e den2 são os respectivos numeradores e denominadores das funções de transferência. Quando numeradores ou denominadores denominadores forem polinômios devem ser representados como já mostrado anteriormente. Por exemplo: Dado 2 funções de transferências 1+ +, 2 2+, e 1 - , encontre os resultados de: 2- Geração da curva da resposta ao degrau unitário de uma função de transferência.. A função step(a,b), gera a curva da resposta ao degrau unitário da função de transferência que tem numerador a e denominador b. Por exemplo: Mostrar a curva ao degrau unitário da função de transferência 1& >> num=[0 0 25] >> den=[1 4 25] >> step(num, den) >> grid >> Title(‘Curva ao degrau unitário’) 2 2-