You are on page 1of 80

INTRODUO AO

MATLAB

Ricardo Frana

Programa:

Introduo/Conceitos bsicos

Matrizes e Sistemas Lineares

Polinmios

Clculo Diferencial e Integral

Grficos

Introduo/Conceitos
bsicos

O Matlab

Ambiente Matlab

Iniciao de variveis

Operadores matemticos

O Matlab

Matlab = MATrix LABoratory

Software de alta performance utilizado para clculos


cientficos e de engenharia

Aplicado a vrias reas do conhecimento

Desenvolvido pela MathWorks

Linguagem muito rica (+de 1000 funes)

Toolbox para vrias reas do conhecimento

Ambiente Matlab

Iniciao de Varives

Exemplo de programa em Matlab

>> b = 2 % sem o caractere ; no final da sentena o


resultado apresentado.
b=2
>> c = 3; % com o caractere ; no final da sentena o
resultado no apresentado.
>> d = b+c % o resultado armazenado na varivel d e
apresentado.
d=5
>> b+c % se nenhum nome atribudo a uma varivel
ela armazenada em ans.
ans = 5

As operaes so realizadas da esquerda para a direita calculando-as


conforme a ordem:

Operadores matemticos
Funes

trigonomtricas

cos(x)

Co-seno

cosh(x)

Co-seno hiperblico

acos(x)

Arco co-seno

acosh(x)

Arco co-seno hiperblico

cot(x)

Cotangente

acot(x)

Arco cotangente

coth(x)

Cotangente hiperblica

acoth(x)

Arco cotangente hiperblico

csc(x)

Cossecante

acsc(x)

Arco cossecante

csch(x)

Cossecante hiperblico

acsch(x)

Arco cossecante hiperblico

sec(x)

Secante

asec(x)

Arco secante

sech(x)

Secante hiperblico

sin(x)

Seno

asech(x)

Arco secante hiperblico

sinh(x)

Seno hiperblico

tan(x)

Tangente

tanh(x)

Tangente hiperblica

asin(x) Arco seno


asinh(x) Arco seno hiperblico
atan(x)
atan2(x,y)
atanh(x)

Arco tangente
Arco tangente do quarto quadrante
Arco tangente hiperblico

Operadores matemticos

Exemplo

Operadores Matemticos

Funes Exponenciais

Nmeros Complexos

^ Potncia

abs(x) Valor absoluto ou mdulo de


um nmero complexo

exp(x) Exponencial

angle(x) ngulo de um nmero


complexo

log(x) Logaritmo natural


log10(x)
log2(x)

Logaritmo na base 10
Logaritmo na base 2

sqrt(x) Raiz quadrada

conj(x) Conjugado complexo


imag(x) Parte imaginria de um
nmero complexo
real(x) Parte real de um nmero
complexo

Operadores Matemticos

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

M-file
Como podemos perceber, se trabalharmos
no comand window no conseguiremos
apagar ou salvar algo.
A soluo para isso abrir um M-file
No M-file podemos manipular valores com
extrema facilidade e salvar o que estamos
fazendo.

Abrindo um M-file

Matrizes e Sistemas
Lineares
Definindo

matrizes
Operaes com matrizes
Matriz transposta
Determinantes
Matriz Inversa
Resoluo de Sistemas lineares

Definindo matrizes

Queremos apresentar a seguinte matriz no


Matlab:

Definindo matrizes

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

2
5

3
6

Definindo matrizes

Outro exemplo:

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

9
3
5

0
2
3

Operaes com matrizes

Adio

Dada as matrizes:

A=
2
3
0 -3
3 -3
EB=
-2
4
0

3
1
-2

6
1
7

-4
1
3

Queremos achar a matriz A+B

Operaes com matrizes


>>A=[2 3 6; 0 -3 1;3 -3 7]
A=
2
0
3

3
-3
-3

6
1
7

