You are on page 1of 72

Apostila Matlab - 1

Computao para Engenharia











COMPUTAO PARA ENGENHARIA




Prof. Maurcio de Campos



1 Semestre de 2007

Apostila Matlab - 2

Computao para Engenharia


1. Requisitos mnimos do sistema:
- Chip Intel (ou compatvel) Pentium IV ou superior;
- Windows XP ou superior;
- Mouse;
- 1500 MB de espao em disco;
- 1024 MB de memria.


Apostila Matlab - 3

Computao para Engenharia


2. Caractersticas Bsicas

Executa-se o MATLAB clicando-se duas vezes em seu cone. Abrir uma janela com uma
linha de comando. Nisto que iremos trabalhar daqui para frente. Este programa uma ferramenta
poderosa para a resoluo de problemas. Por exemplo, se voc digitar um clculo simples:

4+6+8
ans =
18

Lembre-se: No existe espao entre os nmeros.
2.1 Operaes Simples

Operao Smbolo Exemplo
adio a b + + 5+3
subtrao
a b - 25-13
multiplicao a b * 3.14*0.82
diviso a b / ou \ 64/8 = 8\64
potncia
a
b

^ 7^3

Nas expresses pode-se usas parnteses, a fim de digitar a expresso certa. Exemplo:

Expresso MATLAB Resultado
3 5
6
2
2
2
3^2-5-6/3*2 0
3 5
6
3 2
2

3^2-5-6/(3*2) 3
4 3 1
2
+ 4*3^2+1 37
( ) 4 3 1
2
+ (4*3)^2+1 145
2.2 Formatao de nmeros:

Comando do MATLAB Nmero Componentes
format long 35.83333333333334 16 dgitos
format short e 3.5833e+01 5 dgitos + expoente
format long e 3.583333333333334e+01 16 dgitos + expoente
format hex 4041eaaaaaaaaaab hexadecimal
format bank 35.83 2 dgitos decimais
format + + positivo, negativo ou zero
format rat 215/6 aproximao em frao
format short 35.8333 padro
2.3 Uso de Variveis

Pode-se usar variveis, como a, b, verdura, desde que se atribua um valor a elas. Por
exemplo:
Determine quantas frutas foram compradas, o valor da compra e o valor mdio
pago por cada fruta, dados: 2 mas R$ 0,71 cada, 5 pras R$ 0,37 cada e 6
bananas R$ 0,12 cada.

Pode-se resolver usando as variveis indicadas no problema.

Apostila Matlab - 4

Computao para Engenharia



macas=2
macas =
2

peras=5
peras =
5

bananas=6
bananas =
6

frutas=macas+peras+bananas
frutas =
13

custo=macas*0.71+peras*0.37+bananas*0.12
custo =
3.9900

valormedio=custo/frutas
valormedio =
0.3069

Para saber quais as variveis que esto na memria, utiliza-se o comando who. Ele mostra
todas as variveis. E para saber o que est contido em alguma varivel, a digite na linha de comando,
assim:

macas
macas =
2

Para mudar o valor de uma varivel, digite na linha de comando a varivel e atribua um novo
valor a ela, porm as variveis que a utilizaram continuam com seus respectivos valores anteriores.
Exemplo:

macas=3
macas =
3

frutas
frutas =
13

Dica: As teclas de funo, , |, e | servem para modificar algum erro de digitao ou
para repetir alguns comandos j escritos.
2.4 Sobre variveis

Como o MATLAB segue a linguagem do computador, existem alguns comentrios a fazer:

- fruta, Fruta, FrUtA e FRUTA so variveis diferentes;
- a partir do 19 caracter do nome das variveis desprezado;
- jamais os nomes das variveis devero comear com nmeros, e sim com caracteres.

Existem algumas variveis especiais, como:


Apostila Matlab - 5

Computao para Engenharia


Varivel Valor
ans varivel padro usada para resultados
pi razo entre a circunferncia e o seu dimetro
eps Usada para nmeros muito pequenos
inf
Infinito, ou seja,
1
0

NaN
No nmero, ou seja,
0
0

i e j
i j = = 1
realmin Um nmero pequeno real positivo
realmax Um nmero grande real positivo
2.5 Outras funes bsicas

- Como j vimos, o comando who mostra as variveis que esto na memria. Para retir-las, utiliza-
se do comando clear. Note que ele incondicional, ou seja, uma vez usado no poder recuperar
esses dados. Ex. :

clear macas apaga a varivel macas
clear peras bananas apaga as variveis pras e bananas
clear apaga todas as variveis da memria

- Voc poder incluir comentrios s variveis, usando para isso o sinal (%). Ex.:

macas=4 % Nmero de maas
macas =
4

O MATLAB simplesmente ignora a parte escrita depois do sinal (%).

- Mltiplos comandos podero ser feitos numa linha s, separados por vrgulas (,) ou ponto-e-vrgula
(;). Ex.:

macas=4 , bananas=6 ; peras=8
macas =
4
peras =
8

O (;) no mostra os resultados da operao, enquanto que (,) os mostra.

- Para interromper a execuo de um comando, pressione simultaneamente Ctrl+C.
- Para sair do MATLAB digite quit.
- Quando a expresso for muito longa, escreva trs pontos (...), pressione Enter e continue na
prxima linha.


Apostila Matlab - 6

Computao para Engenharia


3. Funes Cientficas

Como nas calculadoras cientficas, o MATLAB oferece funes importantes para a
Matemtica, Engenharia e outras cincias. O MATLAB tambm trabalha com nmeros complexos:

3.1 Funes Matemticas Gerais

Algumas funes na matemtica esto representadas nesse programa por alguns comandos.
Ex.:

x=sqrt(2)/2
x =
0.7071

y=asin(x)
y =
0.7854

y_deg=y*180/pi
y_deg =
45.0000

Esses comandos envolvendo ngulos mostra que o MATLAB trabalha com os radianos, onde
2 360 t = . Outros exemplos:

y=sqrt(3^2+4^2) % Clssico exemplo do tringulo retangular 3-4-5;
y =
5

y=rem(23,4)
y =
3

x=2.6 , y1=fix(x) , y2=floor(x) , y3=ceil(x) , y4=round(x)
x =
2.6000
y1 =
2
y2 =
2
y3 =
3
y4 =
3

Veja no captulo 19 , comandos e funes do MATLAB. Nesta tabela abaixo, esto algumas
das mais elementares funes matemticas:

Funo do MATLAB Funo Matemtica
abs(x) valor absoluto ou magnitude de um nmero complexo
acos(x) funo inversa do coseno
acosh(x) funo inversa do coseno hiperblico
angle(x) argumento de um nmero complexo
asin(x) funo inversa do seno
asinh(x) funo inversa do seno hiperblico
atan(x) funo inversa da tangente

Apostila Matlab - 7

Computao para Engenharia


Funo do MATLAB Funo Matemtica
atan2(x,y) funo inversa da tangente do quarto quadrante
atanh(x) funo inversa da tangente hiperblica
ceil(x) arredondamento para o mais prximo de +
conj(x) conjugado do nmero complexo
cos(x) funo coseno
cosh(x) funo coseno hiperblico
exp(x)
exponencial: e
x

fix(x) arredondamento para o mais prximo de 0
floor(x) arredondamento para o mais prximo de
imag(x) parte imaginria de um nmero complexo
log(x) logaritmo natural
log10(x) logaritmo decimal
real(x) parte real de um nmero complexo
rem(x,y) resto da diviso x/y
round(x) arredondamento para o mais prximo inteiro
sign(x) retorna o sinal de um nmero. Ex.: sign(1.2)=1, sign(-23.4)=-1e sign(0)=0
sin(x) funo seno
sinh(x) funo seno hiperblico
sqrt(x) raiz quadrada
tan(x) funo tangente
tanh(x) funo tangente hiperblica

3.2 Nmeros Complexos

Para ilustrar os nmeros complexos, consideremos a equao de 2 grau ax bx c
2
0 + + = ,
onde:

x x
b b ac
a
1 2
4
2
2
, =



Se a = 1, b = 5 e c = 6, a soluo usando MATLAB ser:

a=1 ; b=5 ; c=6 ;
x1=(-b+sqrt(b^2-4*a*c))/(2*a)
x1 =
-3

x2=(-b-sqrt(b^2-4*a*c))/(2*a)
x2 =
-2

a*x1^2+b*x1+c % substituindo x1 em x para verificar o resultado
ans =
0



a*x2^2+b*x2+c % substituindo x2 em x para verificar o resultado
ans =
0


Apostila Matlab - 8

Computao para Engenharia


As ltimas duas linhas de comando serviram para confirmar o resultado. Agora, imaginemos
com a = 1, b =4, c = 13, a soluo ser:

x1 2 3 1 = +
x2 2 3 1 =

O 1 no um nmero real, portanto o resultado da soluo ser um nmero complexo,
com a parte real igual a 2 e a imaginria igual a 3 ou -3.
A soluo no MATLAB ser:

a=1 ; b=4 ; c=13 ;

x1=(-b+sqrt(b^2-4*a*c))/(2*a)
x1 =
-2.0000 + 3.0000i

x2=(-b-sqrt(b^2-4*a*c))/(2*a)
x2 =
-2.0000 - 3.0000i

a*x1^2+b*x1+c % substituindo x1 em x para verificar o resultado
ans =
0

a*x2^2+b*x2+c % substituindo x2 em x para verificar o resultado
ans =
0

x1 e x2 so nmeros complexos da forma a+bi, sendo a a parte real, b a parte
imaginria e i = 1. Na engenharia, o j mais usado, sendo esse aceito pelo MATLAB. A seguir,
algumas operaes com nmeros complexos:

c1=1-2i
c1 =
1.0000 - 2.0000i

c2=3*(2-sqrt(-1)*3)
c2 =
6.0000 - 9.0000i

c3=sqrt(-2)
c3 =
0 + 1.4142i

c4=6+sin(.5)*i
c4 =
6.0000 + 0.4794i


c5=6+sin(.5)*j
c5 =
6.0000 + 0.4794i
Nos ltimos 2 exemplos, o MATLAB considerou que 1 1 = = j . Outras operaes:

c6=(c1+c2)/c3
c6 =
-7.7782 - 4.49497i

Apostila Matlab - 9

Computao para Engenharia



checagem=i^2 % ( ) = 1 1
2
!
checagem =
-1.0000 + 0.0000i

checagem=real(checagem) % mostra a parte real.
checagem =
-1

Nesses exemplos finais, consideremos a forma polar e retangular:

M M e a bi
j
Zu = = +
u


onde:

M a b = +
2 2


( )
u = arctan
b
a

a M = cosu
b M = senu

O MATLAB faz a converso da forma polar em retangular, ou vice-versa usando as funes
REAL, IMAG, ABS e ANGLE:

c1
c1 =
1.000 - 2.0000i

mag_c1=abs(c1)
mag_c1 =
2.2361

angle_c1=angle(c1)
angle_c1 =
-1.1071

deg_c1=angle_c1*180/pi
deg_c1 =
-63.4349

real_c1=real(c1)
real_c1 =
1

imag_c1=imag(c1)
imag_c1 =
-2

Dica: Note que ABS fornece o valor absoluto num nmero real e magnitude dum nmero
complexo; e ANGLE fornece o ngulo em radianos.


Apostila Matlab - 10

Computao para Engenharia


4. Ajuda On-line

Como o MATLAB baseado em comandos, h a possibilidade do esquecimento de algum
comando ou de sua funo. Existem trs possibilidades de consultar a ajuda: o comando help do
MATLAB, o comando lookfor e usando o menu help.

4.1 O comando HELP

O comando help muito simples, basta escrever help <tpico> que mostra, se existir, as
funes deste tpico. Ex.:

help sqrt

SQRT Square root
SQRT(X) is the square root of the elements of X. Complex
result are produced if X is not positive.

See also SQRTM.

Nesse exemplo acima a ajuda da funo da raiz quadrada. Agora,

help cows

cows not found

significa que nada existe sobre cows.

Escrevendo o comando help assim, sozinho, aparece uma lista de tpicos de ajuda. Ex.:

help

HELP topics:

matlab:general - General purpose commands.
matlab:ops - Operators and special characters.
matlab:lang - Language constructs and debugging.
matlab:elmat - Elementary matrices and matrix
manipulation.
matlab:speemat - Specialized matrices.
matlab:elfun - Elementary math functions.
matlab:specfun - Specialized math functions.
matlab:matfun - Matrix functions - numerical linear
algebra.
matlab:datafun - Data analysis and Fourier transform
functions.
matlab:polyfun - Polynomial and interpolation functions.
matlab:funfun - Function function - nonlinear numerical
methods.
matlab:sparfun - Sparce matrix functions.
matlab:plotxy - Two dimensional graphics.
matlab:plotxyz - Three dimensional graphics.
matlab:graphics - General purpose graphics functions.
matlab:color - Color control and lighting model
functions.
matlab:strfun - Character string functions.
matlab:iofun - Low-level file I/O functions.

Apostila Matlab - 11

Computao para Engenharia


Toolbox:local - Local function libraly.
Toolbox:sigsys - Signals and Systems Toolbox.
Toolbox:symbolic - Symbolic Math Toolbox.

For more help on directory/topic, type "help topic".

Este exemplo acima serve para voc que no se lembra do comando utilizado do MATLAB.

4.2 O comando LOOKFOR

