Introdução ao Matlab

94
INTRODUÇÃO AO MATLAB Eduardo da Silva Fernandes

description

Minicurso sobre o software Matlab. Aborda conceitos básicos e seu uso na resolução de problemas matemáticos, como Cálculo diferencial e integral e plotagem de gráficos.

Transcript of Introdução ao Matlab

Page 1: Introdução ao Matlab

INTRODUÇÃO AO MATLAB

Eduardo da Silva Fernandes

Page 2: Introdução ao Matlab

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:

Page 3: Introdução ao Matlab

Introdução/Conceitos básicos

• O Matlab

• Ambiente Matlab

• Iniciação de variáveis

• Operadores matemáticos

Page 4: Introdução ao Matlab

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

Page 5: Introdução ao Matlab

O Matlab

Page 6: Introdução ao Matlab

Ambiente Matlab

Page 7: Introdução ao 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

Page 8: Introdução ao Matlab

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

Page 9: Introdução ao Matlab

Exemplo

Operadores matemáticos

Page 10: Introdução ao Matlab

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

Page 11: Introdução ao Matlab

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

Page 12: Introdução ao Matlab

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

Page 13: Introdução ao Matlab

Abrindo um M-file

Page 14: Introdução ao Matlab

Matrizes e Sistemas Lineares

•Definindo matrizes•Operações com matrizes•Matriz transposta•Determinantes•Matriz Inversa•Resolução de Sistemas lineares

Page 15: Introdução ao Matlab

Queremos apresentar a seguinte matriz no Matlab:

Definindo matrizes

Page 16: Introdução ao Matlab

Como fazer?

Definindo matrizes

>> A=[1 2 3;4 5 6]

A =

1 2 3 4 5 6

Page 17: Introdução ao Matlab

Definindo matrizes Outro exemplo:

Page 18: Introdução ao Matlab

>> X=[1 9 0;7 3 2;4 5 3]

X =

1 9 0 7 3 2 4 5 3

Definindo matrizes

Page 19: Introdução ao Matlab

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

Page 20: Introdução ao Matlab

>>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

Page 21: Introdução ao Matlab

Exercício: Fazer a soma das seguintes matrizes:

Operações com matrizes

Y=

1 2 3 4 5 6 -1 3 0

Page 22: Introdução ao Matlab

Multiplicação Condição para multiplicação de matrizes

Operações com matrizes

Page 23: Introdução ao Matlab

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

Page 24: Introdução ao Matlab

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

Page 25: Introdução ao Matlab

Achar a transposta da seguinte matriz:

Matriz transposta

Page 26: Introdução ao Matlab

>> X=[1 9 0;7 3 2;4 5 3];>> Xt=X'

Xt =

1 7 4 9 3 5 0 2 3

Matriz transposta

Page 27: Introdução ao Matlab

Achar a transposta das seguintes matrizes.

Matriz transposta

Y=

1 2 3 4 5 6 -1 3 0

Page 28: Introdução ao Matlab

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

Page 29: Introdução ao Matlab

>> 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

Page 30: Introdução ao Matlab

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

Page 31: Introdução ao Matlab

Queremos encontrar a inversa da seguinte matriz:

Matriz inversa

Page 32: Introdução ao Matlab

>> 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

Page 33: Introdução ao Matlab

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

Page 34: Introdução ao Matlab

Seja o sistema linear:

Podemos escrevê-lo na forma matricial AX=B

Sistemas lineares

Page 35: Introdução ao Matlab

É desta forma que o Matlab trabalha, declarando as matrizes A, X e B.

A X B

Sistemas Lineares

Page 36: Introdução ao Matlab

Exemplo: Resolver o seguinte sistema linear:

Sistemas Lineares

Page 37: Introdução ao Matlab

>> 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

Page 38: Introdução ao Matlab

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

Page 39: Introdução ao Matlab

Exercícios: Resolver os seguintes sistemas lineares

Sistemas Lineares

Page 40: Introdução ao Matlab

Polinômios•Declaração de polinômios•Raízes de polinômios•Operações com polinômios

Page 41: Introdução ao Matlab

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

Page 42: Introdução ao Matlab

Exemplo

>>P=[1 3 1]

>>p=[1 -5 2 -1]

P=[1 4 0 -1 0]

Declaração de polinômios

Page 43: Introdução ao Matlab

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

Page 44: Introdução ao Matlab

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

Page 45: Introdução ao Matlab

Achar as raízes dos seguintes polinômios

Raízes de polinômios

Page 46: Introdução ao Matlab

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

Page 47: Introdução ao Matlab

Solução

>> p=[1 3 2];>> q=[1 -1];>> r=conv(p,q)

r =

1 2 -1 -2

Operações com polinômios

Page 48: Introdução ao Matlab

Exercício Fazer a multiplicação dos seguintes polinômios:

Operações com polinômios