>> B=[-2 3 -4;4 1 1;0 -2 3]


B=
-2
4
0

3
1
-2

-4
1
3

>> C=A+B
C=
0
4
3

6
-2
-5

2
2
10

Operaes com matrizes

Exerccio: Fazer a soma das seguintes


matrizes:

Y=
1
4
-1

2
5
3

3
6
0

Operaes com matrizes

Multiplicao

Condio para multiplicao de matrizes

Operaes com matrizes

Multiplicao

>> A=[1 0 2;-1 3 1];


>> B=[3 1;2 1;1 0];
>> C=A*B
C=
5
4

1
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
235
244
102

455
230
205
160

Operaes com matrizes

Fazer a multiplicao entre as seguintes


matrizes:

A=
2
3
0 -3
3 -3
eB=
-2
4
0

3
1
-2

6
1
7
Y=
-4
1
3

1
4
-1

2
5
3

3
6
0

Matriz transposta

Achar a transposta da seguinte matriz:

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

7
3
2

4
5
3

Xt=X'

Matriz transposta

Achar a transposta das seguintes matrizes.


Y=
1
4
-1

2
5
3

3
6
0

Determinantes Zd=det(Z)

Queremos achar o determinante da


seguinte matriz:
Z=

1
9
12
0
11
3

4
0
15
0
-3
3

6
0
0 -3
4 -12
-2
2
-4 -2
-3
9

3
-2
1
-5
0
10

2
12
1
10
-1
7

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

-3

-2

12

12

15

11

-3

4 -12
-2
-4
-3

>> Zd=det(Z)
Zd =
730450

2
-2
9

1
-5

1
10

-1

10

Determinantes

Achar os determinantes das seguintes


matrizes

Y=

A=

1
4
-1

2
5
3

3
6
0

2
0
3

B=
-2
4
0

3
1
-2

-4
1
3

3
-3
-3

6
1
7

Matriz inversa

Queremos encontrar a inversa da seguinte


matriz:

Matriz inversa Xi=inv(X)


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


Y=

A=

1
4
-1

2
5
3

3
6
0

B=
-2
4
0

3
1
-2

-4
1
3

2
0
3

3
-3
-3

6
1
7

Sistemas lineares

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.

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

Exerccios:

Resolver os seguintes sistemas lineares

Polinmios
Declarao

de polinmios
Razes de polinmios
Operaes com polinmios

Declarao de polinmios
Seja um polinmio p(x) de grau n definido
por:
P(x)=

No Matlab, este polinmio definido da


seguinte forma:
>>p=[A B C...E D F];

Declarao de polinmios

Exemplo

>>P=[1 3 1]

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

P=[1 4 0 -1 0]

Razes de polinmios x=roots(p)

Queremos achar as razes do polinmio

Para isso, utilizaremos o comando roots


>> p=[1 3 2];
>> x=roots(p)
x=
-2
-1

Razes de polinmios

Outro exemplo

>> p=[4 2 0 5];


>> roots(q)
ans =
-1.2723
0.3861 + 0.9129i
0.3861 - 0.9129i

Razes de polinmios

Achar as razes dos seguintes polinmios

Operaes com polinmios conv

Multiplicao

Suponhamos que queremos fazer a multiplicao dos


polinmios:

Q(x)=x-1

Para isso, utilizamos o comando conv

Operaes com polinmios

Soluo

>> p=[1 3 2];


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

-1

-2

Operaes com polinmios

Exerccio

Fazer a multiplicao dos seguintes polinmios:

Operaes com polinmios deconv

Diviso

Queremos fazer a diviso entre os seguintes polinmios

Q(x)=x-1

Para isso, utilizaremos o comando deconv

Operaes com polinmios

Soluo

>> p=[1 3 2];


>> q=[1 -1];

>> s=deconv(p,q)
s=
1

Operaes com polinmios


Exerccio
Fazer a diviso dos seguintes polinmios

