Escolar Documentos
Profissional Documentos
Cultura Documentos
PRODUÇÃO
DISCIPLINA: TEORIA DE CONTROLE
Modelagem Matemática
de Sistemas
MATLAB / Octave
MATLAB – uma linguagem de programação
• MATLAB (MATrix LABoratory) é um programa de computador de
uso específico, otimizado para executar cálculos científicos e de
engenharia.
Observações:
• Para iniciar um comando, coloque o cursor próximo ao prompt (ou linha de
comando)
• MATLAB não vai responder até que seja apertado o botão ENTER
• Ao apertar o ENTER
✓ Apenas o último comando digitado é executado
✓ Os comandos anteriores ficam visíveis, mas não são mais executados
(pode-se digitar novamente ou chamá-los)
Trabalhando na janela Command Window
Outros comandos:
• ; quando digitado ao final do comando, omite a saída
• % quando digitado no início da linha, o MATLAB trata como um
comentário e a linha não é executada
• clc limpa a janela de comando (command window), no entanto
mantém na memória os comandos anteriores
Trabalhando na janela Command Window
atan( y/sqrt(3^2+y^2) )
Argumento para a função arctg é uma expressão que tem
o número 3, uma variável y e a função sqrt
Definindo variáveis
• Uma variável no MATLAB é um nome formado por uma letra ou uma cadeia de
letras (e/ou números) a qual é atribuído um valor
• Uma vez atribuído um valor, a variável pode ser utilizada nas expressões, nas
funções, nas sentenças ou comandos
• Em MATLAB, o sinal de igualdade ( = ) é o operador de atribuição
✓ Quando a tecla ENTER é pressionada, o valor numérico à direita do
operador é atribuído à variável do lado esquerdo e o MATLAB exibe a
variável com seu respectivo valor nas próximas duas linhas
Definindo variáveis
O exemplo anterior é repetido para demonstrar o uso de vírgula e ponto e vírgula,
de forma a escrever sentenças na mesma linha de comando e a possibilidade de
se omitir a apresentação de dados:
>> ABB=72;
>> ABB=9;
>> ABB
ABB =
9
Definindo variáveis
Deve-se definir uma variável antes de usá-la como argumento de uma
função:
>> syms y z d
>> y
y =
y
Operações simbólicas em MATLAB
• Exemplo
>> syms a x (declarou a e x com simbólicos)
>> g=2*a/3+4*a/7-6.5*x+x/3+4*5/3-1.5
g = (então g é tratado como simbólico)
(26*a)/21 - (37*x)/6 + 31/6
>> pretty(g)
26 a 37 x 31
---- - ---- + --
21 6 6
Operações simbólicas em MATLAB
• Exemplo (comparação)
>> a=sym(3); b=sym(5);
>> e=b/a+sqrt(2)
e =
2^(1/2) + 5/3
>> c=3;d=5;
>> f=d/c+sqrt(2)
f =
3.0809
Operações simbólicas em MATLAB
• Resolvendo equações algébricas (comando solve)
>> syms x
>> eqn=solve(x+1==0,x)
eqn =
-1
>> diff(S)
ans =
4*x^3*exp(x^4)
Operações simbólicas em MATLAB
• Diferenciação [ comando diff(S,var,n) ]
>> diff(S,2)
ans =
12*x^2*exp(x^4) + 16*x^6*exp(x^4)
>> diff(S,t,1)
ans =
0
Operações simbólicas em MATLAB
• Diferenciação [ comando diff(S,var,n) ]
>> R=5*y^2*cos(3*t);
>> diff(R,y)
ans =
10*y*cos(3*t)
>> diff(R,t)
ans =
-15*y^2*sin(3*t)
Operações simbólicas em MATLAB
• Integração [ comando int(S,var) ]
>> S=4*x^3*exp(x^4);
>> int(S)
ans =
exp(x^4)
>> R=-15*y^2*sin(3*t);
>> int(R,t)
ans =
5*y^2*cos(3*t)
Operações simbólicas em MATLAB
>> int(x^2,0,2)
ans =
8/3
Operações simbólicas em MATLAB
• Solução de EDO [ comando dsolve(eq,var) ]
>> syms y(t)
>> dsolve(diff(y)==4*t+2*y)
ans =
C4*exp(2*t) - 2*t – 1
>> dsolve(diff(y)==4*t+2*y,y(0)==1)
ans =
2*exp(2*t) - 2*t - 1
Operações simbólicas em MATLAB
• Gráficos em op. simbólicas { comando ezplot(eqn,[a,b]) }
>> syms y(t)
>> eq1=dsolve(diff(y)==4*t+2*y,y(0)==1)
eq1 =
2*exp(2*t) - 2*t – 1
>> ezplot(eq1,[0,5])
Operações simbólicas em MATLAB
• Gráficos em op. simbólicas { comando ezplot(eqn,[a,b]) }
>> syms y(t)
>> eq2=dsolve(diff(y)==4-2*y,y(0)==1)
eq2 =
2 - exp(-2*t)
>> ezplot(eq2,[0,5])
Operações simbólicas em MATLAB
• Transformada de Laplace { comando laplace(f,t,s) }
>> syms t s
>> laplace(1,t,s)
ans =
1/s
>> laplace(t,t,s)
ans =
1/s^2
>> laplace(exp(t),t,s)
ans =
1/(s - 1)
Operações simbólicas em MATLAB
• Transformada de Laplace { comando laplace(f,t,s) }
>> laplace(sin(t),t,s)
ans =
1/(s^2 + 1)
>> syms a
>> laplace(sin(a*t),t,s)
ans =
a/(a^2 + s^2)
Operações simbólicas em MATLAB
• Transformada inversa de Laplace { comando ilaplace(F,s,t) }
>> ilaplace(1/s^2,s,t)
ans =
t
>> F=a/(a^2+(s-1)^2)
F =
a/((s - 1)^2 + a^2)
>> ilaplace(F,s,t)
ans =
exp(t)*sin(a*t)
Operações simbólicas em MATLAB
• Transformada de Laplace { comando laplace(f,t,s) }
✓ Derivadas
>> syms f(t) declara f(t) como função (‘symfun’ no workspace)
>> laplace(diff(f(t)))
ans =
s*laplace(f(t), t, s) - f(0)
>> laplace(diff(f(t),2))
ans =
s^2*laplace(f(t), t, s) - s*f(0) - D(f)(0)
Operações simbólicas em MATLAB
OBRIGADO!