Page 49: Introdução ao Matlab

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

Page 50: Introdução ao Matlab

Solução >> p=[1 3 2]; >> q=[1 -1];

Operações com polinômios

>> s=deconv(p,q)

s =

1 4

Page 51: Introdução ao Matlab

Exercício Fazer a divisão dos seguintes polinômios

Operações com polinômios

Page 52: Introdução ao Matlab

Cálculo Diferencial e Integral

•Limites•Derivada•Integrais indefinidas•Integrais definidas•Equações diferenciais

Page 53: Introdução ao Matlab

No Matlab, calculamos limites da seguinte forma:

>>syms x>>Limit((f(x),x,x0)

Limites

Função

“Quem está tendendo”

“Quando x tende a ...”

Page 54: Introdução ao Matlab

Exemplo: Calcular o seguinte limite:

>> syms x>> limit(sin(x)/x,x,0) ans = 1

Limites

Page 55: Introdução ao Matlab

Exercício: Calcular os seguintes limites:

Limites

Page 56: Introdução ao Matlab

Para se calcular derivadas no Matlab, utilizamos o comando “diff”

Exemplo

>> syms x

>> diff((x^2)-(3*x),x) ans = 2*x - 3

Derivadas

Page 57: Introdução ao Matlab

Exercício Achar as derivadas das seguintes funções

Derivadas

Page 58: Introdução ao Matlab

Para calcularmos integrais indefinidas, utilizamos o comando “int” da seguinte forma:

>>int (f, x)

Integrais indefinidas

função

Variável que estamos integrando

Page 59: Introdução ao Matlab

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

Page 60: Introdução ao Matlab

Calcular as seguintes integrais das seguintes funções:

Integrais indefinidas

Page 61: Introdução ao Matlab

Para calcularmos integrais definidas, utilizamos o comando “int” da seguinte forma:

Int(f,x,a,b)

Integrais definidas

Page 62: Introdução ao Matlab

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

Page 63: Introdução ao Matlab

Calcular as seguintes integrais definidas:

Integrais definidas

Page 64: Introdução ao Matlab

Equações Diferenciais

Page 65: Introdução ao Matlab

Para resolvermos equações diferenciais no Matlab, utilizamos o comando “dsolve” da seguinte forma:

>>dsolve(‘EDO’,condições iniciais)

Equações Diferenciais

Page 66: Introdução ao Matlab

Para isso, utilizamos a seguinte representação das derivadas:

-y’’’=D3y-y’’=D2y-y’=Dy

Equações Diferenciais

Page 67: Introdução ao Matlab

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

Page 68: Introdução ao Matlab

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

Page 69: Introdução ao Matlab

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

Page 70: Introdução ao Matlab

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

Page 71: Introdução ao Matlab

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

Page 72: Introdução ao Matlab

Transformada de Laplace

•Transformada de Laplace•Transformada inversa de Laplace

Page 73: Introdução ao Matlab

Definição

Transformada de Laplace

Page 74: Introdução ao Matlab

f(t) L[f(t)] F(s)

F(s) L[F(s)] f(t)

Transformada de Laplace

-1

Page 75: Introdução ao Matlab

Transformada de Laplace

Page 76: Introdução ao Matlab

Transformada de Laplace

Page 77: Introdução ao Matlab

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

Page 78: Introdução ao Matlab

Exemplo:>> syms t>> laplace(exp(t)) ans = 1/(s - 1) >> laplace(exp(t)*sin(t)) ans = 1/((s - 1)^2 + 1)

Transformada de Laplace

Page 79: Introdução ao Matlab

Calcular a Transformada de Laplace das seguintes funções:

Transformada de Laplace

Page 80: Introdução ao Matlab

Definição

Transformada inversa de Laplace

Page 81: Introdução ao Matlab

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

Page 82: Introdução ao Matlab

Achar a transformada da seguinte função:

>> syms s>> ilaplace(1/(s+3)) ans = 1/exp(3*t)

Transformada inversa de Laplace

Page 83: Introdução ao Matlab

Exercício: Achar a transformada inversa das seguintes funções:

Transformada inversa de Laplace

Page 84: Introdução ao Matlab

Gráficos

Page 85: Introdução ao Matlab

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

Page 86: Introdução ao Matlab

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

Page 87: Introdução ao Matlab

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

Page 88: Introdução ao Matlab

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

Page 89: Introdução ao Matlab

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

Page 90: Introdução ao Matlab

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

Page 91: Introdução ao Matlab

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

Page 92: Introdução ao Matlab

Exercício: Fazer o gráfico das seguintes funções:

A) B) C)

Gráficos

Page 93: Introdução ao Matlab

Os melhores comandos do Matlab são:

1) HELP

2)Google

Para terminar...

Page 94: Introdução ao Matlab

MUITO OBRIGADO!!!

[email protected]