Clculo Diferencial e
Integral
Limites
Derivada
Integrais

indefinidas
Integrais definidas
Equaes diferenciais

Limites

No Matlab, calculamos limites da seguinte


forma:

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

Quando x tende
a ...
Quem est
tendendo
Funo

Limites

Exemplo: Calcular o seguinte limite:

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

Limites

Exerccio: Calcular os seguintes limites:

Derivadas
Para se calcular derivadas no Matlab,
utilizamos o comando diff
Exemplo

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

Derivadas
Exerccio
Achar as derivadas das seguintes funes

Integrais indefinidas
Para calcularmos integrais indefinidas,
utilizamos o comando int da seguinte
forma:
>>int (f, x)

funo
Varivel que estamos integrando

Integrais indefinidas

Exemplo: Calcular a integral da funo


F(x)=

-x

>> syms x
>> int((x^3)-x,x)

ans =
(x^2*(x^2 - 2))/4

Integrais indefinidas

Calcular as seguintes integrais das


seguintes funes:

Integrais definidas
Para calcularmos integrais definidas,
utilizamos o comando int da seguinte
forma:
Int(f,x,a,b)

Integrais definidas

Calcular a integral da funo f(x)=


intervalo [0,1]

>>syms x
>> int(x^2,x,0,1)
ans =
1/3

no

Integrais definidas

Calcular as seguintes integrais definidas:

Grficos

PLOTANDO GRFICOS NO MATLAB

Grficos constituem um recurso visual poderoso para a interpretao


de dados. O MATLAB dispe de um grande nmero de facilidades
grficas, usadas para plotar (gerar desenho de grficos) atravs de
funes e comandos. possvel obter grficos bidimensionais ou
tridimensionais com qualquer tipo de escala e coordenada.
Alguns comandos freqentes para plotar grficos bidimensionais so:

O comando plot
O comando plot o comando mais comum para
plotagem de dados bidimensionais.
Exemplo:
Plotar a funo x^2+1

TITLE XLABEL E YLABEL


Podemos utilizar alguns comandos para melhorar a aparncia de
nosso grfico: title (inclui um ttulo ao grfico), xlabel (permite que o
eixo das abscissas do grfico seja identificado), ylabel (permite que o
eixo das abscissas do grfico seja identificado).

Como resultado o MATLAB nos retorna a


uma janela denominada Figure No. 1 com
o seguinte grfico:

COMANDO HOLD
possvel desenhar mais que uma funo no mesmo grfico. Existem
dois modos: um atravs do comando plot, e outro atravs do comando
hold
Por exemplo, podemos gerar no mesmo grfico as funes sen(x), cos(x)
e sen(2x).

Grficos
Passos para se fazer um grfico no Matlab:
1) Declarar a variao de x

>>x=-5:0.5:5

2) Declarar a funo em si
Ex:

>>y=-x+1

3) Usar o comando plot


Ex:

>>plot(x,y)

Grficos

Exemplo: Grfico da funo f(x)=sin(x)

x=-4*pi:0.1:4*pi;
y=sin(x)
plot(x,y)

Grficos

Exemplo: Grfico da funo f(x)=sin(x)


1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-15

-10

-5

10

15

Grficos

Exemplo: Grfico da funo f(x)=cos(x)

x=-4*pi:0.1:4*pi;
y=cos(x)
plot(x,y)

Grficos

Exemplo: Grfico da funo f(x)=cos(x)


1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-15

-10

-5

10

15

Grficos

Agora, digitando os dois cdigos 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 on
f=sin(x)
plot(x,f)

Grficos

Comando hold on
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-15

-10

-5

10

15

Grficos

Exerccio: Fazer o grfico das seguintes


funes:

A)
B)
C)

Para terminar...

Os melhores comandos do Matlab so:

1) HELP

2)Google

MUITO OBRIGADO!!!

ricardoncf86@gmail.com