O comando lookfor usado para ajuda sobre temas. Ex.:

lookfor complex

CONJ Complex conjugate.
IMAG Complex imaginary part.
REAL Complex real part.
CDF2RDF Complex diagonal form to real block diagonal form.
RSF2CSF Real block form to complex diagonal form
CPLXPAIR Sort numbers into complex conjugate pairs.

Importante: Este comando serve apenas para temas, no para comandos.


Apostila Matlab - 12

Computao para Engenharia


5. Operaes de arranjos

Muitas operaes matemticas se baseiam em arranjos. Nos prximos tpicos, falaremos sobre
essa ferramenta da matemtica no MATLAB.

5.1 Arranjos simples

Para construir um arranjo bem simples, basta escrever os nmeros dentro de colchetes,
separados por espaos cada elemento do arranjo. Ex.:

x=[0 .1*pi .2*pi .3*pi .4*pi .5*pi .6*pi .7*pi .8*pi .9*pi pi]
x =
Columns 1 through 7
0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8849
Columns 8 through 11
2.1991 2.5133 2.8274 3.1416

y=sin(x)
y =
Columns 1 through 7
0 0.3090 0.5874 0.8090 0.9511 1 0.9511
Columns 8 through 11
0.8090 0.5878 0.3090 0.0000

Importante: Quando o arranjo contiver um nmero complexo, deve escrev-lo sem espaos,
pois o MATLAB, como qualquer outra linguagem de computao, interpretar como elementos
deferentes dentro do arranjo. Ex.:

z=[1 -2i 3 4 5+6i]
ans =
1 -2i 3 4 5+6i

5.2 Endereamento de arranjos

No MATLAB, cada elemento do arranjo pode ser acessado, atravs da sua ordem. Por
exemplo, x(1) o endereo do primeiro elemento, x(2) do segundo, e assim por diante. Ex.:

x(3) % Terceiro elemento de X
ans =
0.6283

y(5)
ans =
0.9511

Para acessar um bloco de elementos, o MATLAB utiliza esta notao:

x(1:5) % Do primeiro ao quinto elemento de x
ans =
0 0.3142 0.6283 0.9425 1.2566

y(3:-1:1) % Do terceiro ao primeiro elemento
ans =
0.5878 0.3090 0

Apostila Matlab - 13

Computao para Engenharia



x(2:2:7) % Do segundo, em intervalos de 2, at o stimo elemento
ans =
0.3124 0.9425 1.5708

Veja que neste ltimo, o stimo elemento no apareceu, pois no estava no intervalo dado a
ele.

y([8 2 9 1]) % O oitavo, segundo, nono e primeiro elementos
ans =
0.8090 0.3090 0.5878 0

5.3 Construo de arranjos

Arranjos na matemtica so usados tipicamente para progresses aritmticas e geomtricas,
como foi o caso do X. Ele tinha 11 valores, mas, o que fazer se precisar de 111 valores? O MATLAB
tem uma resposta. Ex.:

x(0:0.1:1)*pi
x =
Columns 1 through 7
0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8849
Columns 8 through 11
2.1991 2.5133 2.8274 3.1416


x=linspace(0,pi,11)
x =
Columns 1 through 7
0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8849
Columns 8 through 11
2.1991 2.5133 2.8274 3.1416

No primeiro caso, a notao (0:0.1:1) criou um arranjo que comea em 0 e vai at 1 em
intervalos de 0,1. No segundo caso, a funo linspace foi usada para criar X. Sua sintaxe :

linspace(primeiro_elemento,ultimo_elemento,numero_de_elementos)

Existe tambm a funo logspace, semelhante a e esta ltima, porm com expoentes. Ex.:

logspace(0,2,11)
ans =
Columns 1 through 7
1.0000 1.5849 2.5119 3.9811 6.3096 10.0000 15.8489
Columns 8 through 11
25.1189 39.8107 53.0957 100.0000

Ele criou um arranjo que comea em 10
0
at10
2
, contendo 11 valores. Sua sintaxe :

logspace(primeiro_expoente,ultimo_expoente,numero_de_expoentes)

H outras formas de criar um arranjo. Nos prximos exemplos, citaremos alguns deles:

a=1:5,b=1:2:9
a =
1 2 3 4 5

Apostila Matlab - 14

Computao para Engenharia


b =
1 3 5 7 9

c=[b a]
c =
1 3 5 7 9 1 2 3 4 5

d=[a(1:2:5) 1 0 1]
d =
1 3 5 1 0 1

5.4 Operaes Arranjo-Escalares

Pode-se fazer adio, subtrao, multiplicao e diviso por um escalar a todos os elementos
de um arranjo. Ex.:

a-2 % Subtraiu 2 de cada elemento de a
ans =
-1 0 1 2 3

2*a-1 % Multiplicou cada elemento de a por 2 e subtraiu 1
ans =
1 3 5 7 9

5.5 Operaes Arranjo-Arranjo

Podemos fazer a adio, subtrao, multiplicao e diviso de arranjos, aplicados elemento-a-
elemento (Primeiro com o primeiro, Segundo com o segundo, ...). Ex.:

a,b
a =
1 2 3 4 5
b =
1 3 5 7 9

a+b
ans =
2 5 8 11 14

ans-b
ans =
1 2 3 4 5

2*a-b
ans =
1 1 1 1 1

Para a multiplicao e diviso de arranjos, requer a incluso de um ponto. Ex.:

a.*b
ans =
1 6 15 28 45

a./b
ans =
1.0000 0.6667 0.6000 0.5714 0.5556

Apostila Matlab - 15

Computao para Engenharia



b.\a
ans =
1.0000 0.6667 0.6000 0.5714 0.5556

a*b
??? Error using ==> *
Inner matrix dimensions must agree.

A diviso destes dois arranjos, feitos sem o ponto, ser considerada uma operao de matrizes.
Ex.:

a/b
ans =
0.5758

a\b
ans =
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0.2000 0.6000 1.0000 1.4000 1.8000

Pode-se fazer tambm potncias entre arranjos, arranjos e escalares, mas deve-se usar o ponto.
Ser feita elemento-a-elemento. Ex.:

a,b
a =
1 2 3 4 5
b =
1 3 5 7 9

a.^2
ans =
1 4 9 16 25

2.^a
ans =
2 4 8 16 32

b.^a
ans =
1 9 125 2401 59049

b.^(a-3)
ans =
1.0000 0.3333 1.0000 7.0000 81.0000

5.6 Orientao dos Arranjos

Nos exemplos anteriores, o arranjo era linear, ou seja, ocupava vrias colunas e apenas uma
linha. Para mudar essa orientao para arranjo em colunas, ou seja, ocupar vrias linhas e apenas uma
coluna, deve-se, em vez de colocar os nmeros com espaos, colocar o ponto-e-vrgula entre os
elementos. Ex.:


Apostila Matlab - 16

Computao para Engenharia


c=[1;2;3;4;5]
c =
1
2
3
4
5

