Introdução ao MatLab Aula 1 Sistemas Telemáticos 5ºAno LESI/MCC Universidade do Minho.
Introdução ao Matlab
-
Upload
edusfernandes -
Category
Documents
-
view
9.442 -
download
0
description
Transcript of Introdução ao Matlab
INTRODUÇÃO AO MATLAB
Eduardo da Silva Fernandes
Introdução/Conceitos básicos
Matrizes e Sistemas Lineares
Polinômios
Cálculo Diferencial e Integral
Equações Diferenciais
Transformada de Laplace
Gráficos
Programa:
Introdução/Conceitos básicos
• O Matlab
• Ambiente Matlab
• Iniciação de variáveis
• Operadores matemáticos
Matlab = MATrix LABoratory
Software de alta performance utilizado para cálculos científicos e de engenharia
Aplicado a várias áreas do conhecimento
Desenvolvido pela MathWorks
Linguagem muito rica (+de 1000 funções)
Toolbox para várias áreas do conhecimento
O Matlab
O Matlab
Ambiente Matlab
Exemplo de programa em Matlab
>> b = 2 % sem o caractere ‘;’ no final da sentença oresultado é apresentado.b = 2>> c = 3; % com o caractere ‘;’ no final da sentença oresultado não é apresentado.>> d = b+c % o resultado é armazenado na variável ‘d’ eé apresentado.d = 5>> b+c % se nenhum nome é atribuído a uma variávelela é armazenada em “ans”.ans = 5
Iniciação de Variáves
Operadores matemáticos Funções trigonométricasacos(x) Arco co-seno
acosh(x) Arco co-seno hiperbólico
acot(x) Arco cotangente
acoth(x) Arco cotangente hiperbólico
acsc(x) Arco cossecante
acsch(x) Arco cossecante hiperbólico
asec(x) Arco secante
asech(x) Arco secante hiperbólico
asin(x) Arco seno asinh(x) Arco seno hiperbólico
atan(x) Arco tangente
atan2(x,y) Arco tangente do quarto quadrante
atanh(x) Arco tangente hiperbólico
cos(x) Co-seno
cosh(x) Co-seno hiperbólico
cot(x) Cotangente
coth(x) Cotangente hiperbólica
csc(x) Cossecante
csch(x) Cossecante hiperbólico
sec(x) Secante
sech(x) Secante hiperbólico
sin(x) Seno sinh(x) Seno hiperbólico
tan(x) Tangente
tanh(x) Tangente hiperbólica
Exemplo
Operadores matemáticos
Operadores atemáticos
• Funções Exponenciais
^ Potência
exp(x) Exponencial
log(x) Logaritmo natural
log10(x) Logaritmo na base 10
log2(x) Logaritmo na base 2
sqrt(x) Raiz quadrada
Números Complexos
abs(x) Valor absoluto ou módulo de um número complexo
angle(x) Ângulo de um número complexo
conj(x) Conjugado complexo
imag(x) Parte imaginária de um número complexo
real(x) Parte real de um número complexo
Operadores Matemáticos Exemplo
>> a=log(100)
a =
4.6052
>> b=log10(100)
b =
2
>> c=exp(3)
c =
20.0855
>> d=abs(2+2i)
d =
2.8284
>> e=angle(2+3i)
e =
0.9828
Como podemos perceber, se trabalharmos no comand window não conseguiremos apagar ou salvar algo.
A solução para isso é abrir um M-file No M-file podemos manipular valores com
extrema facilidade e salvar o que estamos fazendo.
M-file
Abrindo um M-file
Matrizes e Sistemas Lineares
•Definindo matrizes•Operações com matrizes•Matriz transposta•Determinantes•Matriz Inversa•Resolução de Sistemas lineares
Queremos apresentar a seguinte matriz no Matlab:
Definindo matrizes
Como fazer?
Definindo matrizes
>> A=[1 2 3;4 5 6]
A =
1 2 3 4 5 6
Definindo matrizes Outro exemplo:
>> X=[1 9 0;7 3 2;4 5 3]
X =
1 9 0 7 3 2 4 5 3
Definindo matrizes
Adição
Dada as matrizes:A =
2 3 6 0 -3 1 3 -3 7E B =
-2 3 -4 4 1 1 0 -2 3
Queremos achar a matriz A+B
Operações com matrizes
>>A=[2 3 6; 0 -3 1;3 -3 7]
A =
2 3 6 0 -3 1 3 -3 7
>> B=[-2 3 -4;4 1 1;0 -2 3]
B =
-2 3 -4 4 1 1 0 -2 3
>> C=A+B
C =
0 6 2 4 -2 2 3 -5 10
Operações com matrizes
Exercício: Fazer a soma das seguintes matrizes:
Operações com matrizes
Y=
1 2 3 4 5 6 -1 3 0
Multiplicação Condição para multiplicação de matrizes
Operações com matrizes
Operações com matrizes Multiplicação
>> A=[1 0 2;-1 3 1];
>> B=[3 1;2 1;1 0];
>> C=A*B
C =
5 1
4 2
>> A=[14 9 3;2 11 14;0 12 17;5 2 3];>> B=[12 25;9 10;8 5];>> C=A*B
C =
273 455 235 230 244 205 102 160
Fazer a multiplicação entre as seguintes matrizes:
Operações com matrizes
Y=
1 2 3 4 5 6 -1 3 0
A =
2 3 6 0 -3 1 3 -3 7e B =
-2 3 -4 4 1 1 0 -2 3
Achar a transposta da seguinte matriz:
Matriz transposta
>> X=[1 9 0;7 3 2;4 5 3];>> Xt=X'
Xt =
1 7 4 9 3 5 0 2 3
Matriz transposta
Achar a transposta das seguintes matrizes.
Matriz transposta
Y=
1 2 3 4 5 6 -1 3 0
Queremos achar o determinante da seguinte matriz:
Determinantes
Z =
1 4 6 0 3 2 9 0 0 -3 -2 12 12 15 4 -12 1 1 0 0 -2 2 -5 10 11 -3 -4 -2 0 -1 3 3 -3 9 10 7
>> Z=[1 4 6 0 3 2;9 0 0 -3 -2 12;12 15 4 -12 1 1;0 0 -2 2 -5 10;11 -3 -4 -2 0 -1;3 3 -3 9 10 7]
Z =
1 4 6 0 3 2
9 0 0 -3 -2 12
12 15 4 -12 1 1
0 0 -2 2 -5 10
11 -3 -4 -2 0 -1
3 3 -3 9 10 7
>> Zd=det(Z)
Zd =
730450
Determinantes
Achar os determinantes das seguintes matrizes
Y=
1 2 3 4 5 6 -1 3 0
Determinantes
A =
2 3 6 0 -3 1 3 -3 7
B =
-2 3 -4 4 1 1 0 -2 3
Queremos encontrar a inversa da seguinte matriz:
Matriz inversa
>> X=[1 9 0;7 3 2;4 5 3];>>Xi=inv(X)
Xi =
0.0085 0.2288 -0.1525 0.1102 -0.0254 0.0169 -0.1949 -0.2627 0.5085
Matriz inversa
Achar a inversa das seguintes matrizes
Matriz inversa
Y=
1 2 3 4 5 6 -1 3 0
A =
2 3 6 0 -3 1 3 -3 7
B =
-2 3 -4 4 1 1 0 -2 3
Seja o sistema linear:
Podemos escrevê-lo na forma matricial AX=B
Sistemas lineares
É desta forma que o Matlab trabalha, declarando as matrizes A, X e B.
A X B
Sistemas Lineares
Exemplo: Resolver o seguinte sistema linear:
Sistemas Lineares
>> A=[1 4 3;2 5 4;1 -3 -2];>> B=[1;4;5];>> X=A\B %Comando para resolver sistemas lineares
X =
3.0000 -2.0000 2.0000
Sistemas Lineares
Outra forma de se fazer:>> A=[1 4 3;2 5 4;1 -3 -2];>> B=[1;4;5];
>>Y=inv(A)*B
Y =
3.0000 -2.0000 2.0000
Sistemas Lineares
Exercícios: Resolver os seguintes sistemas lineares
Sistemas Lineares
Polinômios•Declaração de polinômios•Raízes de polinômios•Operações com polinômios
Seja um polinômio p(x) de grau n definido por:
P(x)=
No Matlab, este polinômio é definido da seguinte forma:
>>p=[A B C...E D F];
Declaração de polinômios
Exemplo
>>P=[1 3 1]
>>p=[1 -5 2 -1]
P=[1 4 0 -1 0]
Declaração de polinômios
Queremos achar as raízes do polinômio
Para isso, utilizaremos o comando “roots”
Raízes de polinômios
>> p=[1 3 2];>> x=roots(p)
x =
-2 -1
Outro exemplo
>> p=[4 2 0 5];>> roots(q)
ans =
-1.2723 0.3861 + 0.9129i 0.3861 - 0.9129i
Raízes de polinômios
Achar as raízes dos seguintes polinômios
Raízes de polinômios
Multiplicação Suponhamos que queremos fazer a multiplicação dos
polinômios:
Q(x)=x-1
Para isso, utilizamos o comando “conv”
Operações com polinômios
Solução
>> p=[1 3 2];>> q=[1 -1];>> r=conv(p,q)
r =
1 2 -1 -2
Operações com polinômios
Exercício Fazer a multiplicação dos seguintes polinômios:
Operações com polinômios
Divisão Queremos fazer a divisão entre os seguintes polinômios
Para isso, utilizaremos o comando “deconv”
Operações com polinômios
Q(x)=x-1
Solução >> p=[1 3 2]; >> q=[1 -1];
Operações com polinômios
>> s=deconv(p,q)
s =
1 4
Exercício Fazer a divisão dos seguintes polinômios
Operações com polinômios
Cálculo Diferencial e Integral
•Limites•Derivada•Integrais indefinidas•Integrais definidas•Equações diferenciais
No Matlab, calculamos limites da seguinte forma:
>>syms x>>Limit((f(x),x,x0)
Limites
Função
“Quem está tendendo”
“Quando x tende a ...”
Exemplo: Calcular o seguinte limite:
>> syms x>> limit(sin(x)/x,x,0) ans = 1
Limites
Exercício: Calcular os seguintes limites:
Limites
Para se calcular derivadas no Matlab, utilizamos o comando “diff”
Exemplo
>> syms x
>> diff((x^2)-(3*x),x) ans = 2*x - 3
Derivadas
Exercício Achar as derivadas das seguintes funções
Derivadas
Para calcularmos integrais indefinidas, utilizamos o comando “int” da seguinte forma:
>>int (f, x)
Integrais indefinidas
função
Variável que estamos integrando
Exemplo: Calcular a integral da função
>> syms x>> int((x^3)-x,x)
ans = (x^2*(x^2 - 2))/4
Integrais indefinidas
F(x)= -x
Calcular as seguintes integrais das seguintes funções:
Integrais indefinidas
Para calcularmos integrais definidas, utilizamos o comando “int” da seguinte forma:
Int(f,x,a,b)
Integrais definidas
Calcular a integral da função f(x)= no intervalo [0,1]
>>syms x>> int(x^2,x,0,1) ans =
1/3
Integrais definidas
Calcular as seguintes integrais definidas:
Integrais definidas
Equações Diferenciais
Para resolvermos equações diferenciais no Matlab, utilizamos o comando “dsolve” da seguinte forma:
>>dsolve(‘EDO’,condições iniciais)
Equações Diferenciais
Para isso, utilizamos a seguinte representação das derivadas:
-y’’’=D3y-y’’=D2y-y’=Dy
Equações Diferenciais
Exemplo: Resolver as seguintes equações diferenciais:
A) y’’+2y’+1=0 B) y’’+3y”+2=0, y’(0)=1, y(0)=-1 C) y’’+5y’+6=cos(t), y’(0)=2, y(0)=0
Equações Diferenciais
A) y’’+2y’+1=0
>> syms y>> dsolve('D2y+2*Dy+1=0','t') ans = C13 - t/2 + C14/exp(2*t) + 1/4
Equações Diferenciais
B) y’’+3y”+2=0, y’(0)=1, y(0)=-1
>> syms y>> dsolve('D2y+3*Dy+2','Dy(0)=1,y(0)=-1') ans = - (2*t)/3 - 5/(9*exp(3*t)) - 4/9
Equações Diferenciais
C) y’’+5y’+6=cos(t), y’(0)=2, y(0)=0
>> syms y>> dsolve('D2y+5*Dy+6=cos(t)','Dy(0)=2,y(0)=0') ans = (5*sin(t))/26 - 391/(650*exp(5*t)) - cos(t)/26 - (6*t)/5 +
16/25
Equações Diferenciais
Exercícios: Achar a solução das seguintes equações diferenciais:
A) y’’+y’+1=0 B) y’’+9y’+20=0, y’(0)=0, y(0)=0 C) y’’+4y+4=sin(t), y’(0)=0, y(0)=0
Equações Diferenciais
Transformada de Laplace
•Transformada de Laplace•Transformada inversa de Laplace
Definição
Transformada de Laplace
f(t) L[f(t)] F(s)
F(s) L[F(s)] f(t)
Transformada de Laplace
-1
Transformada de Laplace
Transformada de Laplace
No Matlab, calculamos a Transformada de Laplace da seguinte forma:
>>syms t;>>laplace(f(t))
Transformada de Laplace
Função que queremos calcular a transformada de laplace
Exemplo:>> syms t>> laplace(exp(t)) ans = 1/(s - 1) >> laplace(exp(t)*sin(t)) ans = 1/((s - 1)^2 + 1)
Transformada de Laplace
Calcular a Transformada de Laplace das seguintes funções:
Transformada de Laplace
Definição
Transformada inversa de Laplace
No Matlab, achamos a transformada inversa da seguinte forma:
>>syms s;>>ilaplace(F(s))
Transformada inversa de Laplace
Função que queremos calcular a transformada Inversa
Achar a transformada da seguinte função:
>> syms s>> ilaplace(1/(s+3)) ans = 1/exp(3*t)
Transformada inversa de Laplace
Exercício: Achar a transformada inversa das seguintes funções:
Transformada inversa de Laplace
Gráficos
Passos para se fazer um gráfico no Matlab: 1) Declarar a variação de x>>x=-5:0.5:5 2) Declarar a função em siEx:>>y=-x+1 3) Usar o comando “plot’’Ex:>>plot(x,y)
Gráficos
Exemplo: Gráfico da função f(x)=sin(x)
x=-4*pi:0.1:4*pi;y=sin(x)plot(x,y)
Gráficos
Exemplo: Gráfico da função f(x)=sin(x)
Gráficos
-15 -10 -5 0 5 10 15-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Exemplo: Gráfico da função f(x)=cos(x)
x=-4*pi:0.1:4*pi;y=cos(x)plot(x,y)
Gráficos
Exemplo: Gráfico da função f(x)=cos(x)
Gráficos
-15 -10 -5 0 5 10 15-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Agora, digitando os dois códigos acima e utilizando o comando “hold on”, veja o que acontece. Depois, troque o comando “hold on” pelo comando figure.
x=-4*pi:0.1:4*pi;y=cos(x)plot(x,y)hold onf=sin(x)plot(x,f)
Gráficos
Comando “hold on”
Gráficos
-15 -10 -5 0 5 10 15-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Exercício: Fazer o gráfico das seguintes funções:
A) B) C)
Gráficos
Os melhores comandos do Matlab são:
1) HELP
2)Google
Para terminar...
MUITO OBRIGADO!!!