Para criar um arranjo em colunas, deve-se primeiro utilizar os procedimentos da criao em
linhas, e depois usar o operador transpose ( ' ). Ex.:

a=1:5
a =
1 2 3 4 5
b=a'
b =
1
2
3
4
5

Agora, para os nmeros complexos, o operador transpose faz a transposio com o seu
conjugado. Ex.:

d=a+i*a
d =
Columns 1 through 4
1.0000+1.0000i 2.0000+2.0000i 3.0000+3.0000i 4.0000+4.0000i
Column 5
5.0000+5.0000i

e=d'
e =
1.0000 - 1.0000i
2.0000 - 2.0000i
3.0000 - 3.0000i
4.0000 - 4.0000i
5.0000 - 5.0000i

Para resolver esta situao, utilizaremos o ponto (.'). Ex.:

f=d'
f =
1.0000 + 1.0000i
2.0000 + 2.0000i
3.0000 + 3.0000i
4.0000 + 4.0000i
5.0000 + 5.0000i
5.7 Outras funes

Lembra-se do comando who? Ele mostrava as variveis locadas na memria. No caso dos
arranjos, o comando whos nos d uma informao adicional.

whos
Name Size Elements Bytes Density Complex
a 1 by 5 5 40 Full No

Apostila Matlab - 17

Computao para Engenharia


b 5 by 1 5 40 Full No
d 1 by 5 5 80 Full Yes
e 5 by 1 5 80 Full Yes
f 5 by 1 5 80 Full Yes

Esta Tabela ilustra as operaes bsicas de arranjo:


Operaes de Arranjos
| |
a a a a
n
=
1 2
,
| |
b b b b
n
=
1 2
e { } c escalar =
Adio com escalar
| |
a c a c a c a c
n
+ = + + +
1 2

Multiplicao com escalar
| |
a c a c a c a c
n
* * * * =
1 2

Adio de arranjos
| |
a b a b a b a b
n n
+ = + + +
1 1 2 2

Multiplicao de arranjos
| |
a b a b a b a b
n n
.* * * * =
1 1 2 2

Diviso de arranjos
| |
a b a b a b a b
n n
./ / / / =
1 1 2 2



| |
a b a b a b a b
n n
.\ \ \ \ =
1 1 2 2

Potncia em arranjos
a.^
|
c a =
1
^ c a
2
^ c a
n
^
|
c

c. ^
|
a c = ^ a c
1
^ a c
2
^
|
a
n


a.^
|
b a =
1
^ b a
1 2
^ b a
n 2
^
|
b
n




Apostila Matlab - 18

Computao para Engenharia


6. Representaes Grficas Simples:
6.1 Comandos Plot e Plot3
Embora o MATLAB possua uma capacidade grfica grande, ns iremos mostrar as linhas
gerais. Consideremos a funo ( ) y sen x = , e 0 2 s s x t. Para isso, primeiramente criaremos 30
pontos entre 0 e 2t :

x=linspace(0,2*pi,30);

O seno dos pontos de x:

y=sin(x);

O comando plot desenha a funo:

plot(x,y)

0 1 2 3 4 5 6 7
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1

Agora desenharemos a funo seno e a funo coseno no mesmo grfico:

z=cos(x);
plot(x,y,x,z)


Apostila Matlab - 19

Computao para Engenharia


0 1 2 3 4 5 6 7
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1

Vamos agora desenhar a funo seno, e indicar os pontos que definiram a curva usando o
smbolo +.

plot(x,y,x,y,'+')

0 1 2 3 4 5 6 7
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1

Desenhamos agora o grfico ( ) ( ) sen x x cos :

plot(y,z)


Apostila Matlab - 20

Computao para Engenharia


-1 -0.5 0 0.5 1
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1

No prximo exemplo ilustraremos a identidade ( ) ( ) ( ) 2 2 sen sen u u u cos = . Desenharemos
a funo usando linhas pontilhadas:

plot(x,y,x,2*y.*z,'--')
grid % Linhas de grade do grfico
xlabel('Varivel Independente X') % Nome do eixo dos X
ylabel('Varivel Dependente') % Nome do eixo dos y
title('2sin(x)cos(x)=sin(2x)') % Ttulo do grfico

0 1 2 3 4 5 6 7
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Varivel Independente X
2sin(x)cos(x)=sin(2x)
V
a
r
i

v
e
l
D
e
p
e
n
d
e
n
t
e

Analisaremos agora o exemplo de grficos em 3-D:

plot3(y,z,x),grid


Apostila Matlab - 21

Computao para Engenharia


0
2
4
6
8
-1
-0.5
0
0.5
1
-1
-0.5
0
0.5
1

A seguir, uma tabela com as cores e formas da funo plot:

Smbolo Cores Smbolo Linha
y Amarelo . ponto
m margenta o crculo
c cyan x marca-x
g verde + cruz
b azul * estrela
w branco : linha de pontos
k preto -. trao e ponto
-- trao e trao

Com a funo text voc pode inserir no grfico algum texto. Ex.:

y=sin(x);
z=cos(x);
plot(x,y,x,z)
grid
xlabel('Varivel Independente X')
ylabel('Varivel Dependente')
title('Curvas seno e coseno')
text(2.5,0.7,'sin(x)')

J o comando gtext faz o seu cursor virar em forma de cruz, para que voc coloque o
argumento da funo no grfico. Ex.:

gtext('cos(x)')


Apostila Matlab - 22

Computao para Engenharia


0 1 2 3 4 5 6 7
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Varivel Independente X
V
a
r
i

v
e
l
D
e
p
e
n
d
e
n
t
e
Curvas seno e coseno
sin(x)
cos(x)

O comando axis manipula o grfico, como o eixo de coordenadas e a escala. A tabela abaixo
h uma descrio do comando:

Comando Descrio
axis([xmin xmax ymin ymax]) Indica o mximo e o mnimo valores usados para os eixos. Se
escreve na forma de vetor.
axis auto
axis ('auto')
Retorna a escala normal, com xmin=min(x), xmax=max(x),
etc.
axis(axis) Faz com que a escala seja feita nos correntes limites, s que a
funo hold ser ligada, e os subsequentes plots usaro o
limite dessa primeira.
axis xy
axis ('xy')
Usa as coordenadas cartesianas, fazendo com que o eixo
horizontal sejam da esquerda para a direita, e o eixo vertical
seja de baixo para cima.
axis square
axis ('square')
Faz com que o corrente plot seja feito de modo que a figura
seja um quadrado.
axis equal
axis ('equal')
Faz com que as escalas sejam iguais para os eixos.
axis normal
axis ('normal')
Desliga quando axis for square e/ou equal.
axis off
axis ('off')
Tira os eixos da figura. Tambm os labels, mas deixa o ttulo e
os feitos pelos comandos text e gtext
axis on
axis ('on')
Retorna os eixos, juntamente com os labels e o grid.

Note: Se voc quiser usar, no comando axis, mais de um argumento, usa-se os argumentos
separados por vrgulas, dentro dos parnteses. Ex.:

axis('square','equal')
6.2 Outros comandos
- loglog semelhante ao plot, porm seus eixos esto em escalas logartmicas.
- semilogx semelhante ao plot, porm seu eixo-x usa a escala logartmica, enquanto o eixo-y usa
a escala linear.
- semilogy semelhante ao plot, porm seu eixo-y usa a escala logartmica, enquanto o eixo-x usa
a escala linear.

Apostila Matlab - 23

Computao para Engenharia


- Para plotar em coordenadas polares, fazemos o uso do comando polar(t,r,S), onde t o vetor
ngulo, r o vetor radiano e S o opcional caracter ou cores. Ex.:

t=0:.01:2*pi;
r=sin(2*t).*cos(2*t);
polar(t,r)
title('Polar Plot of sen(2t)cos(2t)')

Polar Plot of sen(2t)cos(2t)
0.1
0.2
0.3
0.4
0.5
30
210
60
240
90
270
120
300
150
330
180 0

- Usa-se o comando bar e o comando stair para utilizar o grfico atravs de colunas. Ex.:

x=-2.9:0.2:2.9;
y=exp(-x.*x);
bar(x,y)
title('Curva feita pela funo BAR')

-5 0 5
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Curva feita pela funo BAR

stairs(x,y)
title('Curva feita pela funo STAIR')


Apostila Matlab - 24

Computao para Engenharia


-3 -2 -1 0 1 2 3
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Curva feita pela funo STAIR




Apostila Matlab - 25

Computao para Engenharia


7. Arquivos de comandos

Voc pode colocar uma srie de comandos a serem executados no MATLAB criando um
arquivo. Este conter a extenso (m). O termo M-file ser usado para arquivos de comandos.
Para criar um arquivo, escolha New no menu File e selecione M-file. Abrirar uma janela do
editor de texto.
Depois de salv-lo em seu disco, com o nome de teste.m, por exemplo, o MATLAB s
executar os comandos de seu arquivo se voc cham-lo na linha de comando. Ex.:

teste

O MATLAB procurar no diretrio corrente, emitindo um sinal se no ach-lo. A seguir,
alguns comandos que voc necessitar para a manipulao desses arquivos:

Comando Descrio
what Retorna a lista de todos os M-files no diretrio corrente.
dir Lista todos os arquivos do corrente diretrio.
ls Semelhante ao dir
type test Mostra o contedo do arquivo test.m
delete test Apaga o arquivo test.m
cd path Entra no diretrio definido em path
chdir path Semelhante ao cd path
cd Mostra o nome do diretrio corrente
chdir Semelhante a cd
pwd
Semelhante a cd



Apostila Matlab - 26

Computao para Engenharia


8. Texto

O MATLAB pode trabalhar com texto. Para determinar uma varivel que contenha texto, deve
digit-lo entre apstrofes ('). Ex.:

t=Voc conhece o MATLAB?'

Pode tambm pegar trechos das variveis:

u=t(6:12)
u =
conhece

Pegar de ordem inversa:

u=t(12:-1:6)
u =
ecehnoc

Escrever em diferentes linhas:

v=['Glria dos desportos nacional'
'Oh! Internacional'
'Que eu vivo a exaltar.']
v =
Glria dos desportos nacional
Oh! Internacional
Que eu vivo a exaltar.

Voc tambm tem acesso aos valores ASCII das letras, atravs da funo abs:

s='ABCDEF'
s =
ABCDEF

m=abs(s)
m =
65 66 67 68 69 70 71

m=s+0
m =
65 66 67 68 69 70 71

Para voltar aos caracteres normais, usa-se a funo setstr:

setstr(m)
ans =
ABCDEF

Vamos somar cinco e depois converter para caracteres:

n=m+5
n =
70 71 72 73 74 75 76

setstr(n)
ans =
FGHIJKL

Apostila Matlab - 27

Computao para Engenharia



Finalmente, vamos converter em minsculas os caracteres adicionando a diferena de ambos:

n=s+'a'-'A'
n =
97 98 99 100 101 102 103

setstr(n)
ans =
abcdef



Apostila Matlab - 28

Computao para Engenharia


9. Operaes Relacionais e Lgicas

Como operaes tradicionais na Matemtica, o MATLAB suporta operaes relacionais e
lgicas. Seus comandos, operadores e funes retornam valores Verdadeiro/Falso para as questes
propostas.
Para demonstrar esses valores, o MATLAB utiliza-se da seguinte notao: zero (0) para
retorno falso e diferente para retorno verdadeiro. Normalmente, quando a operao puramente lgico,
ele retorna o valor 1. Se no, retorna o valor da varivel.
9.1 Operadores Relacionais
Operadores relacionais do MATLAB para a comparao:

Operador Descrio
< menor que
<= menor ou igual que
> maior que
>= maior ou igual que
== igual que
~= diferente que

Para demostrar as operaes relacionais, vamos utilizar de 2 arranjos. Note que elemento-a-
elemento. Ex.:

A=1:9,B=9-A
A =
1 2 3 4 5 6 7 8 9
B =
8 7 6 5 4 3 2 1 0

tf=A>4 %Em quais posies os valores de A so maiores que 4?
tf =
0 0 0 0 1 1 1 1 1

tf=A==B %Em quais as posies os valores de A so iguais as de B?
tf =
0 0 0 0 0 0 0 0 0

tf=B-(A>2) % Subtrair A de B apenas os valores maiores que 2.
tf =
8 7 5 4 3 2 1 0 -1


B=B+(B==0)*eps
B =
Columns 1 through 7
8.0000 7.0000 6.0000 5.0000 4.0000 3.0000 2.0000
Columns 8 through 9
1.0000 0.0000

Para B=0, soma-se o valor de eps, aproximadamente 2,2e-16 (ou 2 2 10
16
,

). Isto
importante para funes onde tem um ponto de descontinuidade da curva. Ex.:

x=(-3:3)/3
x =
-1.0000 -0.6667 -0.3333 0 0.3333 0.6667 1.0000

sin(x)./x

Apostila Matlab - 29

Computao para Engenharia


Warning : Divide by zero.
ans =
0.8475 0.9276 0.9816 NaN 0.9816 0.9276 0.8475

A funo sin(x)/x indefinida para o ponto x=0, pois sin(0)/0=0/0. O MATLAB retornar
NaN (no nmero). Agora usando o eps:

x=x+(x==0)*eps;
sin(x)./x
ans =
0.8475 0.9276 0.9816 1.0000 0.9816 0.9276 0.8475

Agora apareceu o limite correto para x=0.
9.2 Operadores Lgicos:
Operador Descrio
& AND (e)
| OR (ou)
~ NOT (no)

No captulo passado, voc viu um exemplo de operadores relacionais.

A=1:9,B=9-A;
tf=A>4 %maiores que 4
tf =
0 0 0 0 1 1 1 1 1

Agora usando operadores lgicos:

tf=~(A>4) % no maiores que 4.
tf =
1 1 1 1 0 0 0 0 0

tf=(A>2)$(A<6) % Maiores que 2 e menores que 6.
tf =
0 0 1 1 1 0 0 0 0

Um exemplo para criar uma funo descontnua:

x=linspace(0,10,100); % criar os pontos.
y=sin(x); % aplicar a funo seno.
z=(y>=0).*y; % Os valores negativos de y iguais a zero.
z=z+0.5*(y<0); % Os valores negativos de y iguais a 1/2.
z=(x<=8).*z; % Valores de x acima de 8 iguais a zero.
plot(x,z)
xlabel('X'),ylabel('Z=f(x)')
title('O sinal Descontinuo')


Apostila Matlab - 30

Computao para Engenharia


0 2 4 6 8 10
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
X
Z= f(x)
O sinal Descontnuo


O MATLAB tem outras funes relacionais e lgicas, algumas mencionadas no quadro
abaixo:

Funo Descrio
xor(x,y) Operador exclusivo OR. Retorna 1 se ou x ou y forem diferentes de zero.
Retorna zero se x e y forem iguais a zero ou diferentes de zero.
any(x) Retorna um se qualquer elemento de um vetor x for diferente de zero. Retorna
um se algum dos elementos da diagonal da matriz x for diferente de zero.
all(x) Retorna um se todos os elementos de um vetor x forem no-nulos. Retorna um
se todos os elementos da diagonal da matriz x forem diferentes de zero.
isnan(x) Retorna um se x contiver NaNs (No-nmeros).
isinf(x) Retorna um se x contiver Infs (Infinito).
finite(x) Retorna um se x contiver valores finitos.

A seguir, o quadro de preferncias do MATLAB, com os elementos na ordem de prioridade,
ou seja, cresce de importncia de cima para baixo:

Tabela de preferncia de Operadores
^ .^ ' .'
* / \ .* ./ .\
+ - ~ +(unary) -(unary)
: > < >= <= == ~=
| &



Apostila Matlab - 31

Computao para Engenharia


10. lgebra Linear e Matrizes

10.1 Funes Bsicas
O Material desta seo assume que voc j tenha algum conhecimento anterior em lgebra
linear. Na matemtica, qualquer sistema linear de equaes pode ser transformada numa operao de
matrizes. Ex.:

Joo comprou uma ma, duas bananas, trs pras e pagou R$ 3,66. Maria comprou
quatro maas, cinco bananas e seis pras e pagou R$ 8,04. Jos comprou sete mas,
oito bananas, nenhuma pra e pagou R$ 3,51. Quanto custa cada fruta?

Para resolver o problema, determinaremos x
1
para o preo das maas, x
2
para bananas e x
3

para pras. Temos:

x x x
1 2 3
2 3 3 66 + + = ,
4 5 6 8 04
1 2 3
x x x + + = ,
7 8 0 354
1 2 3
x x x + + = ,

Agora, transformada em matrizes, temos:

1 2 3
4 5 6
7 8 0
3 66
8 04
354
1
2
3

x
x
x
,
,
,


A x b =

Para a multiplicao de matrizes, usa-se o operador *. Esto a soluo ser:

A=[1 2 3;4 5 6;7 8 0]
A =
1 2 3
4 5 6
7 8 0

b=[3.66;8.04;3.51]
b =
3.6600
8.0400
3.5400

Para determinar as solues, verificamos se o determinante da matriz A diferente de zero:

det(A)
ans =
27

Ento a soluo ser x A b =
1
, ou seja:

x=inv(A)*b
x =
0.2500
0.2200
0.9900

Apostila Matlab - 32

Computao para Engenharia



A funo inv faz a matriz inversa
( )
A
1
, mas tem uma outra forma:

x=A\b
x =
0.2500
0.2200
0.9900

Quando as equaes so homogneas, isto , iguais a zero, usa-se a notao x=pinv(A)*b. A
soluo baseia-se no pseudo-inverso, que calcula as possibilidades de outras solues alm da nula.
10.2 Outras Funes:
- A.' a transposta da matriz A. A transposta conjugada da matriz A escrita A'.
- d=eig(A) retorna autovalores associados da matriz quadrtica A.
- [V,D]=eig(A) retorna autovetores na matriz V e autovalores na diagonal da matriz D.
- Nota: [a,b] retorna duas variveis a e b da funo.
- [L,U]=lu(A) retorna a fatorao LU da matriz quadrtica A.
- [Q,R]=qr(A) retorna a fatorao QR da matriz A.
- [U,S,V]=svd(A) retorna o valor decomposto singular da matriz A.
- rank(A) retorna o rank de A.
- cond(A) retorna o nmero condicional da matriz A.
- norm(A) retorna a norma da matriz A. 1=normal, 2-normal, F-normal, e -normal so
suportados.
- poly(A) escreve o polinmio caracterstico associado a matriz A.


Apostila Matlab - 33

Computao para Engenharia


11. Manipulao de Matrizes

No MATLAB, pode-se fazer a manipulao das matrizes usando as posies de seus
elementos. Ex.:

A=[1 2 3;4 5 6;7 8 9]
A =
1 2 3
4 5 6
7 8 9

A(3,3)=0 % Elemento nulo na terceira linha, terceira coluna.
A =
1 2 3
4 5 6
7 8 0

Quando um elemento est fora das dimenses da matriz, cria-se colunas iguais a zero. Ex.:



A(2,6)=1
A =
1 2 3 0 0 0
4 5 6 0 0 1
7 8 9 0 0 0

Fazer outra matriz a partir de uma:

A=[1 2 3;4 5 6;7 8 9];
B=A(3:-1:1,1:3) % ou B=A(3:-1:1,:)
B =
7 8 9
4 5 6
1 2 3

C=[A B(:,[1 3])] % A igual a A + a primeira e terceira coluna de B.
C =
1 2 3 7 9
4 5 6 4 6
7 8 9 1 3

B=A(1:2,2:3)
B =
2 3
5 6

B=A(:)
B =
1
2
3
4
5
6
7
8
9

Apostila Matlab - 34

Computao para Engenharia



A(:,2)=[] % remover segunda coluna.
A =
1 3
4 6
7 9
11.1 Outras Funes
- [l,c]=size(A) retorna o nmero de linhas para l e nmero de colunas para c.
- flippud(A) inverte a matriz de cima para baixo.
- fliplr(A) inverte a matriz da direita para a esquerda.
- rot90(A) rotaciona a matriz A no sentido anti-horrio.
- diag(v) cria uma matriz diagonal com o vetor v na diagonal dessa matriz.
- diag(A) extrai a diagonal da matriz A em um vetor.
- zeros(m,n) cria uma matriz m por n de zeros.
- ones(m,n) cria uma matriz m por n de ums.
- rand(m,n) cria uma matriz m por n de nmeros rndomicos de zero at um.
- eye(m,n) cria uma matriz identidade m por n.


Apostila Matlab - 35

Computao para Engenharia


12. Estruturas de comandos

Estruturas de comandos Descrio Exemplos
for x = arranjo
comandos
end
As repeties dos
comandos sero
feitas desde a
primeira coluna
do arranjo
(matriz ou
seqncia) at a
ltima.
data=[3 9 45 6
7 16 -1 5];
for n=data
x=n(1)-n(2)
end
x =
-4
x =
-7
x =
46
x =
1
while expressao
comandos
end
As repeties dos
comandos sero
feitas enquanto a
expresso for
verdadeira ou
no nula.
num=0;EPS=1;
while (1+EPS)>1
EPS=EPS/2;
num=num+1;
end
num
num =
53

EPS=2*EPS
EPS =
2.2204e-16
if expressao
comandos
end
A simples
estrutura if-end
executa os
comandos
enquanto a
expresso for
verdadeira ou
no nula
a=10;cost=a*25
cost =
250

if a>5 %20% de desconto
cost=(1-20/100)*cost;
end

cost
cost =
200
if expressao
comandos se expressao verdad.
else
comandos se expressao falso
end
A estrutura If-
else-end dividida
em duas partes.
A primeira parte
ser executada se
a expresso for
verdadeira ou
no nua. A
segunda parte se
a expresso for
falsa ou nula.
a=10;b=a-1;
if a>b
a=b;
else
a=b+1;
end

a,b
a =
9

b =
9
if expressao
comandos se expressao verdad.
elseif expressao1
comandos se expressao1 verdad.
elseif expressao2
comandos se expressao2 verdad.
A estrutura geral
do If-else-end.
Executa os
comandos
associados as
expresses, se
a=10;b=a-1;c=a+1;
if a>b
a=b;
elseif a<c
a=b+1;
else

Apostila Matlab - 36

Computao para Engenharia


Estruturas de comandos Descrio Exemplos
.
.
.
else
comandos se expressao falso
end
elas so
verdadeiras.
c=a;
end

a,b,c
a =
10
b =
9
c =
11
break termina a
execuo das
repeties for e
while.
EPS=1;
for num=1:1000
EPS=EPS/2;
if (1+EPS)<=1
EPS=EPS*2
break
end
end
EPS =
2.2204e-16

num
num =
53



Apostila Matlab - 37

Computao para Engenharia


13. Funes para arquivos M-File
13.1 Funes Bsicas
Muitas das funes do MATLAB so , na verdade, arquivos M-files. Voc poder criar seus
arquivos utilizando de um editor de texto que grave no formato ASCII, com extenso M. Para voc ter
uma idia de como fazer um, utilizaremos a funo fliplr, localizado no arquivo fliplr.m:

function y = fliplr(x)
%FLIPLR Flip matrix in the left/right direction.
% FLIPLR(X) returns X with row preserved and columns flipped
% in the left/right direction.
%
% X = 1 2 3 becomes 3 2 1
% 4 5 6 6 5 4
%
% See also FLIPUD.

% Copyrigth (c) 1984-93 by The MathWorks, Inc.

[m,n] = size(x);
y = x(:,n:-1:1);

A primeira parte do seu arquivo vai servir para o help. Na segunda parte, como a funo ser
executada.
Existe uma varivel, chamada nargin, que serve para indicar os parmetros que no so feitos
pelos usurios. Confuso? A funo linspace um bom exemplo para o uso do nargin:

function y = linspace(d1, d2, n)
%LINSPACE Linearly spaced vector.
% LINSPACE(x1, x2) generates a row vector of 100
% linearly equally spaced points between x1 and
% x2. LINSPACE(x1, x2, N) generates N points
% between x1 and x2.
%
% See also LOGSPACE and :.

% Copyright (c) 1989 by the MathWorks, Inc.

if nargin == 2
n = 100;
end
y = [d1+(0:n-2)*(d2-d1)/(n-1) d2];

Se no existe valor para n, por exemplo, x=linspace(0,pi), linspace executar seus
comandos com n igual a 100.


Apostila Matlab - 38

Computao para Engenharia


14. Anlise de Dados

14.1 Funes Bsicas
Por conveno, a entrada de dados feita atravs de matrizes, orientado a colunas. Por
exemplo, vamos verificar a temperatura em trs cidades durante 31 dias. Executando o M-file contm a
varivel temps, criado por voc num editor de texto:

temps
temps =
12 8 18
15 9 22
12 5 19
14 8 23
12 6 22
11 9 19
15 9 15
8 10 20
19 7 18
12 7 18
14 10 19
11 8 17
9 7 23
8 8 19
15 8 18
8 9 20
10 7 17
12 7 22
9 8 19
12 8 21
12 8 20
10 9 17
13 12 18
9 10 20
10 6 22
14 7 21
12 5 22
13 7 18
15 10 23
13 11 24
12 12 22

A varivel temps contm as temperaturas mais altas do dia. Cada coluna representa uma
cidade. Para visualizar os dados, vamos desenh-los:

d=1:31; % nmero de dias num ms.
plot(d,temps)
xlabel('Dias do ms'),ylabel('Celcius')
title('As altas temperaturas de trs cidades')


Apostila Matlab - 39

Computao para Engenharia




A funo mean d a mdia das, nesse caso, das temperaturas das cidades. Ex.:

avg_temp=mean(temps)
avg_temp =
11.9677 8.2258 19.8710

Note que ela fez por colunas, e no o total. Se voc estiver interessado no total, aplique a
funo de novo. Ex.:

avg_avg=mean(avg_temp)
avg_avg =
13.3548

Para saber o mximo valor das temperaturas, usa-se a funo max. Ex.:

max_temp=max(temps)
max_temp =
19 12 24

Para saber a posio dos valores mximos, fcil. Basta acrescentar uma varivel resposta.
Ex.:

[max_temp,x]=max(temps)
max_temp =
19 12 24
x =
9 23 30

O mesmo e aplica para os valores mnimos, s que a funo min. Ex.:

Apostila Matlab - 40

Computao para Engenharia



min_temp=min(temps)
min_temp =
8 5 15

[min_temp,n]=min(temps)
min_temp =
8 5 15
n =
8 3 7

Agora, para saber o desvio padro, usa-se a funo std. Ex.:

s_dev=std(temps)
s_dev =
2.5098 1.7646 2.2322

A funo diff nos d a variao dia-a-dia das temperaturas. Ex.:

daily_change=diff(temps)
daily_change =
3 1 4
-3 -4 -3
2 3 4
-2 -2 -1
-1 3 -3
4 0 -4
-7 1 5
11 -3 -2
-7 0 0
2 3 1
-3 -2 -2
-2 -1 6
-1 1 -4
7 0 -1
-7 1 2
2 -2 -3
2 0 5
-3 1 -3
3 0 2
0 0 -1
-2 1 -3
3 3 1
-4 -2 2
1 -4 2
4 1 -1
-2 -2 1
1 2 -4
2 3 5
-2 1 1
-1 1 -2
14.2 Outras funes:
Funes Estatsticas Descrio
corrcoef(x) Coeficientes correlatos.
cov(x) Matrix covariante.
cumprod(x) Produto cumulativo das colunas.
cumsum(x) Soma acumulativa das colunas.

Apostila Matlab - 41

Computao para Engenharia


Funes Estatsticas Descrio
diff(x) Diferena entre elementos.
hist(x) Grfico de historiogramas.
mean(x) Mdia dos valores das colunas.
median(x) Mediana dos valores das colunas.
prod(x) produto dos elementos nas colunas.
rand(x) Distribuio uniforme de nmeros randmicos.
randn(x) Distribuio normal de nmeros randmicos.
sort(x) Colocao nas colunas em ordem crescente
std(x) Desvio padro das colunas.
sum(x) Soma dos elementos de cada coluna.



Apostila Matlab - 42

Computao para Engenharia


15. Polinmios

15.1 Razes
Para se saber as razes de um polinmio, isto , achar a soluo quando o polinmio for igual a
zero, preciso colocar os coeficientes do polinmio em forma de vetor. Por exemplo, o polinmio
x x x
4 3
12 25 116 + + , para o MATLAB, assim:



p=[1 -12 0 25 116]
p =
1 -12 0 25 116

Note que o coeficiente zero do termo x
2
foi includo. Sem ele, o MATLAB entenderia como
um polinmio de 3 grau, e no de 4 grau, como a nossa. Agora, para saber as razes, basta usar a
funo roots. Ex.:

r=roots(p)
r =
11.7473
2.7028
-1.2251 + 1.4672i
-1.2251 - 1.4672i

Agora, vamos fazer o inverso. Ns temos as razes e queremos saber o polinmio que a gerou.
Para isso usamos a funo poly. Ex.:

pp=poly(r)
pp =
1.0e+002 *

Columns 1 through 4

0.0100 -0.1200 -0.0000 0.2500

Column 5

1.1600 + 0.0000i

pp=real(pp) % Suprimir a parte imaginria
pp =
1.0000 -12.0000 0.0000 25.0000 116.0000

Como o MATLAB trabalhou com nmeros complexos e mtodos numricos, normal que o
resultado da parte imaginria seja fruto do erro desses mtodos. Basta simplificar, suprimindo a parte
imaginria, para se ter os coeficientes para a funo real.
15.2 Multiplicao
Para a multiplicao de polinmios, o MATLAB utiliza a funo conv (Convoluo de dois
arranjos). Considere o produto de dois polinmios
( )
a x x x x = + + +
3 2
2 3 4 e
( )
b x x x x = + + +
3 2
4 9 16:

a=[1 2 3 4]; b=[1 4 9 16];
c=conv(a,b)
c =

Apostila Matlab - 43

Computao para Engenharia


1 6 20 50 75 84 64

O resultado
( )
c x x x x x x x = + + + + + +
6 5 4 3 2
6 20 50 75 84 64. Para multiplicar mais
de dois polinmios, repete o uso de conv.
15.3 Adio
Para somar dois ou mais polinmios, pode-se fazer uma simples adio de arranjos, ou seja, a
soma de
( )
a x e
( )
b x :

d=a+b
d =
2 6 12 20

O resultado
( )
d x x x x = + + + 2 6 12 20
3 2
.
15.4 Diviso
No MATLAB, a diviso de polinmios feita atravs da funo deconv. Ex.:

[q,r]=deconv(c,b) % c/b
q =
1 2 3 4
r =
0 0 0 0 0 0 0

O resultado de b dividir c um polinmio quociente q e resto em r.
15.5 Derivada
Para a derivao de um polinmio, o MATLAB tem a funo polyder. Ex.:

g=[1 6 20 48 69 72 44]; % x^6+6x^5+20x^4+48x^3+69x^2+72x+44
h=polyder(g)
h =
6 30 80 144 138 72
15.6 Grfico da funo
Para se desenhar a funo, precisa-se, primeiramente criar um arranjo de pontos e escrever a
funo em forma de vetor:

x=linspace(-1,3);p=[1 4 -7 -10];

A funo polyval retorna os pontos da funo:

y=polyval(p,x);
plot(x,y),title('y(x)=x^3+4x^2-7x-10'),xlabel('x'),ylabel('y(x)')

Apostila Matlab - 44

Computao para Engenharia


-1 -0.5 0 0.5 1 1.5 2 2.5 3
-15
-10
-5
0
5
10
15
20
25
30
35
y(x)=x^3+4x^2-7x-10
x
y(x)



Apostila Matlab - 45

Computao para Engenharia


16. Ajustamento de curva e Interpolao

Em numerosas reas, precisa-se do uso de uma equao para se resolver um problema. O que
fazer se ns s estivermos com os dados na mo? Nesse caso, o uso do ajustamento e interpolao
poder nos facilitar a essa resoluo.
16.1 Ajustamento de curvas
No MATLAB, a funo polyfit pode resolver quando voc tem os dados e as que
transformar em polinmios. A ilustrao abaixo nos permite ver o uso dessa funo. Depois vamos
plotar para ver se o ajustamento est certo:

x=[0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1];
y=[-.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2];

Para usar o comando polyfit deve-se indicar qual o grau do polinmio para se tentar
ajustar. Por exemplo, se n=1, ele tentar ajustar para uma reta. Agora, se for n=2, como o nosso caso,
ele indicar um polinmio de grau 2. Ex.:

n=2;
p=polyfit(x,y,n)
p =
-9.8108 20.1293 -0.0317

O resultado do nosso ajustamento : + 98108 201293 00317
2
. . . x x . Vamos agora
verificar se o ajustamento est certo:

xi=linspace(0,1,100);
z=polyval(p,xi);
plot(x,y,'o',x,y,xi,z,':')
xlabel('x'),ylabel('y'),title('Ajustagem para uma curva
quadrtica')

0 0.2 0.4 0.6 0.8 1
-2
0
2
4
6
8
10
12
x
y
Ajustagem para uma curva quadrtica

16.2 Interpolao Unidimensional
Para ilustrar uma interpolao unidimensional, Vamos considerar esse exemplo:

Apostila Matlab - 46

Computao para Engenharia



Fazendo parte de um projeto cientfico, Lisa coletou as informaes sobre as
temperaturas durante um dia, num perodo de doze horas. Como saber a
temperatura numa hora qualquer?

Vamos plotar esses dados:

horas=1:12;
temps=[5 8 9 15 25 29 31 30 22 25 27 24];
plot(horas,temps,horas,temps,'+')
title('Temperaturas')
xlabel('Hora'),ylabel('Graus celcius')

0 2 4 6 8 10 12
5
10
15
20
25
30
35
Temperaturas
Hora
G
r
a
u
s
C
e
l
c
i
u
s


Para estimar a temperatura numa determinada hora, usamos a funo interp1. Ex.:

t=interp1(horas,temps,9.3) % Estimar a hora 9,3
t =
22.9000

t=interp1(horas,temps,4.7) % Estimar a hora 4,7
t =
22


t=interp1(horas,temps,[3.2 6.5 7.1 11.7])
t =
10.2000
30.0000
30.9000
24.9000


Apostila Matlab - 47

Computao para Engenharia


Para se ter uma preciso ainda maior, deve-se usar o argumento spline. Ex.:

t=interp1(horas,temps,9.3,'spline')
t =
21.8577

t=interp1(horas,temps,4.7,'spline')
t =
22.3143

t=interp1(horas,temps,[3.2 6.5 7.1 11.7],'spline')
t =
9.6734
30.0427
31.1755
25.3820

A Interpolao tipo spline diferente da linear, pois emprega o conceito diferencial, da os
resultados serem deferentes. O tipo spline mais indicado quando se quer utilizar para grficos.
Ex.:

h=1:0.1:12;
t=interp1(horas,temps,h,'spline');
plot(horas,temps,'--',horas,temps,'+',h,t)
title('Temperaturas')
xlabel('Hora'),ylabel('Graus Celcius')

0 2 4 6 8 10 12
5
10
15
20
25
30
35
Temperaturas
Hora
G
r
a
u
s
C
e
l
c
i
u
s



Apostila Matlab - 48

Computao para Engenharia


17. Anlise Numrica

17.1 Plotagem
Para voc plotar uma funo, pode-se usar a funo, escrita na forma de texto, e depois utilizar
a funo fplot. A ilustrao abaixo vai indicar como se faz isso:

f='2*exp(-x).*sin(x)';
fplot(f,[0 8]) % Funo f no intervalo de 0 a 8
title(f),xlabel('x')

0 1 2 3 4 5 6 7 8
-0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
2*exp(-x).*sin(x)
x

17.2 Minimizao e Maximizao
Para saber um pouco mais sobre isso, vamos utilizar a funo passada. Note que o valor
mximo est perto de x
m x
= 0 7 , e o valor mnimo est perto de x
min
= 4. Analiticamente, esses
pontos esto em x
m x
= ~ t 4 785 . e x
min
= ~ 5 4 393 t . . Escrevendo um arquivo M-file num
editor de texto conveniente, temos:

% ex_fmin.m
fn='2*exp(-x)*sin(x)'; % Funo por min
xmin=fmin(fn,2,5) % No intervalo de 2 a 5
emin=5*pi/4-min % Erro
x=xmin; % Definir x para avaliar fn
ymin=eval(fn) % avaliar xmin
fx='-2*exp(-x)*sin(x)'; % Funo por max : note o sinal
xmax=fmin(fx,0,3) % No intervalo de 0 a 3
emax=pi/4-xmax % Erro
x=xmax; % define x para avaliar fn
ymax=eval(fn) % avaliar xmax

Executando este M-file, teremos:



ex_fmin
xmin =
3.9270

Apostila Matlab - 49

Computao para Engenharia


emin =
1.4523e-06
ymin =
-0.0279
xmax =
0.7854
emax =
-1.3781e-05
ymax =
0.6448

Percebe-se, pelo grfico, que esses valores condizem com a realidade.
17.3 Determinao do Zero
Determinaremos o zero da funo
( ) ( )
y
x x
=
+
+
+

1
3 001
1
9 004
6
2 2
. .
que, pelo
grfico abaixo, deve estarem torno de x=1.2

Para o MATLAB determinar o zero dessa funo, escolhemos a funo do MATLAB,
chamada fzero. A ilustrao abaixo descreve o uso dessa funo:

xzero=fzero(f,1.2) % Ver o zero perto de 1,2
xzero =
1.2995
17.4 Integrao
Determinaremos a rea da funo
( ) ( )
y
x x
=
+
+
+

1
3 001
1
9 004
6
2 2
. .
no
intervalo e -1 a 2. Existem duas formas de se fazer isso: A aproximao trapezoidal, representado pela
funo trapz, em quadrados, representados pelas funes quad e quad8. quad8 mais rigoroso do
que o quad. Ex.:

x=-1:.17:2;
y=1./((x-3).^2+.01)+1./((x-9)^2+.04)-6;
area=trapz(x,y)
area =
25.9174

x=-1:.07:2;
y=1./((x-3).^2+.01)+1./((x-9)^2+.04)-6;
area=trapz(x,y)
area =
26.6243

Naturalmente que iria dar diferente. No primeiro os intervalos eram maiores que no segundo,
portanto mais sujeito a erros.


area=quad(y,-1.2) % rea entre -1 e 2
area =
26.3450

area=quad8(y,-1,2)
area =
26.3450

Apostila Matlab - 50

Computao para Engenharia


17.5 Diferenciao
Vamos utilizar o exemplo da curva de ajustamento para a utilizao do ajustamento de curva.

x=[0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1];
y=[-.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2];
n=2;
p=polyfit(x,y,n)
p =
-9.8108 20.1293 -0.0317
xi=linspace(0,1,100);
z=polyval(p,xi);
plot(x,y,'o',x,y,xi,z,':')
xlabel('x'),ylabel('y'),title('Ajustagem para uma curva
quadrtica')

0 0.2 0.4 0.6 0.8 1
-2
0
2
4
6
8
10
12
x
y
Ajustagem para uma curva quadrtica

Para ns ficarmos sabendo da equao da derivada, utiliza-se a funo polyder. Ex.:

pd=polyder(p)
pd =
-19.6217 20.1293

A derivada de ( ) f x x x = + 9 8108 201293 0 0317
2
, , ,
df x
dx
x
( )
, , = + 19 9217 201293. Nosso prximo passo plotar o grfico:

z=polyval(pd,xi);
plot(xi,z)
xlabel(X),ylabel(dy/dx)
title(Derivada do Ajustamento da curva polinomial)


Apostila Matlab - 51

Computao para Engenharia


0 0.2 0.4 0.6 0.8 1
0
5
10
15
20
25
X
dy /dx
Deriv ada do Ajustamento da curv a poly nomial



Agora, se voc quiser saber a derivada ponto a ponto, usa-se um artifcio com a funo diff.
Ex.:

dy=diff(y)./diff(x);
xd=x(1:length(x)-1);
plot(xd,dy)
title(Aproximao da derivada usando a funo DIFF)
ylabel(dy/dx),xlabel(X)

0 0.2 0.4 0.6 0.8 1
-5
0
5
10
15
20
25
30
Aproximao da derivada usando a funo DIFF
dy/dx
X

17.6 Equaes Diferenciais
Para resolver uma equao diferencial, vamos nos utilizar do seguinte exemplo:
( )
d x
dt
x
dx
dt
x
2
2
2
1 0 + = u

Fazendo a resoluo diferencial, dividindo ela em duas variveis:


Apostila Matlab - 52

Computao para Engenharia


y x e y
dx
dt
1 2
= =
portanto,
( )
dy
dt
y
dy
dt
y y
1
2
2
1
2
1
1
=
=

u



Para resolver esse sistema, as funes ode23 e ode45 so usadas. Voc ter que escrever a
funo nesta M-file:

function yprime = vdpol(t,y);
%Vdpol(t,y) returns the state derivatives of the
%Van der Pol equation:
%
% x-mu*(1-x^2)*x+x = 0 ( = d/dx, = d^2/dx^2)
%
% let y(1) = x and y(2) = x
%
% then y(1) = y(20
% y(2) = mu*(1-y(1)^2)*y(2) -y(1)

mu=2; % choose 0< mu < 10

yprime=[y(2)
mu*(1 - y(1)^2)*y(2)-y(1)]; % yprime is a column

Para o sistema que rege a equao diferencial, a soluo :

[t,y]=ode23(vdpol,0,30,[1;0]);
y1=y(:,1); % Primeira coluna y(1) versus pontos de tempo de t
y2=y(:,2); % Segunda coluna y(2)
plot(t,y1,t,y2,--)
xlabel(Tempo, segundos),ylabel(Y(1) e Y(2))
title(Soluo Van der Pol para mu=2)

0 5 10 15 20 25 30
-4
-3
-2
-1
0
1
2
3
4
Tempo, segundos
Y(1)
e
Y(2)
Soluo Van der Pol para mu=2

A sintaxe do ode23 e ode45 a mesma. Ex.:

[t,x]=ode23(xprime,t0,tf,x0)


Apostila Matlab - 53

Computao para Engenharia


onde xprime a funo, t0 tempo inicial, tf tempo final e x0 condio inicial.


Apostila Matlab - 54

Computao para Engenharia


18. Referncia a Sinais e Sistemas

18.1 Funo BODE
Objetivo Plotar a resposta em freqncia bode.
Comandos [mag,phase,w]=bode(a,b,c,d)
[mag,phase,w]=bode(a,b,c,d,iu)
[mag,phase,w]=bode(a,b,c,d,iu,w)
[mag,phase,w]=bode(num,den)
[mag,phase,w]=bode(num,den,w)
Descrio O bode retira a resposta em freqncia, magnitude e fase, de um sistema de tempo contnuo
LTI. Bode plots so usados para anlise das propriedades do sistema, incluindo ganho
marginal, fase marginal, ganho D.C, largura de faixa de banda, rejeio a perturbao e
estabilidade. Se no houver os argumentos de sada ([mag,phase,w]), ele desenha os
resultados.

Bode(a,b,c,d) produz a srie de bode plots, uma para cada entrada do sistema
contnuo Estado-Espao:
x Ax Bu = +
y Cx Du = +
A srie de freqncias automaticamente determinada.

Bode(a,b,c,d,iu) produz bode plots para a entrada simples iu para todas as sadas do
sistema para a srie de freqncias determinadas automaticamente. O escalar iu indexado
as entradas de um sistema e especificada qual entrada ser usada na resposta Bode.

Bode(num,den) desenha o bode plots de uma funo de transferncia
G s num s den s ( ) ( ) ( ) = onde num e den contm os coeficientes dos polinmios das
potncias descendentes de s.

Bode(a,b,c,d,iu,w) ou bode(num,den,w) usa um suprimento de freqncias no
vetor w. O vetor w especifica as freqncias em radianos/sec em que a resposta bode ser
calculada. A funo logspace cria vetores gerais de freqncias para dados espaados
logaritmicamente iguais em freqncias.

Se houver argumentos de sada:

[mag,phase,w]=bode(a,b,c,d,iu)
[mag,phase,w]=bode(a,b,c,d,iu,w)
[mag,phase,w]=bode(num,den)
[mag,phase,w]=bode(num,den,w)

retorna as respostas freqenciais de um sistema nas matrizes mag, phase e w. No ser
desenhado na tela. As matrizes mag e phase contm as respostas de magnitude e fase de
um sistema com valores freqncias w. mag e phase contm nas colunas as sadas para
cada elemento no w:

( ) G s C sI A B D ( ) = +
1

mag G j ( ) ( ) e e =
phase G j ( ) ( ) e e = Z

A fase retorna em graus. A magnitude pode ser convertida em decibels por
magdb mag = 20 10 *log ( ) .
Exemplo Plote as respostas (magnitude e fase)da funo de transferncia cuja expresso :

Apostila Matlab - 55

Computao para Engenharia



G s
s
s s
( ) =
+
+ +
1
2
2


num=[1 1];den=[1 1 2];
bode(num,den)
title(Bode plot)
10
-1
10
0
10
1
-30
-60
-90
-120
-150
0
Frequency (rad/sec)
P
h
a
s
e
d
e
g
10
-1
10
0
10
1
-20
-10
0
10
Frequency (rad/sec)
G
a
i
n
dB
Bode plot

Procure logspace, dbode, nyquist
Referncias [1] Laub, A. J., Efficient Multivariable Frequency Responce Computations, IEEE
Transactions on Automatic Control, Vol. AC-26, No. 2, April 1981, pp. 407-408.
18.2 Funo NYQUIST
Objetivo Plotar a resposta em freqncias Nyquist
Comandos [re,im,w]=nyquist(a,b,c,d)
[re,im,w]=nyquist(a,b,c,d,iu)
[re,im,w]=nyquist(a,b,c,d,iu,w)
[re,im,w]=nyquist(num,den)
[re,im,w]=nyquist(num,den,w)
Descrio nyquist calcula a resposta Nyquist em freqncias de um sistema de tempo contnuo LTI.
Nyquist plots so usados para a anlise das propriedades do sistema, incluindo ganho
marginal, fase marginal e estabilidade.

nyquist determina a estabilidade de um sistema. Fazendo o Nyquist plot da funo de
transferncia open-loop G s ( ) , e a funo de transferncia close-loop:

G s
G s
G s
cl
( )
( )
( )
=
+ 1


estvel se o Nyquist plot cercar o ponto + 1 0 j exatamente no tempo P na direo anti-
horria, onde P um nmero de plos instveis open-loop.

nyquist(a,b,c,d) produz a srie de Nyquist plots, um para cada sada e entrada
combinada de um sistema contnuo estado-espao:

x Ax Bu = +
y Cx Du = +

A srie de freqncias automaticamente determinada.

Nyquist(a,b,c,d,iu) produz Nyquist plots para a entrada simples iu para todas as
sadas do sistema para a srie de freqncias determinadas automaticamente. O escalar iu
indexado as entradas de um sistema e especificada qual entrada ser usada na resposta

Apostila Matlab - 56

Computao para Engenharia


Nyquist.

Nyquist(num,den) desenha o nyquist plots de uma funo de transferncia
G s num s den s ( ) ( ) ( ) = onde num e den contm os coeficientes dos polinmios das
potncias descendentes de s.

Nyquist(a,b,c,d,iu,w) ou Nyquist(num,den,w) usa um suprimento de
freqncias no vetor w. O vetor w especifica as freqncias em radianos/sec em que a
resposta Nyquist ser calculada. A funo logspace cria vetores gerais de freqncias
para dados espaados logaritmicamente iguais em freqncias.

Se houver argumentos de sada:

[re,im,w]=nyquist(a,b,c,d,iu)
[re,im,w]=nyquist(a,b,c,d,iu,w)
[re,im,w]=nyquist(num,den)
[re,im,w]=nyquist(num,den,w)

retorna as respostas frequenciais de um sistema nas matrizes re, im e w. No ser
desenhado na tela. As matrizes re e im contm as partes real e imaginria da resposta de
freqncias de um sistema com valores freqncias w. re e im contm nas colunas as
sadas para cada elemento no w:
Exemplo Plote a resposta Nyquist do sistema:

H s
s s
s s
( ) =
+ +
+ +
2 5 1
2 1
2
2


num=[2 5 1];den=[1 2 3];
nyquist(num,den)
title('Nyquist Plot')
0 0.5 1 1.5 2 2.5 3 3.5 4
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
Real Axis
I
m
a
g
A
x
i
s
Nyquist Plot

Procure dnyquist, bode, logspace
Referncias [1] Laub, A. J., Efficient Multivariable Frequency Responce Computations, IEEE
Transactions on Automatic Control, Vol. AC-26, No. 2, April 1981, pp. 407-408.
18.3 Funo RLOCUS
Objetivo Localizar as razes.
Comando r=rlocus(num,den)
r=rlocus(num,den,k)
r=rlocus(a,b,c,d)

Apostila Matlab - 57

Computao para Engenharia


r=rlocus(a,b,c,d,k)
Descrio rlocus calcula a localizao de razes de um sistema SISO. usado para estudo para o
estudo dos efeitos da variao do ganho o sistema de localizao de plos, providenciando
informaes indiretas sobre o tempo e respostas de freqncias. A funo de transferncia
close-loop, dados a funo de transferncia g s ( ) e o compensador k f s * ( ) , :

h s
g s
k g s f s
g s
q s
( )
( )
* ( ) * ( )
( )
( )
=
+
=
1


Quando no possui argumentos de sada, a funo rlocus plota o resultado na tela.
rlocus serve para sistemas contnuos ou discretos no tempo.

rlocus(num,den)plota a localizao das razes para

g s k
num s
den s
( )
( )
( )
= + 1

e o vetor ganho k automaticamente determinada. Vetores num e den especifica os
coeficientes dos numeradores e denominadores em funo de potncias de s ou z:

num s
den s
num s num s num nn
den s den s den nd
nn nn
nd nd
( )
( )
( ) ( ) ( )
( ) ( ) ( )
=
+ + +
+ + +


1 2
1 2
1 2
1 2



rlocus(a,b,c,d) plota a localizao das razes de tempo contnuo ou discreto num
sistema estado-espao SISO e o vetor ganho k automaticamente determinado.

rlocus(a,b,c,d,k) ou rlocus(num,den,k) usa um vetor ganho suplemento k. O
vetor k contm o ganho para as razes closed-loop so computadas.

Quando possui argumentos de sada:

[r,k]=rlocus(num,den)
[r,k]=rlocus(num,den,k)
[r,k]=rlocus(a,b,c,d)
[r,k]=rlocus(a,b,c,d,k)

retorna a matriz r e o vetor ganho k. r uma matriz de length(k) linhas e
(length(den)-1) colunas contendo as localizaes das razes complexas. Cada linha
de uma matriz corresponde a um ganho do vetor k. Pode-se plotar usando o comando
plot(r,x).
Exemplo Plote a localizao das razes do sistema:

H s
s s
s s
( ) =
+ +
+ +
2 5 1
2 3
2
2

num=[2 5 1];
den=[1 2 3];
rlocus(num,den);
title('Root Locus')


Apostila Matlab - 58

Computao para Engenharia


-2 -1 0 1 2
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
Real Axis
I
m
a
g
A
x
i
s
Root Locus

Procure place, lqr



Apostila Matlab - 59

Computao para Engenharia


19. Tabela de Referncias

Principais Categorias de Funes MATLAB
color Controle de cores e luminosidade.
datafun Anlise de dados e funes da transformao de Fourier.
demos Demonstraes e exemplos.
elfun Funes de matemtica elementar.
elmat Manipulao de matrizes e matriz elementares.
funfun Funo Funo - Mtodos Numricos no-lineares.
general Comandos gerais.
graphics Comandos gerais de grficos.
iofun Funes de baixo nvel de arquivos I/O.
lang Construo de linguagem e depurao.
matfun Funes matriciais - lgebra linear.
ops Operadores e caracteres especiais.
plotxy Grficos 2D.
plotxyz Grficos 3D.
polyfun Funes polinomiais e interpolares.
sparfun Funes de matriz esparsa.
specfun Funes especiais da Matemtica.
specmat Matrizes especiais.
sounds Funes de processamento de som.
strfun Funes envolvendo caracteres.
19.1 Comandos Gerais
Controle de Comandos e Funes
demo Executa demos.
expo Executa programa de demonstrao MATLAB EXPO
help Documentao on-line.
info Informao sobre MATLAB e The MathWorks.
lasterr ltima mensagem de erro gerada.
lookfor Procura palavra-chave entre os itens de ajuda.
path Controle de procura de caminhos do MATLAB.
subscribe Torna aprovado um usurio MATLAB no MathWorks.
type Mostra o contedo de um arquivo M-File.
ver Verso do MATLAB e ToolBox corrente.
version Nmero de verso do MATLAB corrente.
what Lista arquivos *.M, *.MAT e *.MEX.
whatsnew Mostra arquivos LEIA-ME para MATLAB e ToolBox
which Arquivos e funes locais.

Controle de Variveis e Estao de Trabalho
clear Limpa variveis e funes da memria.
disp Mostra matrizes ou textos.
length Comprimento do vetor.
load Recupera variveis do disco.
pack Incorpora memria da estao de trabalho.
save Salva variveis da estao de trabalho para o disco.
size Tamanho de matrizes.
who Lista variveis correntes.
whos Lista variveis correntes em longos formatos.

Trabalhando com Arquivos e Ambiente Operacional
cd Muda o diretrio de trabalho corrente.
cedit Coloca parmetros em comandos editados(somente UNIX).
delete Apaga arquivos.
diary Salva sesso de textos de MATLAB.
dir Lista o diretrio.
getenv Obtm o valor de ambiente.
hostid Nmero de identificao do servidor anfitrio MATLAB.
ls Lista o diretrio.
matlabroot Diretrio raiz da instalao MATLAB.
pwd Mostra o corrente diretrio de trabalho.
tempdir Nome do sistema do diretrio temporrio.
tempname nico nome para arquivo temporrio.
terminal Obtm o tipo de terminal grfico.
unix Executa comando do sistema operacional; retornando o resultado.
! Executa comando do sistema operacional.

Controle de Janelas do Windows
clc Limpa janela de comando.
echo Repete comandos para dentro de arquivos de texto.

Apostila Matlab - 60

Computao para Engenharia


Controle de Janelas do Windows
format Formato de sada do nmero.
home Envia o cursor para a base, casa
more Controle da listagem de informaes em janelas de comando.

Iniciando e Saindo do MATLAB
matlabrc Executa arquivos *.M.
quit Fecha o MATLAB.
startup Executa arquivos *.M quando MATLAB invocado.
19.2 Operadores e Caracteres Especiais
Operadores e Caracteres Especiais
+ Adio.
- Subtrao.
- Multiplicao matricial.
.* Multiplicao de vetorial.
.

Potncia matricial.
.
^
Potncia vetorial.
kron Produto de tensor Kronecker.
\ Corte ou diviso esquerda.
/ Corte ou diviso direita.
./ Diviso vetorial.
: Dois pontos.
( ) Parnteses.
[ ] Colchetes.
. Ponto Decimal.
. . Diretrio raiz.
. . . Continuao.
, Vrgula.
; Ponto-e-vrgula.
% Comentrio, observao.
! Ponto de exclamao.
' Transposio.
. Transposio Vetorial.
= Indicao.
== Igualdade.
< > Operadores relacionais.
& E lgico.
| OU lgico.
~ NO lgico.
xor EXCLUSIVO OU lgico.

Funes Lgicas
all Verdadeiro se todos elementos do vetor forem verdadeiros.
any Verdadeiro se algum elemento do vetor for verdadeiro.
exist Verifica se existe variveis ou funes.
find Encontra ndices dos elementos no nulos.
finite Verdadeiro para elementos finitos.
isempty Verdadeiro para matrizes vazias.
ishold Verdadeiro se hold estiver ligado.
isieee Verdadeiro para IEEE pontos flutuantes aritmticos.
isinf Verdadeiro para elementos infinitos.
isletter Verdadeiro para caracteres alfabticos.
isnan Verdadeiro para um no nmero.
isreal Verdadeiro se todos elementos da matriz forem reais.
issparse Verdadeiro para matrizes esparsas.
isstr Verdadeiro para texto.
19.3 Construo de Linguagem e Depurao
MATLAB como uma Linguagem de Programao
eval Executa funes em formato texto no MATLAB.
feval Executa funes especificadas nas variveis texto.
function Adiciona novas funes.
global Define variveis globais.
nargchk Nmero de validade de argumentos colocados.

Controle de Fluxo
break Execuo terminal de um Loop.
else Usado com if.
elseif Usado com if.
end Termina com o campo de ao de comandos for, while e if.

Apostila Matlab - 61

Computao para Engenharia


Controle de Fluxo
error Mostra mensagem e aborta funes.
for Repete declaraes num especificado nmero de vezes.
if Executa declaraes condicionais.
return Retorna para funes invocadas.
while Repete declaraes num indefinido nmero de vezes.

Entrada Interativa
input Prompt para entrada de usurio.
keyboard Declara o teclado como se fosse um arquivo texto.
menu Menu geral de escolhas para entrada do usurio.
pause Espera pela resposta do usurio.

Depurao
dbclear Remove ponto de parada.
dbcont Execuo resumida.
dbdown Muda o contexto local da estao de trabalho.
dbquit Sai do modo debug.
dbstack Lista quem chamou quem.
dbstatus Lista todos pontos de parada.
dbstep Executa uma ou mais linhas.
dbstop Coloca um ponto de parada.
dbtype Lista arquivo *.M com nmero de linhas.
dbup Muda o contexto local da estao de trabalho.
19.4 Manipulao de Matrizes
19.4.1 Matriz Elementar
Matrizes Elementares
eye Matriz Identidade.
gallery Teste de matrizes - condio matricial e autovalores.
linspace Vetor linearmente esparsado.
logspace Vetor logaritmicamente esparsado.
meshgrid Matrizes X e Y para plotes 3-D.
ones Matriz de elementos unitrios.
rand Distribui uniformemente nmeros ao acaso.
randn Distribui normalmente nmeros ao acaso.
zeros Matriz de elementos nulos.
: Vetor regularmente esparsado.

Variveis e Constantes Especiais
ans Mais recente resposta.
computer Escrita computacional.
eps Relativa preciso no ponto-flutuante.
flops Operaes enumeradas de ponto flutuante.
i,j Unidade imaginria.
inf Infinito.
NaN No nmero.
nargin Nmero de entradas de argumentos da funo.
nargout Nmero de sadas de argumentos da funo.
pi 3.1415926535897 ...
realmax Maior nmero de ponto flutuante.
realmin Menor nmero de ponto flutuante.

Data e Hora
clock Relgio.
cputime Tempo decorrido em unidades de CPU.
date Calendrio.
etime Funo do tempo decorrido.
tic, toc Funes de tempo decorrido.

Manipulao Matricial
diag Cria ou extrai diagonais.
fliplr Vira matriz para direita/esquerda.
flipud Vira matriz para cima/baixo.
isreal Verdadeiro para matriz contendo somente elementos reais.
reshape Muda tamanho.
rot90 Rotaciona a matriz em 90 graus.
tril Extrai a parte inferior triangular.
triu Extrai a parte superior triangular.
: ndice para dentro da matriz, rearranja matriz.

Apostila Matlab - 62

Computao para Engenharia


19.4.2 Matrizes Especiais
Matrizes Especiais
compan Matriz usada em clculo de polinmios.
hadamard Matriz Hadamard.
hankel Matriz Hankel.
hilb Matriz Hilbert.
invhilb Matriz inversa de Hilbert.
magic Matriz quadrada cujas as somas das linhas e colunas so iguais.
pascal Matriz Pascal.
rosser Problema clssico de teste de simetria dos autovalores.
toeplitz Matriz Toeplitz.
vander Matriz Vandermonde.
wilkinson Autovalores obtidos para a matriz de Wilkinson
19.5 Funes Matemticas
19.5.1 Funes de Matemtica Elementar
Funes de Matemtica Elementar
abs Valor absoluto.
acos Inversa do coseno.
acosh Inversa do coseno hiperblico.
acot Inversa da cotangente.
acoth Inversa da cotangente hiperblica.
acsc Inversa da cosecante.
acsch Inversa da cosecante hiperblica.
angle ngulo de fase.
asec Inversa da secante.
asech Inversa da secante hiperblica
asin Inversa do seno.
asinh Inversa do seno hiperblico.
atan Inversa da tangente.
atanh2 Inversa da tangente no quarto quadrante.
atanh Inversa da tangente hiperblica.
ceil Inteiro prximo a mais infinito.
conj Conjugado de um nmero complexo.
cos Coseno.
cosh Coseno hiperblico.
cot Cotangente.
coth Cotangente hiperblica.
csc Cosecante.
csch Cosecante hiperblico.
exp Exponencial.
fix Inteiro prximo a 0.
floor
Inteiro prximo a .
gcd Grande divisor comum.
imag Parte imaginria de um nmero complexo.
lcm Menor mltiplo comum.
log Logaritmo natural.
log10 Logaritmo comum.
real Parte real de um nmero complexo.
rem Resto da diviso.
round Inteiro mais prximo.
sec Secante.
sech Secante hiperblica.
sign retorna o sinal de um nmero. Ex.: sign(1.2)=1, sign(-23.4)=-1e sign(0)=0
sin Seno.
sinh Seno hiperblico.
sqrt Raiz quadrada.
tan Tangente.
tanh Tangente hiperblica.
19.5.2 Funes Especializadas da Matemtica
Funes de Matemtica Especializada
bessel Funes Bessel.
besseli Funes Bessel modificada de primeiro tipo.
besselj Funes Bessel de primeiro tipo.
besselk Funes Bessel modificada de segundo tipo.
bessely Funes Bessel de segundo tipo.
beta Funes beta.
betainc Funes beta incompleta.
betaln Logaritmo da funo beta.
ellipj Funes elpticas de Jacobian.
ellipke Integral elptica completa.
erf Funo de erro.
erfc Funo de erro complementar.

Apostila Matlab - 63

Computao para Engenharia


Funes de Matemtica Especializada
erfcx Escala complementar da funo de erro.
erfinv Funo inversa de erro.
expint Integral exponencial.
gamma Funo gama.
gammainc Funo gama incompleta.
gammaln Funo logartmica de gama.
legendre Funes associadas Legendre.
log2 Separao de nmeros de ponto flutuante.
pow2 Escala de nmeros de ponto flutuante.
rat Aproximao racional.
rats Sada racional.
19.6 Funes Matriciais - lgebra Numrica Linear
Anlise Matricial
cond Nmero da condio matricial.
det Determinante.
etree rvore eliminatria de uma matriz.
norm Matriz ou vetor normal.
null Espao nulo.
orth Ortogonalizao.
rcond Estimao condicional recproca LINPACK.
rank Nmero de linhas ou colunas linearmente independentes.
rref Reduzir linhas da forma ECHELON.
subspace ngulo entre dois sub-espaos.
trace Soma dos elementos diagonais.

Equaes Lineares
chol Fatorizao CHOLESKY.
inv Matriz inversa.
lscov ltimos quadrados na presena de covariance.
lu Fatores de eliminaes Gausianas.
nnls Matrizes quadradas no negativas.
pinv Pseudo-inversa.
qr Decomposio ortogonal-triangular
\ and / Soluo de equao linear

Autovalores e Valores Singulares
balance Escala diagonal para melhorar preciso de autovalores.
cdf2rdf Forma da diagonal complexa para real forma de bloco diagonal.
eig Autovalores e autovetores.
hess Forma Hessenberg.
poly Polinmio caracterstico.
qz Autovalores gerais.
rsf2csf Forma de diagonal de bloco para forma de diagonal complexa.
schur Decomposio Schur.
svd Decomposio de valor singular.

Funes Matriciais
exp. Matriz exponencial.
funm Avaliao geral da funo matricial.
logm Matriz logartmica.
sqrtm Matriz de razes quadradas.

Funes de Baixo Nvel
qrdelete Apaga colunas de fatorizao QR.
qrinsert Insere colunas para dentro da fatorizao QR.
19.7 Anlise de Dados e as Funes da Transformada de Fourier
Operaes Bsicas
cumprod Produto cumulativo de elementos.
cumsum Soma acumulativa de elementos.
max Maior componente.
mean Mdia ou valor significativo.
median Valor mdio.
min Menor componente.
prod Produto de elementos.
sort Organiza em ordem ascendente.
std Desvio padro.
sum Soma de elementos.
trapz Integrao numrica usando mtodo trapezoidal.

Apostila Matlab - 64

Computao para Engenharia


Diferenas Finitas
del2 Ponto cinco discreto Laplaciano.
diff Funo diferencial e derivada aproximada.
gradient Gradiente aproximado.

Correlao
corrcoef Coeficientes correlacionados.
cov Matriz covariante.

Filtro e Convoluo
conv Convoluo e multiplicao polinomial.
conv2 Convoluo Bidimensional.
deconv Deconvoluo e diviso polinomial.
filter Filtro digital unidimensional.
filter2 Filtro digital bidimensional.

Transformada de Fourier
abs Magnitude.
angle ngulo de fase.
cplxpair Organiza nmeros para dentro de um par conjugado complexo.
fft Discreta transformada de Fourier.
fft2 Discreta transformada de Fourier bidimensional.
fftshift Muda a freqncia zero para centro do espectro.
ifft Inversa discreta da transformada de Fourier.
ifft2 Inverso bidimensional da discreta transformada de Fourier.
nextpow2 Prxima fora maior de 2.
unwrap Remove o ngulo de fase saltando atravs de limites de 360

Funes Vetoriais
cross Produto de vetores.
dot Produto de ponto vetorial.
19.8 Funes Polinomiais e Interpolares
Polinmios
conv Multiplicao polinomial.
deconv Diviso polinomial.
poly Construo polinomial com razes especificas.
polyder Derivada polinomial.
polyeig Soluo polinomial para problemas de autovalores.
polyfit Ajuste polinomial para dados.
polyval Clculo do grau polinomial.
polyvalm Clculo do grau polinomial com argumentos matriciais.
residue Expanso de frao parcial (resduos).
roots Encontra razes polinomiais.

Interpolao de Dados
griddata Rede de dados.
interp1 Interpolao unidimensional.
interp2 Interpolao bidimensional.
interpft Interpolao unidimensional usando mtodo FFT.
19.9 Funo - Funo
Funo - Funo - Mtodos Numricos no lineares
fmin Funo minimizada de uma varivel.
fmins Funo minimizada de vrias variveis.
fplot Funes de plotagem.
fzero Encontra zero da funo de uma varivel.
ode23 Resolve equaes diferenciais pelo mtodo de baixa ordem.
ode 45 Resolve equaes diferenciais pelo mtodo de alta ordem.
quad Avaliao numrica da integral pelo mtodo de baixa ordem.
quad8 Avaliao numrica da integral pelo mtodo de alta ordem.
19.10 Funes Matriciais Esparsadas
Matrizes Elementares Esparsadas
spdiags Matriz esparsada formada por diagonais.
speye Matriz identidade esparsada.
sprandn Matriz esparsada casual.
sprandsym Matriz esparsada simetricamente casual.

Apostila Matlab - 65

Computao para Engenharia


Tudo para Converso Esparsada
find Encontra ndices de entradas no nulas.
full Converte matriz esparsa em matriz completa.
sparse Cria matriz esparsa de no nulos e ndices.
spconvert Converte para formato externo de matriz esparsa.

Trabalhando com Entradas No nulas de Matrizes Esparsas
issparse Verdadeiro se matriz esparsa.
nnz Nmero de entradas no nulas.
nonzeros Entradas no nulas.
nzmax Soma de distribuio armazenada para entradas.
spalloc Destina memria para entradas no nulas.
spfun Aplica funo para entradas no nulas.
spones Substitui entradas no nulas por um.

Visualizando Matrizes Esparsadas
gplot Plota grfico, como em "teoria grfica".
spy Visualiza estrutura esparsada.

Reordenando Algoritmos
colmmd Mnima extenso da coluna.
colperm Ordena colunas baseadas em contador no nulo.
dmperm Decomposio Dulmage-Mendelsohn.
randperm Permutao aleatria de vetores.
symmmd Mnima extenso simtrica.
symrcm Ordenando a reversa de Cuthill-McKee.

Norma, Nmero Condicional e Linha
condest Estimativa 1 - condio de norma.
normest Estimativa 2 - norma.
sprank Linha estrutural.

Miscelnea
spaugment Sistema ampliado da ltima forma quadrtica.
spparms Estabelece parmetros para rotinas de matrizes esparsadas.
symbfact Anlise de fatorizao simblica.
19.11 Grficos Bidimensionais
Grficos Elementares X-Y
fill Desenha polgonos bidimensionais preenchidos.
loglog Plota em escala logartmica.
plot Plota em escala linear.
semilogx Plota em escala linear, somente com o eixo x logaritmizado.
semilogy Plota em escala linear, somente com o eixo y logaritmizado.

Grficos Especiais X-Y
bar Plota em barras grficas.
comet Plota em comet animado.
compass Plota em compass.
errorbar Plota em erros de barra.
feather Plota em Feather.
fplot Plota funes.
hist Plota em historiogramas.
polar Plota em coordenadas polares.
rose Plota em ngulos historiogrmicos.
stairs Plota em Stairstep.
stem Plota em Stem de seqncias discretas de dados.

Anotaes Grficas
grid Rede de linhas.
gtext Lugar do texto com o mouse.
legend Adiciona legenda para plotar.
text Anotao de texto.
title Ttulo do grfico.
xlabel Classificao do eixo X.
ylabel Classificao do eixo Y.

Converso de Sistemas de Coordenadas
cart2pol Coordenadas cartesianas para coordenadas polares.

Apostila Matlab - 66

Computao para Engenharia


Converso de Sistemas de Coordenadas
pol2cart Coordenadas polares para coordenadas cartesianas.

Miscelnea
zoom Zoom de aproximao (in) e afastamento (out).
19.12 Grficos Tridimensionais
Comandos de Linha e rea Preenchida
fill3 Desenha polgonos 3-D preenchidos em espao 3-D.
plot3 Plota linhas e pontos em espao 3-D.

Contorno e outras Plotagens Bidimensionais de dados Tridimensionais
clabel Classifica a elevao do plot de contorno.
comet3 Plot de comet animado.
contour Plot de contorno.
contour3 Plot de contorno tridimensional.
contourc Clculo do plot de contorno (usado pelo contorno).
image Mostra imagem.
imagesc Dados em escala e mostra como imagem.
pcolor Plota um tabuleiro de damas.
quiver Plot estremecido.
slice Plot de um pedao volumtrico.

Plotagem de Superfcie e Malha
mesh Malha da superfcie em 3-D.
meshc Combinao de plot de malha/contorno.
meshz Malha 3-D com plano zero.
slice Visualizao de plot volumtrico.
surf Superfcie 3-D sombreada.
surfc Combinao de plot de superfcie/malha.
surfl Superfcie 3-D sombreada com luminosidade.
waterfall Plota superfcies. Semelhante ao comando mesh.

Aparncia Grfica
axis Escala e aparncia de eixo.
caxis Pseudocores de eixo escalar.
colormap Tabela de cores.
hidden Retirada da linha de malha oculta .
shading Sombreamento de cores.
view Especificao do ponto de vista de um grfico 3-D.
viewmtx Visualizao de matrizes transformadas.

Anotao Grfica
grid Rede de linhas.
legend Adiciona legenda no plot.
text Anotao.
title Ttulo do grfico.
xlabel Classificao do eixo X.
ylabel Classificao do eixo Y.
zlabel Classificao do eixo Z para plots 3-D.

Objetos 3-D
cylinder Cilindro comum.
sphere Esfera comum.

Converso de Sistemas de Coordenadas
cart2sph Coordenadas cartesianas para polar.
sph2cart Coordenadas polares para cartesianas.
19.13 Funes Grficas
Criao e Controle de Janelas
capture Captura tela de uma figura atual (somente UNIX).
clf Limpa figura atual.
close Fecha figura.
figure Cria figura (janela grfica).
gcf D mobilidade a figura atual.
graymon Determina as propriedades padro da figura para monitores monocromticos.

Apostila Matlab - 67

Computao para Engenharia


Criao e Controle de Janelas
newplot Determina os eixos corretos e a figura para novos grficos.
refresh Redesenha a atual figura da janela.
whitebg Altera figura para cores de fundo.

Criao e Controle de Eixos
axes Cria eixos em posies arbitrrias.
axis Controla escala e aparncia de eixos.
caxis Controla pseudocores de escala de eixos.
cla Limpa eixos atuais.
gca Torna eixo manusevel.
hold Controla o grfico atual.
ishold Verdadeiro se o controle estiver ligado.
subplot Cria eixos em vrias posies.

Objetos Grficos Manuseveis
axes Cria eixos.
figure Cria janela de figura.
image Cria imagem.
line Cria linha.
patch Cria mancha.
surface Cria superfcie.
text Cria texto.
uicontrol Cria controle de interface do usurio.
uimenu Cria menu de interface do usurio.

Operaes Grficas Manuseveis
delete Deleta objeto.
drawnow Comea eventos grficos pendentes.
findobj Encontra objetos com propriedades especficas.
gco Torna um objeto manusevel.
get D as propriedades de um objeto.
reset Refaz as propriedades de um objeto.
rotate Rotaciona um objeto.
set Faz as propriedades do objeto.

Caixas de Dilogos
uigetfile Recupera nome do arquivo para abrir uma caixa de dilogo.
uiputfile Recupera nome do arquivo para escrever numa caixa de dilogo.

Impresso e Armazenagem
orient Mostra orientaes do papel.
print Imprime grficos ou salva-os em arquivos.
printopt Configurao local da impressora.

Filmes e Animaes
getframe Mostra estrutura do filme.
movie Roda as estruturas do filme gravado.
moviein Inicializa a memria da estrutura do filme.

Miscelneas
ginput Entrada do grfico pelo mouse.
ishold Retorna ao estado conservado.
rbbox Caixa de borracha para regio selecionada.
waitforbuttonpress Espera pelo pressionamento de uma tecla sobre a figura.
19.14 Controle de Cores e Funes de Luminosidade
Controle de Cores
caxis Pseudocores da escala de eixos.
colormap Tabela de consulta de cores.
shading Modo de sombreamento de cores.

Mapeamento de Cores
bone Escala cinza com uma matiz azul.
contrast Acentuao de contraste em escala cinza.
cool Sombra de cyan e magenta.
copper Matiz linear usando tonalidades cooper.
flag Alternando vermelho, branco, azul e preto.

Apostila Matlab - 68

Computao para Engenharia


Mapeamento de Cores
gray Escala de cinza linear.
hsv Valor de saturao de tonalidade.
hot Preto-vermelho-amarelo-branco.
jet Variao do HSV. (sem wrap)
pink Pasteuriza sombras de rosa.
prism Prisma de cores.
white Tudo em branco monocromtico.

Funes relacionadas com Mapeamento de Cores
brighten Brilho ou escurido.
colorbar Mostra mapeamento de cores como escala de cores.
hsv2rgb Converso de HSV para RGB.
rgb2hsv Converso de RGB para HSV.
rgbplot Plota o mapeamento de cores.
spinmap Gira o mapeamento de cores.

Luminosidade
diffuse Reflexo difuso.
specular Reflexo refletido.
surfl Superfcies 3-D sombreadas com luminosidade.
surfnorm Superfcies normais.
19.15 Funes Sonoras
Funes Gerais de Som
saxis Som em eixos escalares.
sound Converte vetor para som.

SPARCstation - Funes Sonoras Especficas
auread L arquivos de som .au
auwrite Escreve arquivos de som .au
lin2mu Converso de linear para mu-law.
mu2lin Converso de mu-law para linear.

Funes de Som .wav
wavread Carrega MS-Windows 3.1 .wav no formato de arquivo de som.
wavwrite Salva MS-Windows 3.1 .wav no formato de arquivo de som.
19.16 Funes de Texto
Gerais
abs Converte texto para valores numricos.
blanks Cria texto de vazios.
deblank Remove arrastando espaos brancos e nulos de textos.
eval Executa frases com expresso MATLAB.
findstr Encontra uma letra em um texto.
isstr Verdadeiro para texto.
setstr Converte valores numricos para texto.
str2mat De texto matricial para letras individuais.
string Sobre caracteres texto no MATLAB.
strrep Procura e substitui texto.
strtok Primeiro toma como texto.

Comparao Frasal
isletter Verdadeiro para caracter alfabtico.
lower Converte texto para uma caixa menor.
strcmp Compara textos.
upper Converte texto para uma caixa maior.

Converso de Texto para Nmero
int2str Converte inteiro para texto.
num2str Converte nmero para texto.
sprintf Converte nmero para texto sob um controle formatado.
sscanf Converte texto para nmero sob um controle formatado.
str2num Converte texto para nmero.

Converso de Hexadecimal para Nmero
dec2hex Converte inteiro decimal para texto hexadecimal.

Apostila Matlab - 69

Computao para Engenharia


Converso de Hexadecimal para Nmero
hex2dec Converte texto hexadecimal para inteiro decimal.
hex2num Converte texto hexadecimal para IEEE nmero de ponto flutuante.
19.17 Funes de Arquivos I/O de Baixo Nvel
Abrindo e Fechando Arquivo
fclose Fecha arquivo.
fopen Abre arquivo.

I/O Desformatada
fread L dado binrio de arquivo.
fwrite Escreve dado binrio para arquivo.

I/O Formatada
fgetl L linha de arquivo, descarta novas linhas de caracteres.
fgets L linha de arquivo, permanece novas linhas de caracteres.
fprintf Escreve dado formatado para arquivo.
fscanf L dado formatado para arquivo.

Posio em Arquivos
feof Teste para fim de linha.
ferror Pergunta a situao do erro de arquivo I/O.
frewind Refaz arquivo.
fseek Mostra o indicador da posio do arquivo.
ftell Determina o indicador da posio do arquivo.

Converso de Texto
sprintf Escreve dados formatados para letras.
sscanf L letras sob um controle formatado.

Arquivos Especiais de I/O
csvread L um arquivo de valores separados por (;).
cswrite Escreve um arquivo de valores separados por (;).
uigetfile Recupera nome de arquivo para abrir caixa de dilogo.
uiputfile Recupera nome de arquivo para escrever numa caixa de dilogo.
wk1read L um arquivo Lotus 1-2-3 .wk1
wk1write Escreve um arquivo Lotus 1-2-3 .wk1
20. Tabela de Referncia a Matemtica Simblica.
Clculo
diff Diferencial ou Derivada.
int Integral.
cacobian Matriz Jacobian
taylor Espano em srie de Taylor.

lgebra Linear
charpoly Polinmio caracterstico simblico.
colspace Bsico para espao em colunas.
determ Determinante da matriz simblica.
eigensys Autovalores e autovetores simblicos.
inverse Matriz inversa Simblica.
jordan Forma cannica Jordan.
linsolve Soluo para equaes lineares simultneas.
nullspace Base para nullspace.
singvals Valores matriciais simblicos e vetores singulares.
svdvpa Valor singular de preciso varivel.
transpose Matriz transposta simblica.

Simplificaes
allvalues Achar todos os valores para a expresso RootOF.
collect Acumular.
expand Expandir.
factor Fator.
simple Buscar para a forma shortest.
simplify Simplificar.
symsum Srie de soma simblica.


Apostila Matlab - 70

Computao para Engenharia


Soluo para Equaes
compose Composio funcional.
dsolve Soluo simblica para equaes diferenciais.
finverse Inverso funcional.
solve Soluo simblica para equaes algbricas.

Preciso varivel aritmtica
digits Tornar a varivel exata.
vpa Preciso de aritmtica varivel.

Operao com Expresses Simblicas e Matrizes
latex Representao LaTeX para sadas simblicas.
horner Representao polinomial Nested.
numden Numerador e denominador.
numeric Converte forma numrica em matriz simblica.
poly2sym Polinmio simblico para vetor coeficiente.
pretty Imprime numa forma bonita a expresso simblica.
subs Substituto da sub-expresso.
sym Cria ou modifica matriz simblica.
sym2poly Converte matriz simblica em forma numrica.
symadd Adiciona expresses simblicas.
symdiv Divide expresses simblicas.
symmul Multiplica expresses simblicas.
symop Operaes simblicas.
sympow Potncia de expresses simblicas.
symrat Aproximao simblica racional.
symsize Tamanho de uma matriz simblica.
symsub Subtrai expresses simblicas.
symvar Determina variveis simblicas.

Aplicaes Pedaggicas e Grficas
ezplot Fcil para usar a funo plotter.
funtool Funo calculadora.
rsums Soma Riemann

Transformaes e Transformadas Inversas
fourier Transformada integral de Fourier.
invfourier Inversa de transformada integral de Fourier.
invlaplace Inversa da transformada de Laplace.
invztrans Inversa da transformada z.
laplace Transformada de Laplace.
ztrans Transformada de z.
21. Referncia a Sistemas e Sinais
Construo de um Modelo
append Anexar sistemas dinmicos.
cloop Fechar loops do sistema.
feedback Conectar sistemas Feedback.
rmodel Gerar um modelo contnuo randmico.
series Coneco de sistemas em srie.
ssselect Selecionar subsistemas para uma sistema grande.

Converso de Modelos
c2d Converso de contnua para discreta.
c2dm Converso de contnua para discreta usando mtodo.
ss2tf Converso de estado-espao para funo de transferncia
ss2zp Converso de estado-espao para zero-plos.
tf2ss Converso de funo de transferncia para estado-espao.
tf2zp Converso de funo de transferncia para zero-plos.
zp2tf Converso de zero-plos para funo de transferncia.
zp2ss Converso de zero-plos para estado-espao.

Realizao de Modelos
canon Converso de sistemas para forma cannica.


Apostila Matlab - 71

Computao para Engenharia


Propriedades de Modelos
ctrb Matriz Controlabilidade.
damp Fatores damping e freqncias naturais.
ddamp Fatores discretos damping e freqncias naturais.
dsort Classe de autovalores discretos por magnitude.
esort Classe de autovalores contnuos por parte real.
obsv Matriz Observabilidade
tzero Transmisso zero.

Resposta em Tempo
dimpulse Resposta a funo impulso discreto unitrio.
dlsim Simulao discreta para entradas arbitrrias.
dstep Resposta a funo degrau discreto.
impulse Resposta a funo impulso.
lsim Simulao contnua para entradas arbitrrias.
step Resposta a funo degrau.

Resposta em Freqncias
bode Plota bode.
freqs Transformada de Laplace.
freqz Transformada de z.
nyquist Plota nyquist.

Localizao de Razes
rlocus Localiza lugares das razes.

Seleo de Ganho
acker Lugar dos plos SISO.
lqe Projeto estimativo linearmente quadrtico.
lqr Projeto regulador linearmente quadrtico.
place Lugar dos plos.

Gerao de ondas
sinc
Funo sinc ou sin x x ( ) t t

Anlise/Implementao de Filtros
freqs Resposta de freqncias em transformadas de Laplace.
freqz Resposta de freqncias em transformadas de z.
grpdelay Grupo atrasado.
zplane Plota zero-plo discreto.

Transformao de Sistemas Lineares
residuez Expanso em fraes parciais.
sos2ss Converso de sesses de segunda ordem para estado-espao.
sos2tf Converso de sesses de segunda ordem para funo de transferncia.
sos2zp Converso de sesses de segunda ordem para zero-plo.
ss2sos Converso de estado-espao para sesses de segunda ordem.
ss2tf Converso de estado-espao para funo de transferncia.
ss2zp Converso de estado-espao para zero-plo.
tf2ss Converso de funo de transferncia para estado-espao.
tf2zp Converso de funo de transferncia para zero-plo.
zp2sos Converso de zero-plo para sesses de segunda ordem.
zp2ss Converso de zero-plo para estado-espao.
zp2tf Converso de zero-plo para funo de transferncia.

Projeto de Filtro IIR - Clssico e Direto
butter Projeto de filtro ButterWorth.
cheby1 Projeto de filtro Chebyshev tipo I.
cheby2 Projeto de filtro Chebyshev tipo II.
ellip Projeto de filtro elptico.
yulewalk Projeto de filtro Yule-Walker

Projeto de filtro FIR
remez Projeto de filtro FIR Parks-McClellan.


Apostila Matlab - 72

Computao para Engenharia


Processo Estatstico de Sinal
psd Espectro de potncia estimado.

Janelas
boxcar Janela retangular.
hamming Janela hamming.
hanning Janela hanning.
kaiser Janela kaiser.
triang Janela triangular.

Operaes Especializadas
specgram Espectograma.

Projeto Prottipo Analgico
buttap Filtro prottipo Butterworth.
cheb1ap Filtro prottipo Chebyshev (passband ripple) tipo I.
cheb2ap Filtro prottipo Chebyshev (passband ripple) tipo II.
ellipap Filtro prottipo elptico.

Translao de Freqncias
lp2bp Transformao lowpass para bandpass.
lp2bs Transformao lowpass para bandstop.
lp2hp Transformao lowpass para highpass.
lp2lp Transformao lowpass para lowpass.

Discretizao de Filtros
bilinear Transformao bilinear.
impinvar Mtodo impulso invariante para converso de filtro A/D.

Outros
detrend Remover direo linear.
polystab Polinmio estabilizador.
strips Plota strip.

You might also like