Você está na página 1de 114

UNIVERSIDADE FEDERAL DO CEAR

CENTRO DE TECNOLOGIA
DEPARTAMENTO DE ENGENHARIA ELTRICA
PROGRAMA DE EDUCAO TUTORIAL
Apostila de









Apostila de MATLAB 7.3
Pgina

UNIVERSIDADE FEDERAL DO CEAR
CENTRO DE TECNOLOGIA
DEPARTAMENTO DE ENGENHARIA ELTRICA
PROGRAMA DE EDUCAO TUTORIAL


Apostila de

Fortaleza CE
Agosto / 2010
Apostila de MATLAB 7.3
Pgina 1 de 114
UNIVERSIDADE FEDERAL DO CEAR
DEPARTAMENTO DE ENGENHARIA ELTRICA
PROGRAMA DE EDUCAO TUTORIAL

Apostila de MATLAB 7.3
Pgina 2 de 114
AUTORES


Abnadan de Melo Martins
Decio Haramura Junior
Francisco Onivaldo de Oliveira Segundo
Guilherme Martins Gomes Nascimento
Lucas Chaves Gurgel
Lus Paulo Carvalho dos Santos
Luiz Fernando Almeida Fontenele
Pedro Andr Martins Bezerra
Raphael Fernandes Sales Costa


Apostila de MATLAB 7.3
Pgina 3 de 114
SUMRIO

1. PREFCIO ............................................................................................................................... 5
2. APRESENTAO ................................................................................................................... 6
2.1. UTILIZANDO O HELP .................................................................................................. 6
3. FORMATAO ....................................................................................................................... 9
4. MATRIZES ............................................................................................................................. 10
4.1. DECLARAO .......................................................................................................... 10
4.2. SOMA ...................................................................................................................... 10
4.3. MULTIPLICAO ....................................................................................................... 11
4.4. MATRIZES PR-DEFINIDAS ........................................................................................ 12
4.5. PROPRIEDADES DE MATRIZES ................................................................................... 14
4.6. TRABALHANDO COM MATRIZES .................................................................................. 16
5. VETORES .............................................................................................................................. 22
5.1. DECLARAO .......................................................................................................... 22
5.2. OPERAES ............................................................................................................ 23
5.3. SISTEMAS DE COORDENADAS ................................................................................... 26
6. M-FILE ................................................................................................................................... 30
6.1. DEFINIO ............................................................................................................... 30
6.2. ORGANIZAO ......................................................................................................... 31
6.3. OPERAES NO M-FILE ........................................................................................... 32
7. FUNES MATEMTICAS .................................................................................................. 37
7.1. FUNES ELEMENTARES ......................................................................................... 37
7.2. PROPRIEDADES FUNDAMENTAIS ............................................................................... 37
7.3. NMEROS COMPLEXOS ............................................................................................ 39
7.4. FUNES TRIGONOMTRICAS ................................................................................... 40
7.5. APROXIMAO INTEIRA ............................................................................................ 42
8. GRFICOS ............................................................................................................................ 44
8.1. GRFICOS BIDIMENSIONAIS ...................................................................................... 44
8.2. GRFICOS TRIDIMENSIONAIS .................................................................................... 48
8.3. CONFIGURAO ....................................................................................................... 52
9. MATEMTICA SIMBLICA .................................................................................................. 64
10. OPERAES MATEMTICAS BSICAS ........................................................................... 67
10.1. EXPRESSES NUMRICAS .................................................................................... 67
10.2. POLINMIOS ........................................................................................................ 68
10.3. SOLUCIONANDO EQUAES OU SISTEMAS ............................................................ 70
11. CLCULO DIFERENCIAL .................................................................................................... 73
11.1. LIMITES ............................................................................................................... 73
11.2. DIFERENCIAO .................................................................................................. 73
11.3. INTEGRAO ....................................................................................................... 74
Apostila de MATLAB 7.3
Pgina 4 de 114
11.4. INTEGRAIS DEFINIDAS PELA REGRA TRAPEZOIDAL ................................................. 75
11.5. INTEGRAIS DEFINIDAS PELA REGRA DE SIMPSON ................................................... 76
11.6. INTEGRAO DUPLA ............................................................................................ 77
11.7. INTEGRAO TRIPLA ............................................................................................ 77
11.8. OUTRAS FUNES ............................................................................................... 77
12. SRIES NUMRICAS ........................................................................................................... 80
12.1. SOMATRIO ........................................................................................................ 80
12.2. SRIE DE TAYLOR ................................................................................................ 80
13. ANLISE DE SINAIS............................................................................................................. 82
13.1. TRANSFORMAO DE VARIVEL INDEPENDENTE .................................................... 82
13.2. FUNES PR-DEFINIDAS .................................................................................... 84
13.3. CONVOLUO ..................................................................................................... 90
13.4. EQUAES DE DIFERENAS ................................................................................. 92
13.5. FFT (TRANSFORMADA RPIDA DE FOURIER) ......................................................... 93
13.6. FILTROS DIGITAIS ................................................................................................ 96
14. SIMULINK .............................................................................................................................. 99
14.1. INICIANDO O SIMULINK ......................................................................................... 99
14.2. CRIANDO UM MODELO ........................................................................................ 100
14.3. ASPECTOS SOBRE A SOLUO DOS SISTEMAS ..................................................... 103
14.4. MODELAGEM DE SISTEMAS ................................................................................ 104
15. REFERNCIAS BIBLIOGRFICAS ................................................................................... 114


Apostila de MATLAB 7.3
Pgina 5 de 114
1. PREFCIO
Esta apostila foi desenvolvida por alunos do Programa de Educao
Tutorial (PET) do curso de Engenharia Eltrica da Universidade Federal do
Cear (UFC) para a realizao do Curso de MATLAB.
Com o intuito de promover uma introduo ao MATLAB que viesse a
facilitar o desempenho dos estudantes da graduao na realizao de seus
trabalhos e na sua vida profissional, o PET elaborou este Curso de MATLAB
que est atualmente na oitava edio. Durante as oito edies foram
contemplados aproximadamente 400 estudantes dos mais variados cursos de
Engenharia do Centro de Tecnologia da UFC.
Devido sua boa repercusso o Curso de MATLAB foi premiado no
XVII Encontro de Iniciao Docncia nos Encontros Universitrios de 2008.

Apostila de MATLAB 7.3
Pgina 6 de 114
2. APRESENTAO
O MATLAB (MATrix LABoratory) uma linguagem de alto desempenho
para computao tcnica. Integra computao, visualizao e programao em
um ambiente de fcil uso onde problemas e solues so expressos em
linguagem matemtica. Usos tpicos:

Matemtica e computao;
Desenvolvimento de algoritmos;
Aquisio de dados;
Modelagem, simulao e prototipagem;
Anlise de dados, explorao e visualizao;
Construo de interface visual do usurio.
2.1. Utilizando o HELP
Indubitavelmente, a melhor apostila tutorial sobre o MATLAB que possa
existir o HELP do prprio MATLAB. Todas as informaes possveis h no
HELP, principalmente sobre as toolboxes, sobre funes, SIMULINK e entre
outros.
O HELP pode ser aberto de vrias formas. A primeira atravs da
barra de menu, como mostrado na Figura 1:


Figura 1 HELP do MATLAB sendo acessado pela barra de menu.
Apostila de MATLAB 7.3
Pgina 7 de 114
Outra forma pela tecla de atalho F1. Uma terceira forma pelo boto
START, posicionado logo abaixo do COMMAND HISTORY, de acordo com a
Figura 2.


Figura 2 HELP do MATLAB sendo acessado pelo boto START.

Dando continuidade, quando se deseja obter informaes sobre uma
dada funo, possvel consultar diretamente no HELP ou pelo COMMAND
WINDOW. Para isso, basta digitar help e em seguida a funo requerida, de
acordo com o exemplo abaixo:


>> help dirac
DIRAC Delta function.
DIRAC(X) is zero for all X, except X == 0 where it is
infinite.
DIRAC(X) is not a function in the strict sense, but rather
a
distribution with int(dirac(x-a)*f(x),-inf,inf) = f(a) and
diff(heaviside(x),x) = dirac(x).
See also heaviside.
Overloaded functions or methods (ones with the same name in
other directories)
help sym/dirac.m
Reference page in Help browser
doc dirac

Veja que as informaes sobre a funo dirac aparecem no prprio
COMMAND WINDOW. Se for necessrio consultar a pgina do HELP, basta
utilizar o comando doc e em seguida o nome da funo. Por exemplo:

Apostila de MATLAB 7.3
Pgina 8 de 114
>> doc dirac

Depois de efetuado este comando, ir aparecer a janela do HELP com
o seguinte:

Figura 3 HELP da funo dirac.

Apostila de MATLAB 7.3
Pgina 9 de 114
3. FORMATAO
No MATLAB no h necessidade de declarar o tipo das variveis
utilizadas no programa, mas o usurio pode escolher qual o formato que vai ser
utilizado. So usados os comandos mostrados na Tabela 1:

Tabela 1 - Formato das variveis
Comando MATLAB Varivel Descrio
Format long 3.141592653589793 Com 16 dgitos
Format short 3.1416 Com 5 dgitos
Format short e 3.1416e+000
Com 5 dgitos notao
cientfica
Format long e 3.141592653589793e+000
Com 16 dgitos em
notao cientfica
Format + +
Retorna + para valores
positivos e - para
valores negativos
Format rat 355/113 Aproximao racional
Format hex 400921fb54442d18 Formato hexadecimal

Apostila de MATLAB 7.3
Pgina 10 de 114
4. MATRIZES
4.1. Declarao
A declarao de matrizes feita da seguinte maneira:

>> a = [1:10] %cria o vetor linha [1 2 3 4 5 6 7 8 9
10]
>> b = [0:0.5:3] %cria o vetor [0 0.5 1 1.5 2 2.5 3]
>> A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]
A =
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1
>>A(1,2); %Elemento de linha 1 e coluna 2
>>A(:,3); %Elementos da coluna 3
>>A(1,:); %Elementos da linha 1

O MATLAB tambm aceita a concatenao de matrizes, por exemplo:

>> a=[ 4 1 ; 3 4];
>> b= [ 2 3; 4 5];
>> c=[a b];
c =
4 1 2 3
3 4 4 5

Obs.: bom lembrar que o MATLAB tem como primeiro ndice do vetor
o nmero 1, diferente de outras linguagens que usam o primeiro ndice como 0.
4.2. Soma
A soma de todos os elementos de uma matriz com um nmero feita
da seguinte maneira:

>> c =
Apostila de MATLAB 7.3
Pgina 11 de 114
4 1 2 3
3 4 4 5
>> c+1
ans =
5 2 3 4
4 5 5 6

A soma de matrizes feita da maneira tradicional:

>> d=[ 1 2 7 8 ; 4 7 5 8] ;
>> e=[ 5 -4 7 0; 3 -1 6 -4];
>> d+e
ans =
6 -2 14 8
7 6 11 4
4.3. Multiplicao
Usa-se o sinal da multiplicao:

>> a=[1 4 2; 7 8 5; 9 5 4];
>> b=[4 2 -5; 0 1 3; 8 -2 1];
>> c=a*b
c =
20 2 9
68 12 -6
68 15 -26

Obs.: Se for desejado realizar outra operao matemtica (exceto a
soma e a subtrao) entre os elementos com mesmo ndice das matrizes deve-
se colocar um ponto antes do operador. Observe os exemplos abaixo:


>> a=[1 4 2; 7 8 5; 9 5 4];
>> b=[4 2 -5; 0 1 3; 8 -2 1];
>> c=a.*b
c =
4 8 -10
Apostila de MATLAB 7.3
Pgina 12 de 114
0 8 15
72 -10 4
>> b./a
ans =
4.0000 0.5000 -2.5000
0 0.1250 0.6000
0.8889 -0.4000 0.2500
>> a.^2
ans =
1 16 4
49 64 25
81 25 16

Exerccio 1- Declare as matrizes A, B e C abaixo:

[ ] 1 2 3 4 5 6 7 A = [ ] 3 6 9 12 15 18 21 B =
0 5 10 15 10 5 0
1 2 3 4 5 6 7
C

=





Atravs das matrizes acima, determine as matrizes a seguir utilizando
os comandos j mencionados.

[ ]
[ ]
4 5 6 7 ;
7 6 5 4 ;
4 5 6 7
;
7 6 5 4
4 5
7 6
;
6 7
5 4
D
E
F
G
=
=

=





=





12
15
;
18
21
5
;
6
0 5 10
;
1 2 3
H
I
J



=




=



=





0 25 100
;
1 4 9
0 24 99
;
2 5 10
0 24 99
;
2 5 10
K
L
M

=



=



=




4.4. Matrizes pr-Definidas
ones
Definio: Esta funo gera uma matriz cujos valores so unitrios.
Sintaxe:
ones(n) Gera uma matriz quadrada
unitrios.
ones(m,n) Gera ma matriz

>>ones(2)
ans =
1 1
1 1

zeros
Definio: Esta funo gera uma matriz cujos valores so nulos
Sintaxe:
zeros(n) Gera uma matriz quadrada
nulos.
zeros(m,n) Gera ma matriz
>>zeros(2)
ans =
0 0
0 0

eye
Definio: Gera uma matriz identidade
Sintaxe:
eye(n) Gera uma matriz identidade
eye(m,n) Gera uma matriz de ordem
possuem i=j so unitrios.

>>eye(2)
ans =
1 0
0 1

vander
Definio: Calcula a matriz de Vandermonde a partir de um vetor
dado.
Apostila de MATLAB 7.3
Pgina
Gera uma matriz quadrada de ordem n cujos termos so
Gera ma matriz m x n cujos termos so unitrios
Esta funo gera uma matriz cujos valores so nulos
Gera uma matriz quadrada de ordem n cujos termos so
Gera ma matriz m x n cujos termos so nulos
Gera uma matriz identidade.
Gera uma matriz identidade n x n.
era uma matriz de ordem m x n cujos termos que
so unitrios.
Calcula a matriz de Vandermonde a partir de um vetor
Apostila de MATLAB 7.3
Pgina 13 de 114
cujos termos so
cujos termos so unitrios.
Esta funo gera uma matriz cujos valores so nulos.
cujos termos so
cujos termos so nulos.
cujos termos que
Calcula a matriz de Vandermonde a partir de um vetor
Sintaxe:
vander(A) Calcula a matriz de Vandermonde a partir de

A=[1 2 3 4];
>> vander(A)
ans =
1 1 1 1
8 4 2 1
27 9 3 1
64 16 4 1

rand
Definio: Cria uma matriz com valores aleatrios
Sintaxe:
rand(m) Cria uma matriz
rand(m,n) Cria uma matriz

rand(2)
ans =
0.9501 0.6068
0.2311 0.4860
4.5. Propriedades de matrizes
(apstrofo)
Definio Calcula a m
Sintaxe:
A Gera a matriz transposta de

>>A=[1 1; 2 3]
>>A =
1 1
2 3
>> A'
ans =
1 2
1 3
Apostila de MATLAB 7.3
Pgina
Calcula a matriz de Vandermonde a partir de
1 1 1 1
8 4 2 1
27 9 3 1
64 16 4 1
Cria uma matriz com valores aleatrios.
Cria uma matriz m x m com valores aleatrios
Cria uma matriz m x n com valores aleatrios
0.9501 0.6068
0.2311 0.4860
Propriedades de matrizes
Calcula a matriz transposta.
Gera a matriz transposta de A.

Apostila de MATLAB 7.3
Pgina 14 de 114
Calcula a matriz de Vandermonde a partir de A.
com valores aleatrios entre 0 e 1.
com valores aleatrios entre 0 e 1.

det
Definio: Calcula o determinante de uma matriz
Sintaxe:
det(A) Calcula o determinante da matriz

>>det(A)

ans =
1

trace
Definio: Retorna um vetor com a soma dos elementos da diagonal
principal de uma matriz.
Sintaxe:
trace(A) Retorna a soma dos elementos da diagonal principal da
matriz A.

A =
1 4
2 1
>> trace(A)
ans =
2

inv
Definio: Determina a matriz inversa dada.
Sintaxe:
inv(A) Retorna a

>> A = [5 8; 4 9]
A =
5 8
4 9
>> inv(A)
ans =
Apostila de MATLAB 7.3
Pgina
Calcula o determinante de uma matriz.
Calcula o determinante da matriz A.
Retorna um vetor com a soma dos elementos da diagonal

Retorna a soma dos elementos da diagonal principal da
Determina a matriz inversa dada.
Retorna a matriz inversa da matriz A.
>> A = [5 8; 4 9]
Apostila de MATLAB 7.3
Pgina 15 de 114
Retorna um vetor com a soma dos elementos da diagonal
Retorna a soma dos elementos da diagonal principal da
0.6923 -0.6154
-0.3077 0.3846

eig
Definio: Calcula os autovalores
Sintaxe:
eig(A) Retorna os autovalores de uma matriz quadrada
[a, b] = eig(A)
b, uma matriz com os autovalores

>> A=[1 -1; 4 1]
A =
1 -1
4 1
>> [a,b]=eig(A)
a =
0 - 0.4472i 0 + 0.4472i
-0.8944
b =
1.0000 + 2.0000i 0
0 1.0000

Exerccio 2- Resolva o seguinte sistema de equaes lineares:
1 2 3
1 2 3
2 3
2 1.5 13.20
6 2 21.64
2 4 26.62
x x x
x x x
x x
+ + =

+ =

+ =

4.6. Trabalhando com matrizes


size
Definio: Retorna as dimenses de uma matriz
Sintaxe:
[m,n] = size(A)
nmero de colunas da matriz

>> A=[1 1; 2 3]
Apostila de MATLAB 7.3
Pgina
0.6154
0.3077 0.3846
Calcula os autovalores e autovetores de uma matriz
Retorna os autovalores de uma matriz quadrada
Retorna em a, uma matriz com os autovetores e
uma matriz com os autovalores associados.
1; 4 1]
>> [a,b]=eig(A)
0.4472i 0 + 0.4472i
0.8944 -0.8944
1.0000 + 2.0000i 0
0 1.0000 - 2.0000i
Resolva o seguinte sistema de equaes lineares:
2 1.5 13.20
6 2 21.64
2 4 26.62

Trabalhando com matrizes
Retorna as dimenses de uma matriz.
Retorna, em m, o nmero de linhas e, em
da matriz A.
>> A=[1 1; 2 3];
Apostila de MATLAB 7.3
Pgina 16 de 114
e autovetores de uma matriz.
Retorna os autovalores de uma matriz quadrada A.
matriz com os autovetores e, em
Resolva o seguinte sistema de equaes lineares:
em n, o
>> [m,n]=size(A)
m =
2
n =
2

find
Definio: Procura os elementos em uma matriz de tal modo a
respeitar a lgica fornecida, retornando os ndices que descrevem estes
elementos.
Sintaxe:
ind = find(X) Retorna os
[row,col] = find(X, ...)
ndices das linhas dos
contendo os ndices correspondentes s colunas dos elementos da matriz
[row,col,v] = find(X, ...)
ndices das linhas dos
contendo os ndices que descrevem as colunas dos elementos da matriz
em v, a matriz contendo os elementos de

A=[1 1; 0 3];
>> find(A)
ans =
1
3
4
>> X = [3 2 0;
>> [r,c,v] = find(X
>> [r c]
ans =
1 1
2 3

Veja no ultimo caso acima que
e das colunas correspondentes aos elementos que respeitam a expresso
oferecida.
Apostila de MATLAB 7.3
Pgina
>> [m,n]=size(A)
Procura os elementos em uma matriz de tal modo a
respeitar a lgica fornecida, retornando os ndices que descrevem estes
Retorna os ndices de elementos no-nulos na
[row,col] = find(X, ...) Retorna, em row, uma matriz coluna
ndices das linhas dos elementos da matriz X e, em col, a matriz coluna
contendo os ndices correspondentes s colunas dos elementos da matriz
[row,col,v] = find(X, ...) Retorna, em row, uma matriz coluna com os
ndices das linhas dos elementos da matriz X e, em col, a matriz coluna
contendo os ndices que descrevem as colunas dos elementos da matriz
, a matriz contendo os elementos de X.
>> X = [3 2 0; -5 0 7; 0 0 1];
>> [r,c,v] = find(X>2);
Veja no ultimo caso acima que r e c retornam em os ndices das linhas
e das colunas correspondentes aos elementos que respeitam a expresso
Apostila de MATLAB 7.3
Pgina 17 de 114
Procura os elementos em uma matriz de tal modo a
respeitar a lgica fornecida, retornando os ndices que descrevem estes
nulos na matriz X.
coluna com os
, a matriz coluna
contendo os ndices correspondentes s colunas dos elementos da matriz X.
uma matriz coluna com os
, a matriz coluna
contendo os ndices que descrevem as colunas dos elementos da matriz X e,
retornam em os ndices das linhas
e das colunas correspondentes aos elementos que respeitam a expresso
Obviamente, os elementos

sort
Definio: Retorna
ordem crescente ou decrescente
Sintaxe:
sort(A,dim) Retorna os elementos das colunas
(dim = 2) da matriz A em ordem crescente
sort(A,mode)
ordem crescente (mode = ascend
descend).

>> sort(A)
ans =
1 1
2 4

fliplr
Definio: Espelha as colunas de uma matriz
Sintaxe:
fliplr(A) Espelha as colunas da matriz

>> A=[1 2;3 4]
A =
1 2
3 4
>> fliplr(A)
ans =
2 1
4 3

flipud
Definio: Espelha as linhas
Sintaxe:
flipud(A) Espelha as linhas da matriz
Apostila de MATLAB 7.3
Pgina
Obviamente, os elementos a
11
e a
23
so os nicos maiores que 2.
Retorna o vetor dado ou elementos de uma matriz
escente ou decrescente.
Retorna os elementos das colunas (dim = 1
em ordem crescente.
Retorna os elementos das colunas da matriz
mode = ascend) ou em ordem decrescente (
Espelha as colunas de uma matriz.
Espelha as colunas da matriz A.

Espelha as linhas de uma matriz.
Espelha as linhas da matriz A.
Apostila de MATLAB 7.3
Pgina 18 de 114
so os nicos maiores que 2.
elementos de uma matriz em
dim = 1) ou da linha
Retorna os elementos das colunas da matriz A em
decrescente (mode =

>> A=[1 2;3 4]
A =
1 2
3 4
>> flipud(A)
ans =
3 4
1 2

Exerccio 3- Crie um vetor
a partir deste, outro vetor
a. Conter somente os elementos de
b. Os elementos devem de

Exerccio 4- Realize as seguintes operaes no MATLAB,
matrizes dadas, e interprete o resultado.

5 8 6 7 5.5 8.1 4.9
9 2 10 1 2.1 7.4 9.2 4 1 0
7 6 1 6 1.3 4.5 3.8
A B C D
| | | |
| |
= = = =
| |
| |
\ \

a) ( ) det 6 E A I com = =
b)
1
F A B

=
c) \ A B A F
d) A F
e)
T
B C
f) D B / A A

Exemplo 1- Dado o circuito
Apostila de MATLAB 7.3
Pgina

Crie um vetor A de 50 elementos aleatrios e em seguida crie
a partir deste, outro vetor B obedecendo aos seguintes critrios:
Conter somente os elementos de A maiores que 0.5;
Os elementos devem de B estar em ordem decrescente.
Realize as seguintes operaes no MATLAB,
matrizes dadas, e interprete o resultado.
[
5 8 6 7 5.5 8.1 4.9
9 2 10 1 2.1 7.4 9.2 4 1 0
7 6 1 6 1.3 4.5 3.8
A B C D
| | | |
| |
= = = =
| |
| |

\ \
det 6 E A I com = =
Dado o circuito da Figura 4, calcule as tenses nos ns 1 e 2:
Apostila de MATLAB 7.3
Pgina 19 de 114
de 50 elementos aleatrios e em seguida crie
obedecendo aos seguintes critrios:
maiores que 0.5;
estar em ordem decrescente.
Realize as seguintes operaes no MATLAB, a partir das
]
9 2 10 1 2.1 7.4 9.2 4 1 0
, calcule as tenses nos ns 1 e 2:
Figura



>> i=[10/1 ; 2]

i =
10
2

>> G=[1/1+1/5+1/2

G =
1.7000 -0.5000
-0.5000 0.6000

>> v=inv(G)*i

v =
9.0909
10.9091

V1
10Vdc
0
10
i v
i G v
G i G G v
v G i
| |
|
|
\
Apostila de MATLAB 7.3
Pgina

Figura 4 Exemplo de circuito eltrico.
>> i=[10/1 ; 2]
>> G=[1/1+1/5+1/2 -1/2 ; -1/2 1/2+1/10 ]
0.5000
0.5000 0.6000
R3
2
V
R4
10
R1
1
R2
5
I1
2Adc
V
1
2
1 1
1
1
1 1 1 1
10
1 5 2 2
1
1 1 1
2
2 2 10
i v
R
i G v
v
v
G i G G v
v G i

=
=

| |
+ + | |
|
| |
|
= |
|
|

| \
+
| \
\
=
=
Apostila de MATLAB 7.3
Pgina 20 de 114

Os resultados obtidos podem ser confirmados por intermdio da
5:
Figura 5

0s 0.1ms 0.2ms
V(R2:1) V(R4:1)
9.0V
9.5V
10.0V
10.5V
11.0V
Apostila de MATLAB 7.3
Pgina
Os resultados obtidos podem ser confirmados por intermdio da
5 Formas de onda das tenses dos ns 1 e 2.

Time
0.3ms 0.4ms 0.5ms 0.6ms 0.7ms 0.8ms
Apostila de MATLAB 7.3
Pgina 21 de 114
Os resultados obtidos podem ser confirmados por intermdio da Figura

0.9ms 1.0ms
5. VETORES
5.1. Declarao
possvel trabalhar com vetores no MATLAB
feita baseando-se numa matriz linha. Por exemplo, para obter o vetor
basta iniciarmos com:

>> R=[1 3 8]

R =
1 3 8

Portanto, todas as operaes se tornam
funes apropriadas. importante salientar que certas funes exigem a
declarao de vetores por matriz coluna, entretanto, nada que uma consulta no
help para ajudar.
Uma operao bsica com vetores na determinao do nmer
elementos, a partir da funo
usando a funo norm, ambas definidas abaixo. Logo depois, sero dadas
algumas funes que trabalham com vetores.

length
Definio: Retorna o nmero de elementos que compem
Sintaxe:
length (A) Calcula o numero de termos do vetor

>>A=[8 9 5 7];
>> length(A)

ans =
4



Apostila de MATLAB 7.3
Pgina
Declarao
possvel trabalhar com vetores no MATLAB, cuja representao
se numa matriz linha. Por exemplo, para obter o vetor
1 3 8
Portanto, todas as operaes se tornam possveis a partir do uso de
funes apropriadas. importante salientar que certas funes exigem a
declarao de vetores por matriz coluna, entretanto, nada que uma consulta no
Uma operao bsica com vetores na determinao do nmer
elementos, a partir da funo length, assim como no clculo do seu mdulo,
, ambas definidas abaixo. Logo depois, sero dadas
algumas funes que trabalham com vetores.
Retorna o nmero de elementos que compem
Calcula o numero de termos do vetor A.

Apostila de MATLAB 7.3
Pgina 22 de 114
, cuja representao
se numa matriz linha. Por exemplo, para obter o vetor (1,3,8),
possveis a partir do uso de
funes apropriadas. importante salientar que certas funes exigem a
declarao de vetores por matriz coluna, entretanto, nada que uma consulta no
Uma operao bsica com vetores na determinao do nmero de
, assim como no clculo do seu mdulo,
, ambas definidas abaixo. Logo depois, sero dadas
Retorna o nmero de elementos que compem o vetor.
norm
Definio: Retorna o mdulo do vetor.
Sintaxe:
norm(A) Calcula o mdulo do

>> x = [0 5 1 7];

>> sqrt(0+25+1+49) % Forma

ans =
8.6603

>> norm(x) % Usando norm

ans =
8.6603
5.2. Operaes
Quando se deseja calcular o produto
utiliza-se a funo cross,

cross
Definio: Calcula o produto vetorial entre
Sintaxe:
C = cross(A,B) Retorna, em
A e B.
De modo anlogo, define
produto escalar de dois vetores dados, conforme definio a seguir.

dot
Definio: Determina o produto escalar entre dois vetores.
Sintaxe:
C = dot(A,B) Retorna, em
e B.
Apostila de MATLAB 7.3
Pgina
Retorna o mdulo do vetor.
Calcula o mdulo do vetor A.
>> x = [0 5 1 7];
>> sqrt(0+25+1+49) % Forma Euclidiana
>> norm(x) % Usando norm
Operaes
Quando se deseja calcular o produto vetorial (ou cruzado) de vetores,
cross, apresentada a seguir:
Calcula o produto vetorial entre A e B.
Retorna, em C, o produto vetorial dos vetores tridimensionais
De modo anlogo, define-se a funo dot como a responsvel pelo
produto escalar de dois vetores dados, conforme definio a seguir.
Determina o produto escalar entre dois vetores.
Retorna, em C, o produto escalar dos vetores n-dimensionais
Apostila de MATLAB 7.3
Pgina 23 de 114
vetorial (ou cruzado) de vetores,
, o produto vetorial dos vetores tridimensionais
como a responsvel pelo
produto escalar de dois vetores dados, conforme definio a seguir.
Determina o produto escalar entre dois vetores.
dimensionais A
>> a = [1 7 3];
>> b = [5 8 6];
>> c = cross(a,b)
>> d = dot(a,b)

Alm disso, qualquer outra operao possvel, como soma e
subtrao, mas se deve atentar
possuir a mesma dimenso.
Dando continuidade, sero definidas algumas funes que podero ser
teis quando se trabalha com vetores ou

min
Definio: Retorna os valores
de uma matriz.
Sintaxe:
min(A) Retorna em um vetor linha os
da matriz A.
min(A,B) Retorna uma matriz com os menores valores d
posio correspondente de ambas as matrizes
[a,b]=min(A) Retorna
em b, a posio dos mesmos nas suas respectivas colunas

>> A=[1 4; 2 4];
>> [a,b]=min(A)
a =
1 4
b =
1 1

max
Definio: Retorna os valores mximo
de uma matriz.
Sintaxe:
max(A) Retorna em um vetor linha os maiores valores de cada linha
da matriz A.
Apostila de MATLAB 7.3
Pgina
>> a = [1 7 3];
>> b = [5 8 6];
>> c = cross(a,b)
>> d = dot(a,b)
, qualquer outra operao possvel, como soma e
subtrao, mas se deve atentar-se ao fato de que ambos os vetores devem
possuir a mesma dimenso.
Dando continuidade, sero definidas algumas funes que podero ser
teis quando se trabalha com vetores ou at mesmo com matrizes.
Retorna os valores mnimos de um vetor ou o das colun
Retorna em um vetor linha os menores valores de cada linha
Retorna uma matriz com os menores valores d
posio correspondente de ambas as matrizes
Retorna, em a, os menores valores de cada coluna e
a posio dos mesmos nas suas respectivas colunas.
A=[1 4; 2 4];
>> [a,b]=min(A)
Retorna os valores mximos de um vetor ou o das colun
Retorna em um vetor linha os maiores valores de cada linha
Apostila de MATLAB 7.3
Pgina 24 de 114
, qualquer outra operao possvel, como soma e
se ao fato de que ambos os vetores devem
Dando continuidade, sero definidas algumas funes que podero ser
at mesmo com matrizes.
de um vetor ou o das colunas
valores de cada linha
Retorna uma matriz com os menores valores de cada
os menores valores de cada coluna e,
de um vetor ou o das colunas
Retorna em um vetor linha os maiores valores de cada linha
max(A,B) Retorna uma matriz com os maiores valores de cada
posio correspondente d
[a,b]=max(A)
em b, a posio dos mesmos nas suas respectivas colunas

>> [a,b]=max(A)
a =
2 4
b =
2 1

sum
Definio: Calcula o somatrio
somatrio das colunas de uma matriz.
Sintaxe:
sum(A) Retorna a(o) soma/produto dos elementos de um vetor ou
a(o) soma/produto das colunas de uma matriz

>> sum(A)
ans =
3 8

prod
Definio: Calcula o
produtrio das colunas de uma matriz.
Sintaxe:
prod(A) Retorna a(o) soma/produto dos elementos d
a(o) soma/produto das colunas

>> prod(A)
ans =
2 16


Apostila de MATLAB 7.3
Pgina
Retorna uma matriz com os maiores valores de cada
posio correspondente de ambas as matrizes.
Retorna, em a, os maiores valores de cada coluna e
a posio dos mesmos nas suas respectivas colunas.
>> [a,b]=max(A)
Calcula o somatrio dos elementos de um
das colunas de uma matriz.
etorna a(o) soma/produto dos elementos de um vetor ou
a(o) soma/produto das colunas de uma matriz
Calcula o produtrio dos elementos de um vetor ou o
rio das colunas de uma matriz.
etorna a(o) soma/produto dos elementos do
a(o) soma/produto das colunas da matriz A.
Apostila de MATLAB 7.3
Pgina 25 de 114
Retorna uma matriz com os maiores valores de cada
os maiores valores de cada coluna e,
dos elementos de um vetor ou o
etorna a(o) soma/produto dos elementos de um vetor ou
ntos de um vetor ou o
vetor A ou
Exerccio 5- Os trs vrtices de um tringulo esto em
4) e C (-3,1,5). Determine o vetor unitrio perpendicular ao plano no qual o
tringulo est localizado. Tambm determine o ngulo


Exerccio 6- Declare a matriz
a) Um vetor Y que tenha o valor mnimo das trs primeiras colunas;
b) A soma dos elementos de
c) Um vetor Z que tenha o valor mximo das trs primeiras linhas;
d) O produtrio dos elementos do vetor
e) Calcule o mdulo dos elementos de cada linha
5.3. Sistemas de Coordenadas
Existem funes
coordenadas, conforme listadas a seguir:

cart2pol
Definio: Converte do cartesiano para o polar/cilndrico.
Figura 6.
Sintaxe:
[theta,rho,z] = cart2pol(x,y,z)
cartesianas (x,y,z) para coordenadas cilndricas
[theta,rho] = cart2pol(x,y)
cartesianas (x,y) para coordenadas polares
Apostila de MATLAB 7.3
Pgina
Os trs vrtices de um tringulo esto em A (6,
. Determine o vetor unitrio perpendicular ao plano no qual o
tringulo est localizado. Tambm determine o ngulo
BAC
no vrtice
Declare a matriz X no MATLAB e determine:
6 2 45
65 32 9
3 8 1
X


=




que tenha o valor mnimo das trs primeiras colunas;
A soma dos elementos de Y;
que tenha o valor mximo das trs primeiras linhas;
O produtrio dos elementos do vetor Z;
Calcule o mdulo dos elementos de cada linha.
Sistemas de Coordenadas
Existem funes, no MATLAB, que possibilitam as transformadas de
coordenadas, conforme listadas a seguir:
Converte do cartesiano para o polar/cilndrico.
[theta,rho,z] = cart2pol(x,y,z) Converte o ponto de coordenadas
para coordenadas cilndricas (theta,rho,z).
[theta,rho] = cart2pol(x,y) Converte o ponto de coordenadas
para coordenadas polares (theta,rho).
Apostila de MATLAB 7.3
Pgina 26 de 114
(6,-1,2), B (-2,3,-
. Determine o vetor unitrio perpendicular ao plano no qual o
no vrtice A.
que tenha o valor mnimo das trs primeiras colunas;
que tenha o valor mximo das trs primeiras linhas;
que possibilitam as transformadas de
Converte do cartesiano para o polar/cilndrico. Observe a
Converte o ponto de coordenadas
Converte o ponto de coordenadas
Figura 6 Transformao entre coordenadas cartesianas e polares/cilndricas.

pol2cart
Definio: Converte do
para o sistema cartesiano.
Sintaxe:
[x,y] = pol2cart(theta,rho)
(theta,rho) para coordenadas cartesianas
[x,y,z] = pol2cart(theta,rho,z)
cilndricas (theta,rho,z) para coordenadas cartesianas

cart2sph
Definio: Transforma do
sistema de coordenadas
Sintaxe:
[theta,phi,r] = cart2sph(x,y,z)
cartesianas (x,y,z) para coordenadas esfricas
Apostila de MATLAB 7.3
Pgina

Transformao entre coordenadas cartesianas e polares/cilndricas.
Converte do sistema de coordenadas polares
cartesiano.
[x,y] = pol2cart(theta,rho) Converte o ponto de coordenadas polares
para coordenadas cartesianas (x,y).
[x,y,z] = pol2cart(theta,rho,z) Converte o ponto de coordenadas
para coordenadas cartesianas (x,y,z).
Transforma do sistema de coordenadas cartesian
sistema de coordenadas esfricas. Observe a Figura 7.
cart2sph(x,y,z) Converte o ponto de coordenadas
para coordenadas esfricas (theta,phi,r).
Apostila de MATLAB 7.3
Pgina 27 de 114
Transformao entre coordenadas cartesianas e polares/cilndricas.
es/cilndricas
Converte o ponto de coordenadas polares
Converte o ponto de coordenadas
cartesianas para o
Converte o ponto de coordenadas
Figura 7
sph2cart
Definio: Transforma do
sistema de coordenadas
Sintaxe:
[x,y,z] = sph2cart(theta,phi,r)
esfricas (theta,phi,r) para cartesianas

Um exemplo para o uso destas funes na utilizao das equaes
de potenciais eltricos para determinadas distribuies de carga que so
simtricos a um sistema de coordenadas. Vejamos o exemplo abaixo.

Exemplo 2- Um dipolo eltrico formado colocando uma carga de
(1,0,0) e uma outra carga de
equipotenciais geradas a partir dessa configurao

>> [x,y,z] = meshgrid(
>> [teta,fi,r] = cart2sph(x,y,z);
v = (1e-9*0.2*cos(teta))./(4.*pi.*8.85e
>> contourslice(x,y,z,v,[
>> colormap hsv
Apostila de MATLAB 7.3
Pgina

Transformao entre coordenadas cartesianas e esfricas.
Transforma do sistema de coordenadas esfric
sistema de coordenadas cartesianas.
[x,y,z] = sph2cart(theta,phi,r) Converte o ponto de coordenadas
para cartesianas (x,y,z).
Um exemplo para o uso destas funes na utilizao das equaes
potenciais eltricos para determinadas distribuies de carga que so
simtricos a um sistema de coordenadas. Vejamos o exemplo abaixo.
Um dipolo eltrico formado colocando uma carga de
e uma outra carga de -1nC em (-1,0,0). Determine as
equipotenciais geradas a partir dessa configurao.
>> [x,y,z] = meshgrid(-0.5:.012:0.5);
>> [teta,fi,r] = cart2sph(x,y,z);
9*0.2*cos(teta))./(4.*pi.*8.85e-12.*r.^2);
>> contourslice(x,y,z,v,[-0.5:0.5],[-0.5:0.5],[-0.5:0.5]);
hsv
Apostila de MATLAB 7.3
Pgina 28 de 114
Transformao entre coordenadas cartesianas e esfricas.
esfricas para o
Converte o ponto de coordenadas
Um exemplo para o uso destas funes na utilizao das equaes
potenciais eltricos para determinadas distribuies de carga que so
simtricos a um sistema de coordenadas. Vejamos o exemplo abaixo.
Um dipolo eltrico formado colocando uma carga de 1nC em
. Determine as linhas

0.5:0.5]);

-0.5 -0.4
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
Apostila de MATLAB 7.3
Pgina
Figura 8 Linhas equipotenciais.

-0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
Apostila de MATLAB 7.3
Pgina 29 de 114

6. M-FILE
6.1. Definio
O M-File uma ferramenta do MATLAB que auxilia a criao de
funes e scripts. Para criar
escolher a opo New M


Ser aberto um editor de textos. Este mais um ambiente de
programao do MATLAB. Os comandos usados nesse editor so os mesmos
do Command Window
Workspace. Uma grande utilidade do M
atravs da execuo de scripts, que so arquivos que possuem uma lista de
comandos que devem ser executados seqencialmente
procedimentos). Assim, quando se quiser executar
conjunto de comandos seqenciais
serem digitados, no ser necessrio digit
Window, basta digitar os comandos no M
Segue um exemplo de script para calcular a distncia entre d


p=[1 2];
q=[4 5];
temp=((p(1)-q(1))^2+(p(2)
distancia=sqrt(temp);


O primeiro passo para executar um script salv
arquivos do M-File no seu diretrio padro, com a extenso .m. Para salvar
Apostila de MATLAB 7.3
Pgina

File uma ferramenta do MATLAB que auxilia a criao de
funes e scripts. Para criar um novo M-File deve-se entrar no menu
New M-File:
r aberto um editor de textos. Este mais um ambiente de
programao do MATLAB. Os comandos usados nesse editor so os mesmos
e podem ser utilizadas as variveis j presentes no
. Uma grande utilidade do M-File facilitar a vid
atravs da execuo de scripts, que so arquivos que possuem uma lista de
comandos que devem ser executados seqencialmente (tambm chamados de
Assim, quando se quiser executar mais de uma vez
seqenciais relativamente grandes e trabalhosos para
, no ser necessrio digit-los um a um n
digitar os comandos no M-File, salvar o arquivo e execut
Segue um exemplo de script para calcular a distncia entre dois pontos:
q(1))^2+(p(2)-q(2))^2);

O primeiro passo para executar um script salv-lo. O M
File no seu diretrio padro, com a extenso .m. Para salvar
Apostila de MATLAB 7.3
Pgina 30 de 114
File uma ferramenta do MATLAB que auxilia a criao de
se entrar no menu File e

r aberto um editor de textos. Este mais um ambiente de
programao do MATLAB. Os comandos usados nesse editor so os mesmos
as variveis j presentes no
File facilitar a vida do usurio,
atravs da execuo de scripts, que so arquivos que possuem uma lista de
(tambm chamados de
mais de uma vez um
e trabalhosos para
los um a um na Command
File, salvar o arquivo e execut-lo.
ois pontos:
lo. O M-File salva os
File no seu diretrio padro, com a extenso .m. Para salvar
deve-se entrar no menu
para se executar o script, a primeira clicar no boto
no CE ntro da Barra de Ferramentas do M
A outra opo usar o atalho F5. As conseqncias da execuo so as
mesmas que seriam observadas se os comandos tivessem sido executados na
Command Window: as variveis declaradas
Workspace e os resultados de cada operao es
O M-FILE um ambiente de programao, portanto existem algumas
funes, bem parecidas com as da linguagem C, por exemplo, que podem ser
utilizadas.
6.2. Organizao
Para uma melhor organizao podemos fazer comentrios utilizando o
smbolo %, ou selecionando o texto inteiro e teclando
abrir o comentrio por bloco e %} para fechar.
Podemos ainda utilizar o smbolo %% para que, no mesmo M
usurio possa rodar apenas algumas partes do programa. Para rodar somente
a parte selecionada, tecle
F5 ou em:

Exemplo:







Apostila de MATLAB 7.3
Pgina
se entrar no menu File e escolher a opo Save. Existem duas opes
para se executar o script, a primeira clicar no boto Run, que est localizado
ntro da Barra de Ferramentas do M-File, em verde:

A outra opo usar o atalho F5. As conseqncias da execuo so as
mesmas que seriam observadas se os comandos tivessem sido executados na
: as variveis declaradas estaro todas disponveis no
e os resultados de cada operao estaro presentes na tela.
FILE um ambiente de programao, portanto existem algumas
funes, bem parecidas com as da linguagem C, por exemplo, que podem ser
Organizao
Para uma melhor organizao podemos fazer comentrios utilizando o
mbolo %, ou selecionando o texto inteiro e teclando Crtl+R
abrir o comentrio por bloco e %} para fechar.
Podemos ainda utilizar o smbolo %% para que, no mesmo M
usurio possa rodar apenas algumas partes do programa. Para rodar somente
a parte selecionada, tecle Ctrl+Enter e para rodar o programa inteiro clique em


Apostila de MATLAB 7.3
Pgina 31 de 114
Existem duas opes
, que est localizado
A outra opo usar o atalho F5. As conseqncias da execuo so as
mesmas que seriam observadas se os comandos tivessem sido executados na
estaro todas disponveis no
taro presentes na tela.
FILE um ambiente de programao, portanto existem algumas
funes, bem parecidas com as da linguagem C, por exemplo, que podem ser
Para uma melhor organizao podemos fazer comentrios utilizando o
Crtl+R, ou %{ para
Podemos ainda utilizar o smbolo %% para que, no mesmo M-File, o
usurio possa rodar apenas algumas partes do programa. Para rodar somente
e para rodar o programa inteiro clique em
Ao teclar Ctrl+Enter
6.3. Operaes no M

IF
Definio: Operao condicional. Executa as funes contidas no
comando. Pode ser utilizado com
for falsa, e com elseif, que
posteriormente declarada for verdadeira.
Para mais de uma condio, utiliza
Sintaxe:
if <condio>
[Comandos]
elseif <condio>
[Comandos]
else
[Comandos]
end

for
Definio: Comando de iterao.
instrues seja executado at que a condio seja satisfeita.
Sintaxe:
for <condio>
[Comandos]
end

while
Definio: Comando de iterao. Executa um bloco de instrues
enquanto a condio for v
Sintaxe:
while <condio>
Apostila de MATLAB 7.3
Pgina

Ctrl+Enter somente a Primeira Parte ser executada
Operaes no M-File
Operao condicional. Executa as funes contidas no
comando. Pode ser utilizado com else, que executa caso a condio declarada
, que executa a funo caso outra condio
posteriormente declarada for verdadeira.
Para mais de uma condio, utiliza-se para e, &&, e para ou, ||.
[Comandos]
elseif <condio>
[Comandos]
[Comandos]
Comando de iterao. Permite que um conjunto de
instrues seja executado at que a condio seja satisfeita.
Comando de iterao. Executa um bloco de instrues
enquanto a condio for verdadeira.
while <condio>
Apostila de MATLAB 7.3
Pgina 32 de 114
somente a Primeira Parte ser executada
Operao condicional. Executa as funes contidas no
, que executa caso a condio declarada
executa a funo caso outra condio
se para e, &&, e para ou, ||.
Permite que um conjunto de
Comando de iterao. Executa um bloco de instrues
[Comandos]
end

switch
Definio: Operao condicional. Testa sucessivamente o valor da
expresso dada e direciona para o caso especificado. Funciona como um bloco
de ifs
Sintaxe:
switch <condio>
case caso1
[Comandos]
case {caso1, caso2, caso3, ...}
[Comandos]
otherwise
condies)
[Comandos]
end

a = 3;
switch a
case {2}
disp('Resposta um')
case {3}
disp(' Resposta dois')
case '5'
disp(' Resposta tres')
otherwise
disp('Resposta ?')
end

disp
Definio: Escreve no
vetor, sem escrever seu nome.
Sintaxe:
disp(x)
Apostila de MATLAB 7.3
Pgina
[Comandos]
Operao condicional. Testa sucessivamente o valor da
expresso dada e direciona para o caso especificado. Funciona como um bloco
switch <condio>
[Comandos]
case {caso1, caso2, caso3, ...}
[Comandos]
(Caso no seja nenhuma das outras
[Comandos]
disp('Resposta um')
disp(' Resposta dois')
disp(' Resposta tres')
disp('Resposta ?')
Escreve no command window um texto ou o valor de um
vetor, sem escrever seu nome.
Apostila de MATLAB 7.3
Pgina 33 de 114
Operao condicional. Testa sucessivamente o valor da
expresso dada e direciona para o caso especificado. Funciona como um bloco
(Caso no seja nenhuma das outras
um texto ou o valor de um

input
Definio: Pede uma entrada do usurio pelo
Sintaxe:
entrada = input(O que deseja?)

X = input('Entre um nmero
num = 10*X

Command Window

Entre um nmero
23
X =
23
num =
230

break
Definio: Quebra um lao
Sintaxe:
break

for i = 0:5
if i == 1
break
end
i = i + 1
end

Command Window

i =
0
i =
1

Apostila de MATLAB 7.3
Pgina
Pede uma entrada do usurio pelo command window
entrada = input(O que deseja?)
X = input('Entre um nmero\n')
Command Window:
Entre um nmero
Quebra um lao for ou while.
Command Window:
Apostila de MATLAB 7.3
Pgina 34 de 114
command window.
continue
Definio: Passa para o prximo lao de um
Sintaxe:
continue

for i = 0:3
if i == 1 && i == 2
continue
end
i = i + 1
end

Command Window

i =
1
i =
4

Operadores Lgicos
Definio: Operadores lgicos

Entradas
A B
0 0
0 1
1 0
1 1

Funes em M-File

Outra importante funo do M
inicial da seguinte forma:

Apostila de MATLAB 7.3
Pgina
Passa para o prximo lao de um for ou while
if i == 1 && i == 2
continue
Window:
Operadores Lgicos
Operadores lgicos
and or not
A & B A | B ~A
0 0 1
0 1 1
0 1 0
1 1 0
Outra importante funo do M-File a criao de funes. A declarao
inicial da seguinte forma:
Apostila de MATLAB 7.3
Pgina 35 de 114
while.
xor
xor(A,B)
0
1
1
0
funes. A declarao

function [saida1, saida2, ...] = nome(entrada1, entrada2, ...)
%declarao do cdigo
...

Segue um exemplo:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Funo exemplo
% A funo recebe um vetor qualquer e retorna dois valores
% vetor2 = vetor multiplicado por 2
% e v1 = o valor do primeiro elemento do vetor
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function [vetor2, v1]= funcao(vetor)
vetor2=vetor*2; %multiplica o vetor por 2
v1=vetor(1); %retorna o primeiro elemento do vetor de entrada


Para chamar a funo basta digitar na janela d
funo com as entradas entre parnteses.
arquivo com mesmo nome da funo!
Na janela de comandos do MATLAB podemos colocar um vetor como exemplo:


>> A=[2 5 -8 4 1 6]
A =
2 5 -8 4 1 6
>> [x,y]=funcao(A)
x =
4 10 -16 8 2 12
y =
2



Apostila de MATLAB 7.3
Pgina
function [saida1, saida2, ...] = nome(entrada1, entrada2, ...)

Segue um exemplo:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Funo exemplo
% A funo recebe um vetor qualquer e retorna dois valores
% vetor2 = vetor multiplicado por 2
% e v1 = o valor do primeiro elemento do vetor
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [vetor2, v1]= funcao(vetor)
vetor2=vetor*2; %multiplica o vetor por 2
v1=vetor(1); %retorna o primeiro elemento do vetor de entrada
Para chamar a funo basta digitar na janela de comando o nome da
funo com as entradas entre parnteses. importante lembrar de salvar o
arquivo com mesmo nome da funo!
Na janela de comandos do MATLAB podemos colocar um vetor como exemplo:

Apostila de MATLAB 7.3
Pgina 36 de 114
function [saida1, saida2, ...] = nome(entrada1, entrada2, ...)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Funo exemplo
% A funo recebe um vetor qualquer e retorna dois valores
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
v1=vetor(1); %retorna o primeiro elemento do vetor de entrada
e comando o nome da
importante lembrar de salvar o
Na janela de comandos do MATLAB podemos colocar um vetor como exemplo:
7. FUNES MATEMTICAS
7.1. Funes Elementares
O MATLAB contm um conjunto de funes que executam algumas
funes matemticas elementares, como mdulo e raiz quadrada. A seguir
disponibilizaremos uma lista de funes com uma breve

Funo
log(X) Determina o logaritmo natural de
log10(X) Determina o logaritmo de
log2(X) Calcula o logaritmo de
exp(X) Determina a expresso de
sqrt(X) Retorna a raiz quadrada de
7.2. Propriedades
O MATLAB possui tambm funes que possibilitam os clculos
elementares de matemtica, tais como
as funes gcd e lcm retornam o mximo divisor comum e o mnimo mltiplo
comum, respectivamente. Vejamos aba

gcd
Definio: Determina o mximo divisor comum entre dois parmetros.
Sintaxe:
G = gcd(A,B)

lcm
Definio: Determina o mnimo mltiplo comum entre dois
Sintaxe:
G = lcm(A,B)

Apostila de MATLAB 7.3
Pgina
FUNES MATEMTICAS
Funes Elementares
O MATLAB contm um conjunto de funes que executam algumas
funes matemticas elementares, como mdulo e raiz quadrada. A seguir
disponibilizaremos uma lista de funes com uma breve descrio:
Descrio
Determina o logaritmo natural de X
Determina o logaritmo de X na base 10
Calcula o logaritmo de X na base 2
Determina a expresso de e
X

Retorna a raiz quadrada de X
Propriedades Fundamentais
O MATLAB possui tambm funes que possibilitam os clculos
elementares de matemtica, tais como mmc, mdc e entre outros. Por exemplo,
retornam o mximo divisor comum e o mnimo mltiplo
comum, respectivamente. Vejamos abaixo essas e outras funes similares:
Determina o mximo divisor comum entre dois parmetros.
Retorna, em G, o mximo divisor comum entre
Determina o mnimo mltiplo comum entre dois
Retorna, em G, o mnimo mltiplo comum entre
Apostila de MATLAB 7.3
Pgina 37 de 114
O MATLAB contm um conjunto de funes que executam algumas
funes matemticas elementares, como mdulo e raiz quadrada. A seguir
descrio:
O MATLAB possui tambm funes que possibilitam os clculos
e entre outros. Por exemplo,
retornam o mximo divisor comum e o mnimo mltiplo
ixo essas e outras funes similares:
Determina o mximo divisor comum entre dois parmetros.
, o mximo divisor comum entre A e B.
Determina o mnimo mltiplo comum entre dois parmetros.
, o mnimo mltiplo comum entre A e B.
factorial
Definio: Retorna o fatorial de um argumento.
Sintaxe:
factorial(N) Calcula o fatorial de

nchoosek
Definio: Desenvolve a fatorao binomial.
C = nchoosek(n,k)
k a k.

primes
Definio: Devolve uma lista com uma quantidade desejada de
nmeros primos.
Sintaxe:
p = primes(n)

mod
Definio: Calcula a congruncia entre dois argumentos.
Sintaxe:
M = mod(X,Y)
e Y.

rem
Definio: Determina o resto da diviso de dois argumentos.
Sintaxe:
R = rem(X,Y)

perms
Definio: Desenvolve todas as permutaes possveis dos
argumentos dados.
Sintaxe:
P = perms(v) v
deseja permut-los.
Apostila de MATLAB 7.3
Pgina
Retorna o fatorial de um argumento.
Calcula o fatorial de N.
Desenvolve a fatorao binomial.Sintaxe:
C = nchoosek(n,k) Retorna o nmero de combinaes de
Devolve uma lista com uma quantidade desejada de
Devolve uma lista com n de nmeros primos.
Calcula a congruncia entre dois argumentos.
Retorna, em M, a congruncia entre os argumentos
Determina o resto da diviso de dois argumentos.
Retorna, em R, o resto da diviso de X por
Desenvolve todas as permutaes possveis dos
v pode ser uma matriz com os nmeros nos quais
Apostila de MATLAB 7.3
Pgina 38 de 114
Retorna o nmero de combinaes de n tomada
Devolve uma lista com uma quantidade desejada de
de nmeros primos.
Calcula a congruncia entre dois argumentos.
, a congruncia entre os argumentos X
Determina o resto da diviso de dois argumentos.
por Y.
Desenvolve todas as permutaes possveis dos
pode ser uma matriz com os nmeros nos quais
7.3. Nmeros Complexos
O MATLAB proporciona um conjunto de funes que
manuseio de nmeros complexos
complexo utilizam-se os operadores
exemplo, para definir a=5+8i

>> a=5+8i
a =
5.0000 + 8.0000i
>> a=5+8j
a =
5.0000 + 8.0000i

H outra forma de definir um nmero complexo no MATLAB, atravs
da funo complex. A sua vantagem est na maior liberdade que se tem para
alterar a parte imaginria, real, mdulo ou at mesmo a fase do nmero, no
ponto de vista computacional

complex
Definio: Retorna um nmero complexo a partir da sua parte real e
da sua parte imaginria.
Sintaxe:
c = complex(a,b)
e parte imaginria b.

Quando se deseja trabalhar com mdulo, ngulo de fase, conjugado,
ou entre outros, tornam
funo adequada. Na
possibilitam isso.




Apostila de MATLAB 7.3
Pgina
Nmeros Complexos
O MATLAB proporciona um conjunto de funes que
manuseio de nmeros complexos. Inicialmente, para definir um nmero
se os operadores i e j (voltado mais para a engenharia). Por
a=5+8i , faz-se:
.0000i
.0000i
forma de definir um nmero complexo no MATLAB, atravs
. A sua vantagem est na maior liberdade que se tem para
alterar a parte imaginria, real, mdulo ou at mesmo a fase do nmero, no
computacional. A definio dessa funo descrita como:
Retorna um nmero complexo a partir da sua parte real e

c = complex(a,b) Retorna, em c, o nmero complexo de parte real
Quando se deseja trabalhar com mdulo, ngulo de fase, conjugado,
ou entre outros, tornam-se fceis de serem calculados quando se utiliza a
funo adequada. Na Tabela 2 sero denotadas algumas funes que
Apostila de MATLAB 7.3
Pgina 39 de 114
O MATLAB proporciona um conjunto de funes que auxilia o
Inicialmente, para definir um nmero
(voltado mais para a engenharia). Por
forma de definir um nmero complexo no MATLAB, atravs
. A sua vantagem est na maior liberdade que se tem para
alterar a parte imaginria, real, mdulo ou at mesmo a fase do nmero, no
finio dessa funo descrita como:
Retorna um nmero complexo a partir da sua parte real e
, o nmero complexo de parte real a
Quando se deseja trabalhar com mdulo, ngulo de fase, conjugado,
se fceis de serem calculados quando se utiliza a
sero denotadas algumas funes que
Tabela
Funo
abs(X) Retorna o mdulo do nmero complexo
angle(X) Retorna a fase do complexo
conj(X) Calcula o conjugado do nmero complexo
imag(X) Determina a parte imaginria de
real(X) Determina a parte real de

Exerccio 7- Determine todos os parmetros intrnsecos ao nmero
complexo
(5 3 )
9
i
e
+
.
7.4. Funes Trigonomtricas
Quando trabalhamos com trigonometria, o MATLAB dispe de funes
que operam neste ramo matemtico.
que possuem este fim.

Funo
cos(X) Cosseno do argumento
sin(X) Seno do argumento
tan(X) Tangente do argumento
sec(X) Secante do argumento
csc(X) Cossecante do argumento
cot(X) Cotangente do argumento

Veja acima que estas funes retornam um valor correspondente a um
argumento em radianos. Quando
grau, basta utilizar o sufixo

Apostila de MATLAB 7.3
Pgina
Tabela 2 Funes com nmeros complexos.
Descrio
Retorna o mdulo do nmero complexo X
Retorna a fase do complexo X
Calcula o conjugado do nmero complexo X
Determina a parte imaginria de X
Determina a parte real de X
Determine todos os parmetros intrnsecos ao nmero
Funes Trigonomtricas
Quando trabalhamos com trigonometria, o MATLAB dispe de funes
que operam neste ramo matemtico. Tabela 3 resume bem algumas funes
Tabela 3 Funes trigonomtricas.
Descrio
Cosseno do argumento X em radianos
Seno do argumento X em radianos
Tangente do argumento X em radianos
Secante do argumento X em radianos
Cossecante do argumento X em radianos
Cotangente do argumento X em radianos
Veja acima que estas funes retornam um valor correspondente a um
argumento em radianos. Quando for desejado entrar com um argumento em
grau, basta utilizar o sufixo d em cada funo. Por exemplo, o seno de 30:
Apostila de MATLAB 7.3
Pgina 40 de 114
Determine todos os parmetros intrnsecos ao nmero
Quando trabalhamos com trigonometria, o MATLAB dispe de funes
resume bem algumas funes
Veja acima que estas funes retornam um valor correspondente a um
entrar com um argumento em
em cada funo. Por exemplo, o seno de 30:
>> sind(30)
ans =
0.5000

Entretanto, quando deseja calcular o arco correspondente a um valor
pra uma dada funo, basta utilizar o prefixo
exemplo, determinemos o arco

>> atan(1)
ans =
0.7854

Caso queiramos saber em grau, faramos:

>> atand(1)
ans =
45

Por fim, quando se deseja determinar a funo hiperblica, basta
utilizar o sufixo h na funo dada. Vejamos no comando a seguir:

>> cosh(3)
ans =
10.0677

De fato, o resultado coerente, pois:

>> (exp(3)+exp(
ans =
10.0677

A Tabela 4 resume bem o uso de sufixo e prefixo nas funes
trigonomtricas:

Apostila de MATLAB 7.3
Pgina
Entretanto, quando deseja calcular o arco correspondente a um valor
pra uma dada funo, basta utilizar o prefixo a diante as funes. Como
exemplo, determinemos o arco-tangente de 1 em radianos:
Caso queiramos saber em grau, faramos:
Por fim, quando se deseja determinar a funo hiperblica, basta
na funo dada. Vejamos no comando a seguir:
De fato, o resultado coerente, pois:
>> (exp(3)+exp(-3))/2
resume bem o uso de sufixo e prefixo nas funes
Apostila de MATLAB 7.3
Pgina 41 de 114
Entretanto, quando deseja calcular o arco correspondente a um valor
diante as funes. Como
Por fim, quando se deseja determinar a funo hiperblica, basta
na funo dada. Vejamos no comando a seguir:
resume bem o uso de sufixo e prefixo nas funes
Tabela 4 Uso de sufixo e prefixo nas funes trigonomtricas.
Prefixo Sufixo
a
-
-
d Determina com um argumento em graus
-
h
7.5. Aproximao Inteira
Na biblioteca de funes do MATLAB, h uma variedade que trabalha
no intuito do arredondamento de nmeros. Indubitavelmente, a mais importante
a round, que arredonda para o inteiro mais prximo. Obviamente, esta
importncia depende do ambiente prtico no
submetida. Abaixo segue uma lista de funes que tratam com aproximaes
numricas.

round
Definio: Arredonda os elementos de uma matriz ou de um vetor para
o inteiro mais prximo desses elementos. Tambm vlido para nmeros
complexos.
Sintaxe:
Y = round(X) Retorna, em
elementos de X.

ceil
Definio: Arredonda os elementos de uma matriz ou de um vetor para
o inteiro imediatamente maior que os respectivos elementos .
Sintaxe:
B = ceil(A) Retorna, em
elementos de A.

floor
Apostila de MATLAB 7.3
Pgina
Uso de sufixo e prefixo nas funes trigonomtricas.
Descrio
Determina o arco de um valor
Determina com um argumento em graus
Determina a funo hiperblica
Aproximao Inteira
Na biblioteca de funes do MATLAB, h uma variedade que trabalha
no intuito do arredondamento de nmeros. Indubitavelmente, a mais importante
, que arredonda para o inteiro mais prximo. Obviamente, esta
importncia depende do ambiente prtico no qual a funo est sendo
submetida. Abaixo segue uma lista de funes que tratam com aproximaes
Arredonda os elementos de uma matriz ou de um vetor para
o inteiro mais prximo desses elementos. Tambm vlido para nmeros
Retorna, em Y, os inteiros mais prximos dos
Arredonda os elementos de uma matriz ou de um vetor para
o inteiro imediatamente maior que os respectivos elementos .
Retorna, em B, os inteiros imediatamente maiores que os
Apostila de MATLAB 7.3
Pgina 42 de 114
Uso de sufixo e prefixo nas funes trigonomtricas.
Exemplo
atan
cosd
sinh
Na biblioteca de funes do MATLAB, h uma variedade que trabalha
no intuito do arredondamento de nmeros. Indubitavelmente, a mais importante
, que arredonda para o inteiro mais prximo. Obviamente, esta
qual a funo est sendo
submetida. Abaixo segue uma lista de funes que tratam com aproximaes
Arredonda os elementos de uma matriz ou de um vetor para
o inteiro mais prximo desses elementos. Tambm vlido para nmeros
, os inteiros mais prximos dos
Arredonda os elementos de uma matriz ou de um vetor para
, os inteiros imediatamente maiores que os
Definio: Arredonda os elementos de uma matriz ou de um vetor para
o inteiro imediatamente menor que os respectivos elementos.
Sintaxe:
B = floor(A) Retorna, em
os elementos de A.


fix
Definio: Arredonda os elementos de uma matriz ou de um vetor para
o inteiro mais prximo de tal modo que esteja em direo ao zero.
Sintaxe:
B = fix(A) Retorna, em
zero, dos elementos de A

Apostila de MATLAB 7.3
Pgina
Arredonda os elementos de uma matriz ou de um vetor para
o inteiro imediatamente menor que os respectivos elementos.
Retorna, em B, os inteiros imediatamente menores que
Arredonda os elementos de uma matriz ou de um vetor para
o inteiro mais prximo de tal modo que esteja em direo ao zero.
Retorna, em B, os inteiros mais prximos, em direo ao
A.

Apostila de MATLAB 7.3
Pgina 43 de 114
Arredonda os elementos de uma matriz ou de um vetor para
, os inteiros imediatamente menores que
Arredonda os elementos de uma matriz ou de um vetor para
o inteiro mais prximo de tal modo que esteja em direo ao zero.
, os inteiros mais prximos, em direo ao
8. GRFICOS
8.1. Grficos Bidimensionais
ezplot
Definio: Plota a expresso
2 2 x < < . Observe a
Sintaxe:
ezplot(f) Plota a expresso
>> ezplot('sin(x)')

Figura

plot
Definio: Plota as colunas de um vetor
elemento, se o vetor for real. Se for complexo,
imaginria de cada elemento
Sintaxe:
plot(X) Se X for real, plota as colunas de
elemento.
-6 -4
-1
-0.5
0
0.5
1
Apostila de MATLAB 7.3
Pgina
Grficos Bidimensionais
Plota a expresso simblica ( ) f x no domnio padro
Observe a Figura 9.
Plota a expresso ( ) f x .
ezplot('sin(x)')
Figura 9 Grfico sin(x) gerado pela funo ezplot.
Plota as colunas de um vetor versus os ndices de cada
vetor for real. Se for complexo, plota a parte real pela parte
imaginria de cada elemento. Observe a Figura 10.
for real, plota as colunas de X pelos ndices de cada
-2 0 2 4
x
sin(x)
Apostila de MATLAB 7.3
Pgina 44 de 114
no domnio padro

os ndices de cada
plota a parte real pela parte
pelos ndices de cada
6
plot(X) Se X for complexo, plota a parte real pela parte imaginria de
cada elemento. equivalente a
plot(X,Y) Plota os elementos de
>> t = 0:pi/50:10*pi;
>> plot(t,sin(t))
Figura

line
Definio: Cria uma linha no grfico atual. Observe a
Sintaxe:
line(X,Y) Cria uma linha definida nos vetores
line(X,Y,Z) Cria uma linha no espao tridimensional.

>> x=-2:0.01:5;
>> line(x,exp(x))
0 5
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Apostila de MATLAB 7.3
Pgina
for complexo, plota a parte real pela parte imaginria de
cada elemento. equivalente a plot(real(X),imag(X)).
Plota os elementos de X pelos de Y.
>> t = 0:pi/50:10*pi;
>> plot(t,sin(t))
Figura 10 Grfico sin(t) gerado pela funo plot.
Cria uma linha no grfico atual. Observe a Figura
Cria uma linha definida nos vetores X e Y no grfico atual.
Cria uma linha no espao tridimensional.
2:0.01:5;
>> line(x,exp(x))
10 15 20 25 30
Apostila de MATLAB 7.3
Pgina 45 de 114
for complexo, plota a parte real pela parte imaginria de

Figura 11.
no grfico atual.
35
Figura

stem
Definio: Plota uma seqncia de dados discretos. Observe a
12.
Sintaxe:
stem(Y) Plota a seqncia de dados do vetor
discreto ao longo do eixo
stem(X,Y) Plota
devem ser vetores ou matrizes de mesmo tamanho.

>> x=-4:4;
>> y=exp(x);
>> stem(y)
-2 -1
0
50
100
150
Apostila de MATLAB 7.3
Pgina
Figura 11 Grfico e
x
gerado pela funo line.
Plota uma seqncia de dados discretos. Observe a
Plota a seqncia de dados do vetor Y em um domnio
discreto ao longo do eixo-x.
Plota X em funo de Y em um domnio discreto.
devem ser vetores ou matrizes de mesmo tamanho.
0 1 2 3 4 5
Apostila de MATLAB 7.3
Pgina 46 de 114

Plota uma seqncia de dados discretos. Observe a Figura
em um domnio
em um domnio discreto. X e Y
5
Figura

compass
Definio: Plota vetores de componentes cartesianas a partir da
origem de um grfico polar. Observe a
Sintaxe:
compass(U,V)
partindo da origem do grfico polar.

>> compass(2,3)
1 2
0
10
20
30
40
50
60
Apostila de MATLAB 7.3
Pgina
Figura 12 Grfico e
x
gerado pela funo stem.
Plota vetores de componentes cartesianas a partir da
origem de um grfico polar. Observe a Figura 13.
Plota o vetor de componentes cartesianas
partindo da origem do grfico polar.
>> compass(2,3)
3 4 5 6 7 8
Apostila de MATLAB 7.3
Pgina 47 de 114

Plota vetores de componentes cartesianas a partir da
Plota o vetor de componentes cartesianas U e V
9
Figura 13

8.2. Grficos Tridimensionais
ezplot3
Definio: Plota uma curva espacial de trs equaes paramtricas no
domnio padro 0 2 t < <
Sintaxe:
ezplot3(x,y,z)
>> ezplot3('cos(t)','sin(t)','t')
210
150
180
Apostila de MATLAB 7.3
Pgina
13 Grfico polar gerado pela funo compass.
Grficos Tridimensionais
Plota uma curva espacial de trs equaes paramtricas no
0 2 . Observe a Figura 14.
Plota a curva paramtrica ( ) x x t = , y y t =
>> ezplot3('cos(t)','sin(t)','t')
1
2
3
4
30
210
60
240
90
270
120
300
150
330
0
Apostila de MATLAB 7.3
Pgina 48 de 114

Plota uma curva espacial de trs equaes paramtricas no
( ) y y t e ( ) z z t = .
Figura 14

plot3
Definio: Plota tridimensionalmente um grfico.
Sintaxe:
plot(X,Y,Z) Plota uma ou mais linhas no espao tridimensional
atravs de pontos cujas coordenadas so elementos dos vetores ou matrizes
X,Y e Z.

>> t = 0:pi/50:10*pi;
>> plot3(cos(t),sin(t),t)
0
0.5
1
0
1
2
3
4
5
6
7
y
z
Apostila de MATLAB 7.3
Pgina
Grfico cos(t), sin(t), t gerado pela funo ezplot3.
Plota tridimensionalmente um grfico. Observe a
Plota uma ou mais linhas no espao tridimensional
atravs de pontos cujas coordenadas so elementos dos vetores ou matrizes
>> t = 0:pi/50:10*pi;
>> plot3(cos(t),sin(t),t)
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
-1
-0.5
x
x = cos(t), y = sin(t), z = t
Apostila de MATLAB 7.3
Pgina 49 de 114


Observe a Figura 15.
Plota uma ou mais linhas no espao tridimensional
atravs de pontos cujas coordenadas so elementos dos vetores ou matrizes
0.8
1
Figura 15
ezsurf
Definio: Plota a superfcie de um
variveis no domnio padro
Sintaxe:
ezsurf(X,Y,Z)
( ) , z z s t = no domnio 2 2 < <
>> ezsurf('1/sqrt(x^2 + y^2)')




0
0.5
1
0
5
10
15
20
25
30
35
Apostila de MATLAB 7.3
Pgina
Grfico cos(t), sin(t), t gerado pela funo plot3.
Plota a superfcie de um grfico de uma funo de duas
variveis no domnio padro 2 2 x < < e 2 2 y < < . Observe a
Plota a superfcie paramtrica ( ) , x x s t =
2 2 s < < e 2 2 t < < .
>> ezsurf('1/sqrt(x^2 + y^2)')
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
-1
-0.5
Apostila de MATLAB 7.3
Pgina 50 de 114

grfico de uma funo de duas
Observe a Figura 16.
x x s t , ( ) , y y s t = e
0.6
0.8
1
Figura 16
meshgrid
Definio: Prepara a criao de uma superfcie de um grfico
tridimensional.
Sintaxe:
[X,Y] = meshgrid(x,y)
vetores x e y em matrizes de vetores
preparar a plotagem de superfcie de um grfico tridimensional de uma funo
de duas variveis.

>> [X,Y]=meshgrid(
>> Z=1./(sqrt(X.^2+Y.^2));

surf
Definio: Plota a superfcie de um
variveis cujo domnio determinado pelo usurio
Sintaxe:
surf(X,Y,Z) Plota a superfcie paramtrica

0
2
4
6
0
1
2
3
4
5
6
7
y
Apostila de MATLAB 7.3
Pgina
Superfcie
2 2
1
x y +
gerada pela funo ezsurf.
Prepara a criao de uma superfcie de um grfico
[X,Y] = meshgrid(x,y) Transforma o domnio especificado pelos
em matrizes de vetores X e Y, as quais podem ser usadas para
preparar a plotagem de superfcie de um grfico tridimensional de uma funo
[X,Y]=meshgrid(-6:0.1:6,-6:0.1:6);
>> Z=1./(sqrt(X.^2+Y.^2));
Plota a superfcie de um grfico de uma funo de duas
cujo domnio determinado pelo usurio. Observe a Figura
Plota a superfcie paramtrica de Z em funo de
-6
-4
-2
0
2
-6
-4
-2
x
1/sqrt(x
2
+ y
2
)
Apostila de MATLAB 7.3
Pgina 51 de 114


Prepara a criao de uma superfcie de um grfico
nio especificado pelos
, as quais podem ser usadas para
preparar a plotagem de superfcie de um grfico tridimensional de uma funo
grfico de uma funo de duas
Figura 17.
em funo de X e Y.
4
6
>> surf(X,Y,Z)



Figura
8.3. Configurao
text
Definio: Cria objetos de texto em locais especficos do grfico.
Observe a Figura 18.
Sintaxe:
text(x,y,string)
das mais diversas formas
>> plot(0:pi/20:2*pi,sin(0:pi/20:2*pi))
>> text(pi,0,'
2
4
6
0
2
4
6
8
10
Apostila de MATLAB 7.3
Pgina

Figura 17 Superfcie
2 2
1
x y +
gerada pela funo surf
Configurao
Cria objetos de texto em locais especficos do grfico.
Escreve string no local (x,y). Pode-se modif
das mais diversas formas.
>> plot(0:pi/20:2*pi,sin(0:pi/20:2*pi))
text(pi,0,' \leftarrow sin(\pi)','FontSize',18)

-6
-4
-2
0
2
-6
-4
-2
0
Apostila de MATLAB 7.3
Pgina 52 de 114

surf.
Cria objetos de texto em locais especficos do grfico.
se modificar string

4
6
Figura 18 Grfico sin(x)
title
Definio: D um ttulo ao grfico. Observe a
Sintaxe:
title(string) D o ttulo

>> compass(2,3)
>> title('Grfico Polar')
0 1
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Apostila de MATLAB 7.3
Pgina
sin(x) gerado pela funo plot com texto gerado pela funo

D um ttulo ao grfico. Observe a Figura 19.
D o ttulo string ao grfico atual.
>> compass(2,3)
>> title('Grfico Polar')
2 3 4 5 6
sin()
Apostila de MATLAB 7.3
Pgina 53 de 114

com texto gerado pela funo text.


7
Figura 19 Grfico polar gerado pela funo
title.

axis
Definio: Determina os limites dos eixos coordenados
Observe a Figura 20.
Sintaxe:
axis([xmin xmax ymin ymax zmin zmax])
xmax, o eixo Y de ymin a

>> t = 0:pi/50:10*pi;
>> plot3(cos(t),sin(t),t)
>> axis([-1.5 1.5
210
150
180
Apostila de MATLAB 7.3
Pgina
Grfico polar gerado pela funo compass com ttulo gerado pela funo
Determina os limites dos eixos coordenados X
xis([xmin xmax ymin ymax zmin zmax]) define o eixo
a ymax e o eixo Z de zmin a zmax.
>> t = 0:pi/50:10*pi;
>> plot3(cos(t),sin(t),t)
1.5 1.5 -1.5 1.5 -1 34])
1
2
3
4
30
210
60
240
90
270
120
300
150
330
0
Grfico Polar
Apostila de MATLAB 7.3
Pgina 54 de 114

com ttulo gerado pela funo
X, Y e Z.
define o eixo X de xmin a
Figura
funo
grid
Definio: Adiciona ou remove as linhas de grade em um grfico.
Observe a Figura 21.
Sintaxe:
grid on Adiciona as linhas de grade em um grfico.
grid off Remove as linhas de grade em um grfico.

>> t = 0:pi/50:10*pi;
>> plot3(cos(t),sin(t),t)
>> grid on

0
0.5
1
0
5
10
15
20
25
30
35
Apostila de MATLAB 7.3
Pgina
Figura 20 Grfico cos(t), sin(t), t gerado pela
funo plot3 com eixos ajustados pela funo axis.
Adiciona ou remove as linhas de grade em um grfico.
Adiciona as linhas de grade em um grfico.
Remove as linhas de grade em um grfico.
>> t = 0:pi/50:10*pi;
>> plot3(cos(t),sin(t),t)
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
-1
-0.5
Apostila de MATLAB 7.3
Pgina 55 de 114

Adiciona ou remove as linhas de grade em um grfico.
0.6
0.8
1
Figura
funo plot3

hold
Definio: Determina se objetos so adicionados ao grfico ou se
substituem o existente. Observe a
Sintaxe:
hold on Adiciona objetos no mesmo grfico
hold off Substitui os objetos existentes em um grfico pelos atuais.

>> x=-6:0.01:6;
>> y=sin(x);
>> plot(x,y)
>> hold on
>> t=-6:0.01:2;
>> k=exp(t);
>> plot(t,k)
0
0.5
1
0
5
10
15
20
25
30
35
Apostila de MATLAB 7.3
Pgina
Figura 21 Grfico cos(t), sin(t), t gerado pela
plot3 com linhas de grade geradas pela funo grid.
Determina se objetos so adicionados ao grfico ou se
substituem o existente. Observe a Figura 22.
Adiciona objetos no mesmo grfico
Substitui os objetos existentes em um grfico pelos atuais.
6:0.01:6;
6:0.01:2;
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
-1
-0.5
Apostila de MATLAB 7.3
Pgina 56 de 114

Determina se objetos so adicionados ao grfico ou se
Substitui os objetos existentes em um grfico pelos atuais.
0.6
0.8
1
Figura 22 Grficos
respectivamente e colocados na mesma janela de grfico pela funo

legend
Definio: Adiciona uma legenda ao grfico. Observe a
Sintaxe:
legend(string1,string2)
grfico atual.

>> x=-6:0.01:6;
>> y=sin(x);
>> plot(x,y)
>> hold on
>> t=-6:0.01:2;
>> k=exp(t);
>> plot(t,k)
>> legend('Grfico 1: y=sen(x)','Grfico 2: y=exp(x)')
-6 -4
-1
0
1
2
3
4
5
6
7
8
Apostila de MATLAB 7.3
Pgina
Grficos sin(x) e e
x
gerados pela funo plot e ezplot
respectivamente e colocados na mesma janela de grfico pela funo
Adiciona uma legenda ao grfico. Observe a Figura
egend(string1,string2) Adiciona as legendas string1
6:0.01:6;
6:0.01:2;
>> legend('Grfico 1: y=sen(x)','Grfico 2: y=exp(x)')
-2 0 2 4
Apostila de MATLAB 7.3
Pgina 57 de 114

ezplot
respectivamente e colocados na mesma janela de grfico pela funo hold.
Figura 23.
e string2 ao
>> legend('Grfico 1: y=sen(x)','Grfico 2: y=exp(x)')
6
Figura 23 Grficos

xlabel, ylabel, zlabel
Definio: D um ttulo aos eixos
Sintaxe:
xlabel(string)
ylabel(string)
zlabel(string)

>> t = 0:pi/50:10*pi;
>> plot3(cos(t),sin(t),t)
>> xlabel('x=cos(t)')
>> ylabel('y=sin(t)')
>> zlabel('z=t')
-6 -4
-1
0
1
2
3
4
5
6
7
8

Apostila de MATLAB 7.3
Pgina
Grficos sin(x) e e
x
gerados pela funo plot com legenda.

D um ttulo aos eixos X, Y e Z. Observe a Figura
D o ttulo string ao eixo X.
D o ttulo string ao eixo Y.
D o ttulo string ao eixo Z.
>> t = 0:pi/50:10*pi;
>> plot3(cos(t),sin(t),t)
>> xlabel('x=cos(t)')
>> ylabel('y=sin(t)')
>> zlabel('z=t')
-2 0 2 4
Grfico 1: y=sen(x)
Grfico 2: y=exp(x)
Apostila de MATLAB 7.3
Pgina 58 de 114

com legenda.
Figura 24.
6

Grfico 1: y=sen(x)
Grfico 2: y=exp(x)
Figura 24 Grfico cos(t), sin(t), t

xlim, ylim, zlim
Definio: Estipula os limites dos eixos
Sintaxe:
xlim([xmin xmax])
ylim([ymin ymax])
zlim([zmin zmax])

>> t = 0:pi/50:10*pi;
>> plot3(cos(t),sin(t),t)
>> xlim([-1.5 1.5])
>> ylim([-1.5 1.5])
>> zlim([-1 34])
0
0.5
1
0
5
10
15
20
25
30
35
y=sin(t)
z
=
t
Apostila de MATLAB 7.3
Pgina
cos(t), sin(t), t gerado pela funo plot3 com ttulos nos eixos coordenados.
Estipula os limites dos eixos X,Y e Z. Observe a
lim([xmin xmax]) define o eixo X de xmin a xmax.
lim([ymin ymax]) define o eixo Y de ymin a ymax.
lim([zmin zmax]) define o eixo Z de zmin a zmax.
>> t = 0:pi/50:10*pi;
>> plot3(cos(t),sin(t),t)
1.5 1.5])
1.5 1.5])
1 34])
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
-1
-0.5
x=cos(t)
Apostila de MATLAB 7.3
Pgina 59 de 114

com ttulos nos eixos coordenados.
. Observe a Figura 25.
0.6
0.8
1
Figura 25
plot3 com eixos ajustados pelas funes

figure
Definio: Cria uma nova janela para plotar grficos.
Sintaxe:
figure Abre uma nova janela de grfico, definindo
atual.
subplot
Definio: Divide a janela do grfico em uma matriz definida pelo
usurio, podendo trabalhar com qualquer um. Observe a
Sintaxe:
h = subplot(m,n,p)
plotando o grfico na posio
inicia-se no sentido anti-horrio do grfico superior esquerdo.
subplot(m,n,p,'replace')
especificado, substituindo por outro grfico desejado.
>> subplot(2,1,1),ezplot('sin(x)')
>> subplot(2,1,2),ezplot('exp(x)')
0
0.5
1
1.5
0
5
10
15
20
25
30
Apostila de MATLAB 7.3
Pgina
25 Grfico cos(t), sin(t), t gerado pela funo
com eixos ajustados pelas funes xlim, ylim e zlim.

Cria uma nova janela para plotar grficos.
Abre uma nova janela de grfico, definindo-a como janela
Divide a janela do grfico em uma matriz definida pelo
usurio, podendo trabalhar com qualquer um. Observe a Figura 26
h = subplot(m,n,p) ( ou subplot(mnp)) Divide em m linhas,
plotando o grfico na posio p. Caso tenha uma matriz retangular, a contagem
horrio do grfico superior esquerdo.
subplot(m,n,p,'replace') Se o grfico j existe, deleta o grfico
especificado, substituindo por outro grfico desejado.
>> subplot(2,1,1),ezplot('sin(x)')
>> subplot(2,1,2),ezplot('exp(x)')
-1.5
-1
-0.5
0
0.5
-1.5
-1
-0.5
Apostila de MATLAB 7.3
Pgina 60 de 114

a como janela
Divide a janela do grfico em uma matriz definida pelo
26.
linhas, n colunas,
. Caso tenha uma matriz retangular, a contagem
fico j existe, deleta o grfico
1
1.5

Figura 26 Janela de grfico dividida atravs da funo

Exerccio 8- Plote as funes a seguir com os respectivos comandos e de
acordo com cada item:
stem.
a) Todas as funes no mesmo grfico;
b) Cada funo em uma janela diferen
c) Todas as funes na mesma janela, mas em grficos diferentes.

Exemplo 3- Criao de arquivo em formato AVI. Observe as
Figura 28.
aviobj=avifile('Filme Seno.avi','fps',50);
hold on;
grid on;
x=-4*pi:0.1:4*pi;
for k=1:1:size(x,2)
xx=[x(k) x(k+1)]
yy=[sin(x(k)) sin(x(k+1))];
h=plot(xx,yy);
set(h,'EraseMode','xor');
-6 -4
-1
-0.5
0
0.5
1
-4 -3
0
50
100
150
200
250
Apostila de MATLAB 7.3
Pgina
Janela de grfico dividida atravs da funo subplot
Plote as funes a seguir com os respectivos comandos e de
acordo com cada item: ( ) 5sin x plot; 4sin
3
x
| |
+
|
\
ezplot;
Todas as funes no mesmo grfico;
Cada funo em uma janela diferente;
Todas as funes na mesma janela, mas em grficos diferentes.
Criao de arquivo em formato AVI. Observe as
aviobj=avifile('Filme Seno.avi','fps',50);
4*pi:0.1:4*pi;
:size(x,2)-1
xx=[x(k) x(k+1)];
yy=[sin(x(k)) sin(x(k+1))];
h=plot(xx,yy);
set(h,'EraseMode','xor');
-2 0 2 4
x
sin(x)
-2 -1 0 1 2 3 4 5
x
exp(x)
Apostila de MATLAB 7.3
Pgina 61 de 114

subplot.
Plote as funes a seguir com os respectivos comandos e de
ezplot; ( ) 3sin 2x
Todas as funes na mesma janela, mas em grficos diferentes.
Criao de arquivo em formato AVI. Observe as Figura 27 e
6
5 6
axis ([-10 10
frame=getframe(gca);
aviobj=addframe(aviobj,frame);
end
aviobj=close(aviobj);


Figura 27 Janela de criao de arquivo em formato AVI do grfico

aviobj=avifile('Complexo.avi','fps',50);
hold off;
grid on;
t=0:0.01:4*pi;
x=cos(t);
y=sin(t);
for k=1:1:length(t)
c=x(k)+i*y(k);
h=compass(c);
set(h,'EraseMode','xor');
frame=getframe(gca);
aviobj=addframe(aviobj,frame);
end
aviobj = close(aviobj);

Apostila de MATLAB 7.3
Pgina
10 10 -1.5 1.5]);
frame=getframe(gca);
aviobj=addframe(aviobj,frame);
close(aviobj);
Janela de criao de arquivo em formato AVI do grfico sin(x)
aviobj=avifile('Complexo.avi','fps',50);

for k=1:1:length(t)
c=x(k)+i*y(k);
h=compass(c);
set(h,'EraseMode','xor');
frame=getframe(gca);
aviobj=addframe(aviobj,frame);
aviobj = close(aviobj);
Apostila de MATLAB 7.3
Pgina 62 de 114

sin(x).
Figura 28 Janela de criao de arquivo em formato AVI de grfico polar.

Apostila de MATLAB 7.3
Pgina
Janela de criao de arquivo em formato AVI de grfico polar.

Apostila de MATLAB 7.3
Pgina 63 de 114

Janela de criao de arquivo em formato AVI de grfico polar.
9. MATEMTICA SIMBLICA
H, em algumas situaes, a necessidade de se trabalhar com
variveis simbolicamente, pois possibilita uma viso mais geral sobre o
resultado de um problema.
que declara as variveis como simblica. Uma outra
transforma uma expresso para a forma literal. Mais detalhes dessas funes
so dadas a seguir:

syms
Definio: Determina que os argumentos acompanhados tero carter
simblico.
Sintaxe:
syms arg1 arg2 ...

sym
Definio: Define
Sintaxe:
S = sym(A)
x = sym('x')

Como exemplo, veja a diferena dessas duas funes executando os
comandos a seguir:

>> rho = sym('(1 + sqrt(5))/2')
>> syms x y
>> f = x^2*y + 5*x*sqrt(y)

Em alguns casos, quando se desejar determinar quais as variveis
simblicas numa expresso, usa
parmetros que so simblicos. Uma outra funo a
varivel declarada inicialmente simblica por uma
nmero. Suas Definioinies esto listadas abaixo:

Apostila de MATLAB 7.3
Pgina
ATEMTICA SIMBLICA
H, em algumas situaes, a necessidade de se trabalhar com
variveis simbolicamente, pois possibilita uma viso mais geral sobre o
resultado de um problema. Neste contexto, uma funo importante a
que declara as variveis como simblica. Uma outra funo a
transforma uma expresso para a forma literal. Mais detalhes dessas funes
Determina que os argumentos acompanhados tero carter
syms arg1 arg2 ...
ine variveis, expresses e objetos como simblicos
Como exemplo, veja a diferena dessas duas funes executando os
>> rho = sym('(1 + sqrt(5))/2')
>> f = x^2*y + 5*x*sqrt(y)
Em alguns casos, quando se desejar determinar quais as variveis
simblicas numa expresso, usa-se a funo findsym, que retorna os
parmetros que so simblicos. Uma outra funo a subs, que substitui a
varivel declarada inicialmente simblica por uma outra ou mesmo por um
nmero. Suas Definioinies esto listadas abaixo:
Apostila de MATLAB 7.3
Pgina 64 de 114
H, em algumas situaes, a necessidade de se trabalhar com
variveis simbolicamente, pois possibilita uma viso mais geral sobre o
ma funo importante a syms,
funo a sym, que
transforma uma expresso para a forma literal. Mais detalhes dessas funes
Determina que os argumentos acompanhados tero carter
variveis, expresses e objetos como simblicos.
Como exemplo, veja a diferena dessas duas funes executando os
Em alguns casos, quando se desejar determinar quais as variveis
, que retorna os
, que substitui a
outra ou mesmo por um
findsym
Definio: Determina as variveis simblicas em uma expresso.
Sintaxe:
findsym(S)
findsym(S,n)

subs
Definio: Substituio simblica em expresso simblica ou em
matriz.
Sintaxe:
R = subs(S)
R = subs(S, new)
R = subs(S,old,new)

Exemplo: Dado o procedimento abaixo:

y=3;w=30;
syms a b n t x z
f = x^n+y; g = sin(a*t + b)

Determine os parmetros que so simblicos em f e em g, assim como,
de acordo com a ordem das
pelo valor 2,3 para f e 4,7,1 para g, respectivamente.

Exerccio 9- Dado o procedimento abaixo:

y=3;w=30;
syms a b n t x z
f = x^n+y; g = sin(a*t + b)

Determine os parmetros que so simblicos em
em f, x por 2 e y por 3, e em

Apostila de MATLAB 7.3
Pgina
Determina as variveis simblicas em uma expresso.
Substituio simblica em expresso simblica ou em
R = subs(S, new)
R = subs(S,old,new)
Dado o procedimento abaixo:
syms a b n t x z
f = x^n+y; g = sin(a*t + b)-cosd(w);
Determine os parmetros que so simblicos em f e em g, assim como,
de acordo com a ordem das variveis simblicas que aparecer, substituir todos
pelo valor 2,3 para f e 4,7,1 para g, respectivamente.
Dado o procedimento abaixo:
syms a b n t x z
f = x^n+y; g = sin(a*t + b)-cosd(w);
Determine os parmetros que so simblicos em f e em
por 3, e em g, a por 4, t por 7 e b por 1.
Apostila de MATLAB 7.3
Pgina 65 de 114
Determina as variveis simblicas em uma expresso.
Substituio simblica em expresso simblica ou em
Determine os parmetros que so simblicos em f e em g, assim como,
variveis simblicas que aparecer, substituir todos
e em g. Substitua,
Exerccio 10- Implemente o mtodo das
resoluo de equaes


Apostila de MATLAB 7.3
Pgina
Implemente o mtodo das bisseces sucessivas para a
equaes no lineares.

Apostila de MATLAB 7.3
Pgina 66 de 114
sucessivas para a

10. OPERAES MATEMTICA
10.1. Expresses Numricas
Uma curiosidade
que contribuem para a fatorao, expanso, simplificaes e entre outros. O
quadro abaixo resume bem cada funo.

Funo
collect Reescreve a expresso como um polinmio
expand Expande a expresso em produtos e
horner Determina o fator em comum da expresso
factor Fatora o polinmio, se os coeficientes so racionais
simplify Simplifica as expresses, de forma mais geral.
compose Calcula a composio das funes
finverse Encontra a inversa funcional

O uso dessas funes bastante semelhante, por exemplo, dada a
expresso:
Para agrup-la de tal modo que possa ter uma organizao em relao
ao grau do polinmio, faz:

>> syms x
>> collect(x*(x*(x
ans =
-6+x^3-6*x^2+11*x
Exerccio 11- Verifique a relao trigonomtrica fundamental utilizando a
funo simplify, logo aps, determine a forma expandida de

Apostila de MATLAB 7.3
Pgina
OPERAES MATEMTICAS BSICAS
Expresses Numricas
Uma curiosidade que o MATLAB dispe de um conjunto de funes
que contribuem para a fatorao, expanso, simplificaes e entre outros. O
quadro abaixo resume bem cada funo.
Definio
Reescreve a expresso como um polinmio
Expande a expresso em produtos e somas
Determina o fator em comum da expresso
Fatora o polinmio, se os coeficientes so racionais
Simplifica as expresses, de forma mais geral.
Calcula a composio das funes
Encontra a inversa funcional da funo
uso dessas funes bastante semelhante, por exemplo, dada a
( ) ( )
6 11 6 x x x +
la de tal modo que possa ter uma organizao em relao
ao grau do polinmio, faz:
>> collect(x*(x*(x-6)+11)-6)
6*x^2+11*x
Verifique a relao trigonomtrica fundamental utilizando a
, logo aps, determine a forma expandida de tan( )
Apostila de MATLAB 7.3
Pgina 67 de 114
dispe de um conjunto de funes
que contribuem para a fatorao, expanso, simplificaes e entre outros. O
Fatora o polinmio, se os coeficientes so racionais
uso dessas funes bastante semelhante, por exemplo, dada a
la de tal modo que possa ter uma organizao em relao
Verifique a relao trigonomtrica fundamental utilizando a
tan( ) x y + .
Exerccio 12- Dado o polinmio
Determine os seguintes polinmios: (a)
10.2. Polinmios
Agora trataremos com os polinmios. Para definir um polinmio no
MATLAB, basta entrar com uma matriz linha, nos quais os elementos dela
representam os coeficientes do maior para o menor grau. Por exemplo, o
polinmio
3 2
8 4
5 9
5 7
x x x + +
lembrar que o polinmio pode ter elementos irracionais como, por exemplo,
ou .
As principais funes destinadas para os polinmios so descritas a
seguir.

poly
Definio: Determina os coeficientes do polinmio a partir de suas
razes. Caso a entrada seja uma matriz, este calcula o polinmio caracterstico
da matriz.
Sintaxe:
p = poly(A)
p = poly(r)

>> y=[-2 -1]
y =
-2 -1
>> z=poly(y)
z =
1 3 2
>> A=[1 5 3; 0
A =
1 5 3
0 -2 9
2 11
>> poly(A)
Apostila de MATLAB 7.3
Pgina
Dado o polinmio = +
2
( ) 2 3 5 f x x x e ( ) 7 g x x x
Determine os seguintes polinmios: (a) (b)
Polinmios
Agora trataremos com os polinmios. Para definir um polinmio no
MATLAB, basta entrar com uma matriz linha, nos quais os elementos dela
representam os coeficientes do maior para o menor grau. Por exemplo, o
8 4
5 7
x x x + + representado como p=[5 -9 8/5 4/7]. bom
lembrar que o polinmio pode ter elementos irracionais como, por exemplo,
As principais funes destinadas para os polinmios so descritas a
Determina os coeficientes do polinmio a partir de suas
razes. Caso a entrada seja uma matriz, este calcula o polinmio caracterstico
% Declara um vetor linha [-2
%z o polinmio (x+2)(x+1)=x+3x+2
%que tem como razes -2 e -1
1 3 2
>> A=[1 5 3; 0 -2 9; 2 11 -1]
%Declara matriz
1 5 3
2 9
2 11 -1
%calcula o seu polinmio caracterstico
Apostila de MATLAB 7.3
Pgina 68 de 114
2
( ) 7 g x x x = + .
(b) ( ) ( )
f g x
Agora trataremos com os polinmios. Para definir um polinmio no
MATLAB, basta entrar com uma matriz linha, nos quais os elementos dela
representam os coeficientes do maior para o menor grau. Por exemplo, o
9 8/5 4/7]. bom
lembrar que o polinmio pode ter elementos irracionais como, por exemplo, 2
As principais funes destinadas para os polinmios so descritas a
Determina os coeficientes do polinmio a partir de suas
razes. Caso a entrada seja uma matriz, este calcula o polinmio caracterstico
2 -1]
mio (x+2)(x+1)=x+3x+2

caracterstico
ans =
1.0000 2.0000

roots
Definio: Retorna
fornecido.
Sintaxe:
r = roots(c)

>> c=[1 3 2]
% x+3x+2
c =

1 3 2
>> x=roots(c)
e -1
%Observe a oposio entre as funes roots e poly
x =
-2
-1

polyval
Definio: Determina o valor do polinmio para uma determinada
entrada. Se a entrada for
para cada elemento.
Sintaxe:
y = polyval(p,X)
para cada elemento da matriz X.

>> polinomio=[1 5
polinomio =
1.0000 5.0000
>> a=[1 -1; 3 2.83]
a =
1.0000 -1.0000
3.0000 2.8300
>> valores=polyval(polinomio,a)
Apostila de MATLAB 7.3
Pgina
1.0000 2.0000 -106.0000 -5.0000
Retorna um vetor coluna com a(s) raiz(es) do polinmio
% declara um vetor correspondente ao polin
% x+3x+2
1 3 2
%Calcula as razes desse polinmio, que so
%Observe a oposio entre as funes roots e poly
Determina o valor do polinmio para uma determinada
entrada. Se a entrada for uma matriz, a funo retorna o valor do polinmio
) y receber os valores do polinmio desenvolvido
para cada elemento da matriz X.
>> polinomio=[1 5 -2 8 3.2] %polinmio=x
4
+5x
3
1.0000 5.0000 -2.0000 8.0000 3.2000
1; 3 2.83]

1.0000
3.0000 2.8300
>> valores=polyval(polinomio,a)
Apostila de MATLAB 7.3
Pgina 69 de 114
um vetor coluna com a(s) raiz(es) do polinmio
% declara um vetor correspondente ao polinmio
zes desse polinmio, que so -2
%Observe a oposio entre as funes roots e poly
Determina o valor do polinmio para uma determinada
uma matriz, a funo retorna o valor do polinmio
y receber os valores do polinmio desenvolvido
3
-2x+8x+3.2

valores =
15.2000 -10.8000
225.2000 187.2906
%valores(1,1)=

polyfit
Definio: Determina o polinmio interpolador com os pontos dados
por x e y com o grau n. Os coeficientes

Sintaxe:
p = polyfit(x,y,n)

>> x=[0: 0.1: 2.5];
>> y=sqrt(x);
>> polinomio_interpolador=polyfit(x,y,3)
>> pontos_interpoladores=polyval(polinomio_interpolador,x)
>> plot(x,y,'color','r')
>> hold on
>> plot(x,pontos_interpoladores)

Exerccio 13- So dados os pontos (1;
Exerccio 14- Determine o polin
Exerccio 15- Calcule as suas r
Exerccio 16- Destaque
3 x = .


10.3. Solucionan
Quando voc tiver um emaranhado de equaes, resultando em um
sistema, o MATLAB poder ser uma tima soluo.
voc ser capaz de economizar tempo e evitar resolver um tedioso sistema
braalmente. A declarao desta funo segue

Apostila de MATLAB 7.3
Pgina

10.8000
225.2000 187.2906
a(1,1)
4
+5a(1,1)
3
-2 a(1,1)+8 a(1,1)+3.2
Determina o polinmio interpolador com os pontos dados
Os coeficientes so retornados numa matriz linha.

>> x=[0: 0.1: 2.5];
polinomio_interpolador=polyfit(x,y,3);
>> pontos_interpoladores=polyval(polinomio_interpolador,x)
>> plot(x,y,'color','r')
>> plot(x,pontos_interpoladores)
So dados os pontos (1;-1), (2;-7), (5;-8) e (8;10).
Determine o polinmio que interpola estes pontos;
alcule as suas razes e o esboce em um grfico;
Destaque o ponto no qual se tem o valor do polinmio para
ndo Equaes ou Sistemas
Quando voc tiver um emaranhado de equaes, resultando em um
sistema, o MATLAB poder ser uma tima soluo. Ao utilizar a funo
voc ser capaz de economizar tempo e evitar resolver um tedioso sistema
braalmente. A declarao desta funo segue abaixo:
Apostila de MATLAB 7.3
Pgina 70 de 114
1)+3.2
Determina o polinmio interpolador com os pontos dados
so retornados numa matriz linha.
>> pontos_interpoladores=polyval(polinomio_interpolador,x);
8) e (8;10).
interpola estes pontos;
azes e o esboce em um grfico;
o ponto no qual se tem o valor do polinmio para
Quando voc tiver um emaranhado de equaes, resultando em um
Ao utilizar a funo solve,
voc ser capaz de economizar tempo e evitar resolver um tedioso sistema
solve
Definio: Determina o valor do polinmio para uma determinada
entrada. Quando a soluo armazenada em uma varivel, o retorno dado
em uma estrutura de dados.
Sintaxe:
solve(eq) Resolve a equao
solve(eq,var)
var.
solve(eq1,eq2,...,eqn)
g = solve(eq1,eq2,...,eqn,var1,var2,...,varn)
um sistema de solues em funo das variveis pr

Partindo para um mbito mais complexo, quando se trata de equaes
diferenciais, a funo destinada para este caso a

dsolve
Definio: Soluciona simbolicamente uma equao ou sistema de
equaes diferenciais ordinrias.
Sintaxe:
r = dsolve('eq1,eq2,...', 'cond1,cond2,...','v')
r = dsolve('eq1','eq2',...,'cond1','cond2',...,'v')
dsolve('eq1,eq2,...','cond1,cond2,...', 'v')

Exemplo 4- Determine a soluo de
>> dsolve('Dx =

Exerccio 17- Eu tinha o triplo da idade que tu tinhas, quando eu tinha a
idade que tu tens. Quando tu tiveres a minha idade, a diferena de
idades ser de duas dcadas
solve.

Exerccio 18- Sabe que a acelerao de
4 a x = , em que x representa a posio no instante
Apostila de MATLAB 7.3
Pgina
Determina o valor do polinmio para uma determinada
Quando a soluo armazenada em uma varivel, o retorno dado
em uma estrutura de dados.
Resolve a equao eq=0
Determina as solues de eq=0, em funo da varivel
solve(eq1,eq2,...,eqn) Resolve um sistema de equaes definidas.
g = solve(eq1,eq2,...,eqn,var1,var2,...,varn) Calcula as solues de
um sistema de solues em funo das variveis pr-definidas.
Partindo para um mbito mais complexo, quando se trata de equaes
diferenciais, a funo destinada para este caso a dsolve, definida abaixo:
Soluciona simbolicamente uma equao ou sistema de
equaes diferenciais ordinrias.
r = dsolve('eq1,eq2,...', 'cond1,cond2,...','v')
r = dsolve('eq1','eq2',...,'cond1','cond2',...,'v')
dsolve('eq1,eq2,...','cond1,cond2,...', 'v')
Determine a soluo de
dx
ax
dt
= .
>> dsolve('Dx = -a*x')
Eu tinha o triplo da idade que tu tinhas, quando eu tinha a
idade que tu tens. Quando tu tiveres a minha idade, a diferena de
de duas dcadas. Determine nossas idades utilizando
Sabe que a acelerao de um carro em uma
representa a posio no instante t . Determine
Apostila de MATLAB 7.3
Pgina 71 de 114
Determina o valor do polinmio para uma determinada
Quando a soluo armazenada em uma varivel, o retorno dado
, em funo da varivel
Resolve um sistema de equaes definidas.
Calcula as solues de

Partindo para um mbito mais complexo, quando se trata de equaes
, definida abaixo:
Soluciona simbolicamente uma equao ou sistema de
Eu tinha o triplo da idade que tu tinhas, quando eu tinha a
idade que tu tens. Quando tu tiveres a minha idade, a diferena de nossas
tilizando a funo
carro em uma estrada
Determine a posio
no instante , sabendo que este carro parte, no instante 0, do ponto 1,
sendo que o motorista parou ins
Considere todas as unidades no S.I

Apostila de MATLAB 7.3
Pgina
, sabendo que este carro parte, no instante 0, do ponto 1,
sendo que o motorista parou instantaneamente enquanto estava em
Considere todas as unidades no S.I.

Apostila de MATLAB 7.3
Pgina 72 de 114
, sabendo que este carro parte, no instante 0, do ponto 1,
tantaneamente enquanto estava em
2

.
11. CLCULO DIFERENCIAL
O MATLAB disponibiliza funes que facilitam a operao de certos
clculos que so difceis
limit so algumas delas, nas quais diferenciam, integram ou calculam o limite
de uma funo de acordo com os parmetros oferecidos, respectivamente.
Vejamos essas e outras funes a seguir:
11.1. Limites
limit
Definio: Determina o limite de uma expre
Sintaxe:
limit(F,x,a) calcula o limite de uma expresso simblica
tendendo a a;
limit(F,a) determina o limite de
tendendo a a;
limit(F) determina o limite com
limit(F,x,a,'right')
limit(F,x,a,'left')

Exemplo 5- Faa o seguinte limite pelo MATLAB:

>> limit('(abs(x^2)
11.2. Diferenciao
diff
Definio: Calcula a diferencial de uma funo/matriz dada.
Sintaxe:
diff(S) diferencia a expresso simblica
varivel simblica;
diff(S,'v') diferencia
Apostila de MATLAB 7.3
Pgina
DIFERENCIAL
O MATLAB disponibiliza funes que facilitam a operao de certos
difceis para o usurio. Por exemplo, a funo
so algumas delas, nas quais diferenciam, integram ou calculam o limite
de uma funo de acordo com os parmetros oferecidos, respectivamente.
Vejamos essas e outras funes a seguir:
Determina o limite de uma expresso simblica
calcula o limite de uma expresso simblica
determina o limite de F com uma varivel simblica
determina o limite com a = 0 como default;
limit(F,x,a,'right') calcula o limite com x tendendo a a pela direita;
calcula o limite com x tendendo a a pela esquerda;
Faa o seguinte limite pelo MATLAB:
2
2
1
1
lim
1
x
x
x
+


>> limit('(abs(x^2)-1)/(x^2-1)',x,1,'right')
Diferenciao
Calcula a diferencial de uma funo/matriz dada.
diferencia a expresso simblica S em funo de uma
diferencia S em torno de uma varivel simblica
Apostila de MATLAB 7.3
Pgina 73 de 114
O MATLAB disponibiliza funes que facilitam a operao de certos
para o usurio. Por exemplo, a funo diff(), int() e
so algumas delas, nas quais diferenciam, integram ou calculam o limite
de uma funo de acordo com os parmetros oferecidos, respectivamente.
sso simblica
calcula o limite de uma expresso simblica F com x
com uma varivel simblica
pela direita;
pela esquerda;
Calcula a diferencial de uma funo/matriz dada.
em funo de uma
em torno de uma varivel simblica v;
diff(S,n) diferencia, para um
diff(S,'v',n) diferencia em torno de uma varivel

Exemplo 6- Para determinar a derivada de 1
faz-se:

>> syms x;
>>f=sqrt(log(x)+exp(x));
>> diff(f)
ans =
1/2/(log(x)+exp(x))^(1/2)*(1/x+exp(x))
>> pretty(ans)
11.3. Integrao
int
Definio: Calcula integral de uma funo
Sintaxe:
int(S) integrao indefinida a funo
simblica j definida;
int(S,a,b) integra de forma definida a funo
int(S,v,a,b) integra de

Exemplo 7- Dado a funo

Indefinida
>> syms x
>> y=sqrt(x^2+5);
>> f=int(y,x)
1/2*x*(x^2+5)^(1/2)+5/2*asinh(1/5*5^(1/2)*x)

Definida de 2 a 5
>>g = int(y,x,2,5)

5/2*30^(1/2)+5/2*log(5^(1/2)+6^(1/2))
Apostila de MATLAB 7.3
Pgina
diferencia, para um n inteiro positivo, S por n vezes;
diferencia em torno de uma varivel v, S por
Para determinar a derivada de 1 ordem de ( ) ln( ) f x x e
>>f=sqrt(log(x)+exp(x));
1/2/(log(x)+exp(x))^(1/2)*(1/x+exp(x))

Integrao
Calcula integral de uma funo simblica dada.
integrao indefinida a funo S em respeito a uma varivel
integra de forma definida a funo S de a a b
integra de a a b em funo de uma varivel
Dado a funo
2
( ) 5 f x x = + , calcule a integral:
>> y=sqrt(x^2+5);

1/2*x*(x^2+5)^(1/2)+5/2*asinh(1/5*5^(1/2)*x)
>>g = int(y,x,2,5)
5/2*30^(1/2)+5/2*log(5^(1/2)+6^(1/2))-3-5/4*log(5)
Apostila de MATLAB 7.3
Pgina 74 de 114
vezes;
por n vezes.
( ) ln( )
x
f x x e = + ,
dada.
em respeito a uma varivel
b;
em funo de uma varivel v;


Caso a visualizao de f no seja satisfatria, usa
que transforma a sada de acordo com a represe
ilustra abaixo:

>> pretty(f)

Como a integral calculada de forma simblica, no calculado o
valor numrico da funo
ponto, como ao utilizar a funo
voc obtm:

>> eval(g)
11.4. Integrais definidas pela Regra
um mtodo utilizado
por trapzios entre um intervalo
n. Em representao matemtica, tem
( ) ( ) 2 ( ) ... 2 ( ) ( )
b
a
f x dx f x f x f x f x

em que
i
x representa o ponto no final de cada trapzio, sendo
n
x b = . No MATLAB a funo que possibilita
o trapz, definida abaixo:

trapz
Definio: Determina a integrao de uma funo a partir da Regra do
Trapzio.
Sintaxe:
Z = trapz(Y)
Z = trapz(X,Y)
Apostila de MATLAB 7.3
Pgina
Caso a visualizao de f no seja satisfatria, usa-se a funo
que transforma a sada de acordo com a representao matemtica, conforme
Como a integral calculada de forma simblica, no calculado o
valor numrico da funo g. Entretanto, o MATLAB no deixa a desejar neste
ponto, como ao utilizar a funo eval. Por exemplo, fazendo a instruo abaixo,
Integrais definidas pela Regra Trapezoidal
um mtodo utilizado quando a rea sob uma curva representada
por trapzios entre um intervalo [a,b] pr-definido, sendo o nmero de divises
. Em representao matemtica, tem-se:
(
0 1 1
( ) ( ) 2 ( ) ... 2 ( ) ( )
2
n n
b a
f x dx f x f x f x f x
n

= + + + +
representa o ponto no final de cada trapzio, sendo
No MATLAB a funo que possibilita integrao a partir deste mtodo

Determina a integrao de uma funo a partir da Regra do
Apostila de MATLAB 7.3
Pgina 75 de 114
se a funo pretty,
ntao matemtica, conforme
Como a integral calculada de forma simblica, no calculado o
. Entretanto, o MATLAB no deixa a desejar neste
. Por exemplo, fazendo a instruo abaixo,
quando a rea sob uma curva representada
definido, sendo o nmero de divises
) ( ) ( ) 2 ( ) ... 2 ( ) ( )
n n
f x dx f x f x f x f x
representa o ponto no final de cada trapzio, sendo
0
x a = e
a partir deste mtodo
Determina a integrao de uma funo a partir da Regra do
11.5. Integrais definidas pela Regra de Simpson
O mtodo de Simpson baseado
funo, na aproximao desses pontos em uma parbola. Ento, tomados
subintervalos, onde n par, e cuja extremidade da curva delimitada por
e por ( ) f b , logo, a integral de uma funo
[
0 1 2 3 2 1
( ) ( ) 4 ( ) 2 ( ) 4 ( ) ... 2 ( ) 4 ( ) ( )
3
b
a
b a
f x dx f x f x f x f x f x f x f x
n

+ + + + + + +

A maioria das calculadoras programadas utiliza e


utilizada em termos computacionais. No MATLAB, a funo encarrega
esse fim a quad, mostrada abaixo:

quad
Definio: Determina a integrao de uma funo a partir da Regra de
Simpson.
Sintaxe:
q = quad(fun,a,b)
q = quad(fun,a,b,tool)
retornar, sendo o default

bom destacar que fun deve ser uma funo do tipo arquivo.m. Por
exemplo, para calcular a integral de
seguinte:
Primeiro, se cria o arquivo.m correspondente
integrar, ou seja:

function y=funcao(x)
y=exp(-x^2);

Em seguida, basta utilizar a funo quad, conforme modelo abaixo:

>> quad('funcao',0,3)
ans =
0.8862

Apostila de MATLAB 7.3
Pgina
Integrais definidas pela Regra de Simpson
O mtodo de Simpson baseado, dado trs pontos sobre a curva da
o desses pontos em uma parbola. Ento, tomados
par, e cuja extremidade da curva delimitada por
, logo, a integral de uma funo ( ) f x denotada por:
0 1 2 3 2 1
( ) ( ) 4 ( ) 2 ( ) 4 ( ) ... 2 ( ) 4 ( ) ( )
n n n
f x dx f x f x f x f x f x f x f x

+ + + + + + +
A maioria das calculadoras programadas utiliza esta regra
utilizada em termos computacionais. No MATLAB, a funo encarrega
, mostrada abaixo:
Determina a integrao de uma funo a partir da Regra de
q = quad(fun,a,b)
q = quad(fun,a,b,tool) tool corresponde o erro que a integral
default de 10 3 - .
bom destacar que fun deve ser uma funo do tipo arquivo.m. Por
exemplo, para calcular a integral de
2
x
y e

= no intervalo de 0 a 3, faz
se cria o arquivo.m correspondente funo que deseja
function y=funcao(x)
Em seguida, basta utilizar a funo quad, conforme modelo abaixo:
>> quad('funcao',0,3)
Apostila de MATLAB 7.3
Pgina 76 de 114
, dado trs pontos sobre a curva da
o desses pontos em uma parbola. Ento, tomados n
par, e cuja extremidade da curva delimitada por ( ) f a

]
0 1 2 3 2 1
( ) ( ) 4 ( ) 2 ( ) 4 ( ) ... 2 ( ) 4 ( ) ( )
n n n
f x dx f x f x f x f x f x f x f x

+ + + + + + +
sta regra, que mais
utilizada em termos computacionais. No MATLAB, a funo encarregada para
Determina a integrao de uma funo a partir da Regra de
o erro que a integral
bom destacar que fun deve ser uma funo do tipo arquivo.m. Por
no intervalo de 0 a 3, faz-se o
funo que deseja
Em seguida, basta utilizar a funo quad, conforme modelo abaixo:
11.6. Integrao
O MATLAB possui a funo
uma funo, conforme definio abaixo:

dblquad
Definio: Determina a integrao dupla de uma funo.
Sintaxe:
q = dblquad(fun,xmin,xmax,ymin,ymax)
q = dblquad(fun,xmin,xmax,ymin,ymax,tol)
deseja calcular, sendo o default
11.7. Integrao
Tambm possvel calcular a integral tripla de uma funo no
MATLAB, utilizando neste caso a funo
abaixo:

triplequad
Definio: Determina a
Sintaxe:
triplequad(fun,xmin,xmax,ymin,ymax,zmin,zmax)
triplequad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol)
que deseja calcular, sendo o default
11.8. Outras funes
gradient
Definio: Determina o gradiente numericamente.
Sintaxe:
FX = gradient(F)
a x(default).
[FX,FY,FZ,...] = gradient(F)
y, z..., respectivamente.
Apostila de MATLAB 7.3
Pgina
o Dupla
O MATLAB possui a funo dblquad que determina a integral dupla de
uma funo, conforme definio abaixo:
Determina a integrao dupla de uma funo.
q = dblquad(fun,xmin,xmax,ymin,ymax)
q = dblquad(fun,xmin,xmax,ymin,ymax,tol) tol a preciso que
calcular, sendo o default
6
10

.
o Tripla
Tambm possvel calcular a integral tripla de uma funo no
MATLAB, utilizando neste caso a funo triplequad, cuja definio segue
Determina a integrao tripla de uma funo.
triplequad(fun,xmin,xmax,ymin,ymax,zmin,zmax)
triplequad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol) tol
que deseja calcular, sendo o default
6
10

.
Outras funes
Determina o gradiente numericamente.
FX = gradient(F) retorna o coeficiente do gradiente de
[FX,FY,FZ,...] = gradient(F) retorna a matriz com os valores de
z..., respectivamente.
Apostila de MATLAB 7.3
Pgina 77 de 114
que determina a integral dupla de
Determina a integrao dupla de uma funo.
a preciso que
Tambm possvel calcular a integral tripla de uma funo no
, cuja definio segue

tol a preciso
retorna o coeficiente do gradiente de F em relao
retorna a matriz com os valores de x,
divergence
Definio: Determina o divergente de um campo vetorial.
Sintaxe:
div = divergence(X,Y,Z,U,V,W)
vetorial 3D U, V e
respectivamente.
div = divergence(X,Y,U,V)
div = divergence(U,V,W)
meshgrid(1:n,1:m,1:p).

Exemplo 8- Um exemplo clssico para o uso de gradiente seria na
determinao do Campo Eltrico devido ao efeito de uma carga pontual de
18C. O cdigo segue abaixo.

>> [x,y,z]=meshgrid(
>> V=(18e-12)./(4.*pi.*8.85e
>> [px,py,pz]=gradient(V,0.3,0.3,0.3);
>> Ex=(-1).*px;
>> Ey=(-1).*py;
>> Ez=(-1).*pz;
>> quiver3(x,y,z,Ex,Ey,Ez)
>> axis([-1 1 -











Apostila de MATLAB 7.3
Pgina
rmina o divergente de um campo vetorial.
div = divergence(X,Y,Z,U,V,W) determina o divergente do campo
e W. X, Y e Z definem os limites de
div = divergence(X,Y,U,V) calcula agora para 2D.
vergence(U,V,W) usa como default para X, Y e
Um exemplo clssico para o uso de gradiente seria na
determinao do Campo Eltrico devido ao efeito de uma carga pontual de
digo segue abaixo.
shgrid(-1:0.3:1);
12)./(4.*pi.*8.85e-12.*sqrt(x.^2+y.^2+z.^2));
>> [px,py,pz]=gradient(V,0.3,0.3,0.3);
1).*px;
1).*py;
1).*pz;
>> quiver3(x,y,z,Ex,Ey,Ez)
-1 1 -1 1])
Apostila de MATLAB 7.3
Pgina 78 de 114
rmina o divergente de um campo vetorial.
determina o divergente do campo
definem os limites de U, V e W,
e Z o valor de
Um exemplo clssico para o uso de gradiente seria na
determinao do Campo Eltrico devido ao efeito de uma carga pontual de
12.*sqrt(x.^2+y.^2+z.^2));

Veja que a funo
devido carga.

0
0.5
1
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Apostila de MATLAB 7.3
Pgina
Veja que a funo quiver plota o que representaria o campo eltrico

-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
-1
-0.5
Apostila de MATLAB 7.3
Pgina 79 de 114

plota o que representaria o campo eltrico
0.6
0.8
1
12. SRIES NUMRICAS
12.1. Somatrio
Uma funo muito utilizada em Sries Numricas a
encontra o somatrio simblico de uma expresso. A sua descrio segue
abaixo:

symsum
Definio: Determina o somatrio simblico de uma expresso.
Sintaxe:
r = symsum(s)
varivel simblica pr-definida.
r = symsum(s,v)
r = symsum(s,a,b)
de a at b.
r = symsum(s,v,a,b)
v de a at b.

Exerccio 19- Determine os seguintes somatrios:

a)
1
2
0
x
x



12.2. Srie de Taylor
A Srie de Taylor definida como sendo:



Considerando P x
em torno do ponto
0
x , ento
Apostila de MATLAB 7.3
Pgina
SRIES NUMRICAS
Somatrio
Uma funo muito utilizada em Sries Numricas a
encontra o somatrio simblico de uma expresso. A sua descrio segue
Determina o somatrio simblico de uma expresso.
encontra o somatrio da funo s em funo de uma
definida.
r = symsum(s,v) fornece o somatrio em funo da varivel
r = symsum(s,a,b) determina o somatrio de s variando a incgnita
r = symsum(s,v,a,b) determina o somatrio de s variando a incgnita
Determine os seguintes somatrios:
b)
( )
2
1
1
2 1 n


Srie de Taylor
A Srie de Taylor definida como sendo:

( ) ( )
( )
( )
0
0
0
!
n
n
n
f x
P x x x
n

=
=


( ) P x como sendo o polinmio de Taylor, de ordem
, ento ( ) P x o nico polinmio de grau no mximo
Apostila de MATLAB 7.3
Pgina 80 de 114
Uma funo muito utilizada em Sries Numricas a symsum, que
encontra o somatrio simblico de uma expresso. A sua descrio segue
Determina o somatrio simblico de uma expresso.
em funo de uma
fornece o somatrio em funo da varivel v.
omatrio de s variando a incgnita
determina o somatrio de s variando a incgnita


como sendo o polinmio de Taylor, de ordem n ,
o nico polinmio de grau no mximo n
que aproxima localmente
zero mais rapidamente que
O MATLAB dispe da funo

taylor
Definio: Expande em srie de Taylor
Sintaxe:
taylor(f) faz a aproximao pelo polinmio de Taylor at a quinta
ordem para a funo simblica f.
taylor(f,n,v) retorna o polinmio de Taylor para a funo simblica f
at o grau n-1 para a varivel especificada por v.
taylor(f,n,v,a)
ponto a, que pode ser simblica ou um valor numrico.

Por exemplo, calculando o polinmio de Taylor para a funo
( )
( )
1
5 4 cos
f x
x
=
+
, tem

>> syms x
>> f = 1/(5+4*cos(x))
f =
1/(5+4*cos(x))
>> T = taylor(f,8)
T =
1/9+2/81*x^2+5/1458*x^4+49/131220*x^6
>> pretty(T)

Determine, pelo polinmio de Taylor de ordem 2, o valor aproximado de
3
8,2 .


Apostila de MATLAB 7.3
Pgina
que aproxima localmente f em volta de
0
x de modo que o erro E x
zero mais rapidamente que ( )
0
n
x x , quando
0
x x .
O MATLAB dispe da funo taylor , conforme pode ser visto abaixo:
Expande em srie de Taylor.
faz a aproximao pelo polinmio de Taylor at a quinta
ordem para a funo simblica f.
retorna o polinmio de Taylor para a funo simblica f
1 para a varivel especificada por v.
retorna a aproximao de Taylor de f em torno do
ponto a, que pode ser simblica ou um valor numrico.
Por exemplo, calculando o polinmio de Taylor para a funo
, tem-se:
>> f = 1/(5+4*cos(x))
1/(5+4*cos(x))
T = taylor(f,8)
1/9+2/81*x^2+5/1458*x^4+49/131220*x^6
Determine, pelo polinmio de Taylor de ordem 2, o valor aproximado de

Apostila de MATLAB 7.3
Pgina 81 de 114
( ) E x tenda a
, conforme pode ser visto abaixo:
faz a aproximao pelo polinmio de Taylor at a quinta
retorna o polinmio de Taylor para a funo simblica f
ximao de Taylor de f em torno do
Por exemplo, calculando o polinmio de Taylor para a funo
Determine, pelo polinmio de Taylor de ordem 2, o valor aproximado de
13. ANLISE DE SINAIS
13.1. Transformao de
( ) ( ) x t x t +
1 < Expanso
1 > Compresso
0 < Reflexo
0 Deslocamento

Deslocamento no tempo:

clear, clc, clf
x=-2:6;
y=2*x;
n0=input('n0= ');
subplot(2,1,1),stem(x,y), grid on, xlim([
hold on
xnovo=x+n0;
subplot(2,1,2),stem(xnovo,y);grid on, xlim([
hold off



-20 -15
-4
-2
0
2
4
6
8
10
12
-20 -15
-4
-2
0
2
4
6
8
10
12
Apostila de MATLAB 7.3
Pgina
ANLISE DE SINAIS
Transformao de Varivel Independente
)
Expanso
Compresso
Reflexo
Deslocamento
Deslocamento no tempo:
clear, clc, clf
n0=input('n0= ');
subplot(2,1,1),stem(x,y), grid on, xlim([-20 20])
subplot(2,1,2),stem(xnovo,y);grid on, xlim([-20 20])
-10 -5 0 5 10 15
-10 -5 0 5 10 15
Apostila de MATLAB 7.3
Pgina 82 de 114
20 20])

15 20
15 20
Reflexo

clear, clc, clf
x=-2:8;
y=x;
subplot(2,1,1),stem(x,y), grid on, xlim([
hold on
xl=-x;
subplot(2,1,2),stem(xl,y);grid on, xlim([
hold off












Escalonamento

clear, clc, clf
x=-2:6;
y=2*x;
a=input('a= ')
subplot(2,1,1),stem(x,y), grid on, xlim([
hold on
xl=x/a;
subplot(2,1,2),stem(xl,y);grid on, xlim([
hold off
-20 -15
-2
0
2
4
6
8
-20 -15
-2
0
2
4
6
8
Apostila de MATLAB 7.3
Pgina
clear, clc, clf
subplot(2,1,1),stem(x,y), grid on, xlim([-20 20])
subplot(2,1,2),stem(xl,y);grid on, xlim([-20 20])
clear, clc, clf

subplot(2,1,1),stem(x,y), grid on, xlim([-20 20])
subplot(2,1,2),stem(xl,y);grid on, xlim([-20 20])
-10 -5 0 5 10 15
-10 -5 0 5 10 15
Apostila de MATLAB 7.3
Pgina 83 de 114
20
20
13.2. Funes Pr
Impulso:
[ ]
0, 0
1, 0
n
n
n


=

=


( )
0, 0
1, 0
t
t
t


=

=



function [u] = impulso(n,N)
for k=1:length(n)
if n(k)~=N
u(k)=0;
else
u(k)=1;
end
end

Command Window
>> x=-2:7;
>> y=impulso(x,3);
>> stem(x,y)
-20 -15
-4
-2
0
2
4
6
8
10
12
-20 -15
-4
-2
0
2
4
6
8
10
12
Apostila de MATLAB 7.3
Pgina
Funes Pr-definidas
function [u] = impulso(n,N)
for k=1:length(n)

u(k)=0;
u(k)=1;
Command Window:
>> y=impulso(x,3);
-10 -5 0 5 10 15
-10 -5 0 5 10 15
Apostila de MATLAB 7.3
Pgina 84 de 114

20
20
Degrau

[ ]
0, 0
1, 0
n
u n
n
<
=


( )
0, 0
1, 0
t
u t
t
<
=


function [u] = degrau(n,N)
for k=1:length(n)
if n(k)<N
u(k)=0;
else
u(k)=1;
end
end

Command Window
>> n=-2:7;
>> y=degrau(n,3);
>> stem(n,y)
-2 -1 0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Apostila de MATLAB 7.3
Pgina
function [u] = degrau(n,N)
for k=1:length(n)
u(k)=0;
u(k)=1;
Command Window:
>> y=degrau(n,3);
1 2 3 4 5 6
Apostila de MATLAB 7.3
Pgina 85 de 114

6 7

Exerccio: Determine:
a) [ ] [ y n u n u n u n = + + +
>> n=-20:20;
>> y=degrau(
>> stem(n,y)
-2 -1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-20 -15
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Apostila de MATLAB 7.3
Pgina
: Determine:
] [ ] [ ] 10 2 5 6 y n u n u n u n = + + +
20:20;
>> y=degrau(n,-10)-2*degrau(n,-5)+degrau(n,6);
,y)
0 1 2 3 4 5 6
-10 -5 0 5 10 15
Apostila de MATLAB 7.3
Pgina 86 de 114


7
15 20
b)
[ ]
1
2
y n u n
| |
=
|
\
>> n=-20:20;
>> y=((1/2).^(
>> stem(n,y)

c)
[ ] cos 4 y n n u n
| |
= +
|
\
>> n=-20:20;
>> y=cos(0.5*pi*n).*degrau(n,
>> stem(n,y)
-20 -15
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
Apostila de MATLAB 7.3
Pgina
[ ]
1
3
2
n
y n u n
| |
=
|
\

20:20;
>> y=((1/2).^(n)).*degrau(n,3);
,y)
[ ]
1
cos 4
2
y n n u n
| |
= +
|
\

20:20;
>> y=cos(0.5*pi*n).*degrau(n,-4);
,y)
-10 -5 0 5 10 15
Apostila de MATLAB 7.3
Pgina 87 de 114

15 20
d) [ ]
2 ( ) sen n
y n e =
>> n=-20:20;
>> y=exp(2*(sin(
>> stem(n,y)
e)
[ ] sinc y n =
-20 -15
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
-20 -15 -10
0
1
2
3
4
5
6
7
8
Apostila de MATLAB 7.3
Pgina
2 ( ) sen n

20:20;
>> y=exp(2*(sin(n)));
,y)
n
sinc
2
| |
|
\

-10 -5 0 5 10 15
-10 -5 0 5 10 15
Apostila de MATLAB 7.3
Pgina 88 de 114


15 20
20
>> x=-20:1:20;
>> y=sinc(x/2);
>> stem(x,y)

bom salientar que nos exemplos anteriores foram dados exemplos de
programas no qual se obtm as funes impulso e degrau. Entretanto, o
MATLAB tambm possui funes que possibilitam isso de forma mais rpida,
que so as funes dirac

dirac
Definio: Obtm a funo delta de Dirac, ou seja, a funo impulso
no intervalo determionado por
Sintaxe:
dirac(x)

>> x=-10:10;
>> y=dirac(x-5); %Impulso no instante 5
>> stem(x,y)

heaviside
Definio: Determina a funo degrau no intervalo determinado por
-20 -15
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Apostila de MATLAB 7.3
Pgina
20:1:20;
>> y=sinc(x/2);
>> stem(x,y)
bom salientar que nos exemplos anteriores foram dados exemplos de
programas no qual se obtm as funes impulso e degrau. Entretanto, o
MATLAB tambm possui funes que possibilitam isso de forma mais rpida,
dirac e a heaviside, conforme veremos a seg
Obtm a funo delta de Dirac, ou seja, a funo impulso
no intervalo determionado por x..
5); %Impulso no instante 5
Determina a funo degrau no intervalo determinado por
-10 -5 0 5 10 15
Apostila de MATLAB 7.3
Pgina 89 de 114

bom salientar que nos exemplos anteriores foram dados exemplos de
programas no qual se obtm as funes impulso e degrau. Entretanto, o
MATLAB tambm possui funes que possibilitam isso de forma mais rpida,
rme veremos a seguir:
Obtm a funo delta de Dirac, ou seja, a funo impulso
Determina a funo degrau no intervalo determinado por x.
15 20
Sintaxe:
dirac(x)

>> x=-10:10;
>> y=dirac(x-5); %Impulso no instante 5
>> stem(x,y)

Exemplo 9- Sabe-se que a funo impulso a derivada da funo degrau.
Determina este fato utilizando o MATLAB

>> syms x
>> diff(heaviside(x),x)
ans =
dirac(x)

Exerccio 20- Verifique a integral de
13.3. Convoluo
A convoluo
um sistema de tempo,
entrada pr-definida e da resposta ao impulso do sistema
O MATLAB possui
convoluo de sinais de durao finita.
representando sinais. O
convoluo dos sinais x
Veja que o nmero de elementos em
elementos em x e y menos um
dado pelo espao de tempo tomado pela convoluo definido pelo intervalo
entre a soma dos primeiros elementos de
elementos de nx e nh, sendo
espao de tempo definido para o vetor
( ny = [(min(nx) + min(nh)):(max(nx) +max(nh))]; )
Vejamos a sintaxe de

Apostila de MATLAB 7.3
Pgina
5); %Impulso no instante 5
se que a funo impulso a derivada da funo degrau.
Determina este fato utilizando o MATLAB.
>> diff(heaviside(x),x)
Verifique a integral de ( ) ( 5) sen x x .
onvoluo
A convoluo uma ferramenta matemtica que expressa a sada de
seja este discreto ou contnuo, em funo
e da resposta ao impulso do sistema.
possui uma funo chamada de conv
convoluo de sinais de durao finita. Por exemplo, sejam dois vetores
comando y = conv(x, h) gera um vetor y
e y.
Veja que o nmero de elementos em y dado pela soma do nmero de
menos um, devido ao processo de convolu
espao de tempo tomado pela convoluo definido pelo intervalo
soma dos primeiros elementos de nx e nh e a soma dos ltimos
sendo nx o espao tempo definido para o vetor
espao de tempo definido para o vetor h.
( ny = [(min(nx) + min(nh)):(max(nx) +max(nh))]; )
Vejamos a sintaxe de conv abaixo:
Apostila de MATLAB 7.3
Pgina 90 de 114
se que a funo impulso a derivada da funo degrau.
uma ferramenta matemtica que expressa a sada de
funo de uma
que realiza a
sejam dois vetores x e h
y que denota a
dado pela soma do nmero de
, devido ao processo de convoluo. O vetor ny
espao de tempo tomado pela convoluo definido pelo intervalo
soma dos ltimos
o espao tempo definido para o vetor x e nh o
conv
Definio: Determina a convoluco de dois sinais ou a multiplicao
de dois polinmios.
Sintaxe:
w = conv(u,v)

h=[1,2,1];
x=[2,3,-2];
y=conv(x,y)


Exemplo 10- Determine os coeficientes do polinmio obtido ao multiplicar os
polinmios
2
5x 3x + com

>> a=[3 3 0];
>> b=[2 2];
>> y=conv(a,b)
y =
6 12 6 0

Logo, o polinmio obtido seria

Exemplo 11- Determine a resposta de um sistema com a entrada
x[n] u[n 2] u[n 7] = , sabendo
h[n] u[n] u[n 10] = .

h=ones(1,10);
x=ones(1,5);
n=2:15;
y=conv(x,h);
stem(n,y);
Apostila de MATLAB 7.3
Pgina
Determina a convoluco de dois sinais ou a multiplicao
Determine os coeficientes do polinmio obtido ao multiplicar os
com 2x 2 + .

6 12 6 0
Logo, o polinmio obtido seria
3 2
6x 12x 6x + + .
Determine a resposta de um sistema com a entrada
, sabendo que a resposta desse sistema ao impulso
Apostila de MATLAB 7.3
Pgina 91 de 114
Determina a convoluco de dois sinais ou a multiplicao
Determine os coeficientes do polinmio obtido ao multiplicar os
Determine a resposta de um sistema com a entrada
que a resposta desse sistema ao impulso
Exerccio 21- Use o MATLAB para determinar a sada do sistema com
entrada { x[n] 2 u[n 2] u[n 12] = +
desse sistema h[n] 0,9 u[n 2] u[n 13] =
13.4. Equaes de Diferenas
As Equaes de Diferenas uma forma de expressarmos um sistem
na forma recursiva que permit
partir do sinal de entrada e das sadas passadas.
Um comando que possvel realizar uma funo similar seria o
definida a seguir:

filter
Definio: Expressa a descrio em
sistema em uma forma recursiva que permita que a sada do sistema seja
computada a partir do sinal de entrada e das sadas passadas.
Sintaxe:
y = filter(b,a,X)
y = filter(b,a,X,zi)
Veja acima que apareceu o parmetro
inicial de y. Este zi uma matriz
passados de y.

Exemplo 12- Um exemplo clssico no uso de
Fibonacci, definida como o nmero atual ser igual a soma dos dois nmeros
anteriores. Em linguagem matemtica, tem
y a sada do sistema.
Veja que ele no depende de uma entrada, mas ao usarmos o
necessrio usar a entrada apenas para definir o nmero de elementos da
seqncia no qual se deseja obter, assim como um parmetro indispensvel
para o uso da funo filter
Ser dado como condio inicial a matriz [1 0], correspondentes a
entrada no desejada y[
Apostila de MATLAB 7.3
Pgina
Use o MATLAB para determinar a sada do sistema com
} x[n] 2 u[n 2] u[n 12] = + sabendo que a resposta ao impulso
{ }
n
h[n] 0,9 u[n 2] u[n 13] = .
Equaes de Diferenas
As Equaes de Diferenas uma forma de expressarmos um sistem
forma recursiva que permita que a sada do sistema fosse computada a
partir do sinal de entrada e das sadas passadas.
Um comando que possvel realizar uma funo similar seria o
Expressa a descrio em equao de diferenas de um
sistema em uma forma recursiva que permita que a sada do sistema seja
computada a partir do sinal de entrada e das sadas passadas.
= filter(b,a,X,zi)
Veja acima que apareceu o parmetro zi, que determina a condio
uma matriz com as condies iniciais, sendo os valores
Um exemplo clssico no uso de filter determinar a seqncia de
Fibonacci, definida como o nmero atual ser igual a soma dos dois nmeros
eriores. Em linguagem matemtica, tem-se [ ] [ 1] [ 2] 0 y n y n y n =

Veja que ele no depende de uma entrada, mas ao usarmos o
necessrio usar a entrada apenas para definir o nmero de elementos da
seqncia no qual se deseja obter, assim como um parmetro indispensvel
filter.
Ser dado como condio inicial a matriz [1 0], correspondentes a
desejada y[-1] e y[-2], indispensvel para obter os outros valores.
Apostila de MATLAB 7.3
Pgina 92 de 114
Use o MATLAB para determinar a sada do sistema com
sabendo que a resposta ao impulso
As Equaes de Diferenas uma forma de expressarmos um sistema
a que a sada do sistema fosse computada a
Um comando que possvel realizar uma funo similar seria o filter,
equao de diferenas de um
sistema em uma forma recursiva que permita que a sada do sistema seja
termina a condio
com as condies iniciais, sendo os valores
a seqncia de
Fibonacci, definida como o nmero atual ser igual a soma dos dois nmeros
[ ] [ 1] [ 2] 0 y n y n y n = em que
Veja que ele no depende de uma entrada, mas ao usarmos o filter,
necessrio usar a entrada apenas para definir o nmero de elementos da
seqncia no qual se deseja obter, assim como um parmetro indispensvel
Ser dado como condio inicial a matriz [1 0], correspondentes a
2], indispensvel para obter os outros valores.
O cdigo do programa que pode ser implementado
Neste caso, se deseja adquirir 20 valores.

a=[1, -1, -1];
b=[0];
x=ones(1,20);
y=filter(b,a,x,[1 0])

Exerccio 22- Determine, ut

Quando se trabalha com sistemas de equaes de diferenas, no qual
precisa determinar a resposta desse sistema ao impulso, o comando
torna bastante til. A sua sintaxe

impz
Definio: Determina a resposta ao impulso de um sistema de
equaes de diferenas.
Sintaxe:
[h,t] = impz(b,a)
[h,t] = impz(b,a,n)
O comando [h,t] = impz(b,a,n)
de um sistema descrito por uma equao de diferenas
equao de diferenas esto contidos nos vetores
filter. O vetor h contm os valores da resposta ao impulso e
de tempo correspondentes.
13.5. FFT (Transformada Rpida de Fourier)
A Transformada de Fourier
o domnio da freqncia, no qual podemos analisar as freqncias mais
importantes (com maior amplitude) de uma funo. A transformada inversa de
Fourier faz o processo inverso, passa uma funo do domnio da freqn
para o domnio do tempo.

Apostila de MATLAB 7.3
Pgina
O cdigo do programa que pode ser implementado no M-file
Neste caso, se deseja adquirir 20 valores.

y=filter(b,a,x,[1 0])
Determine, utilizando filter, a seqncia Fibonacci.
Quando se trabalha com sistemas de equaes de diferenas, no qual
precisa determinar a resposta desse sistema ao impulso, o comando
A sua sintaxe segue abaixo:
Determina a resposta ao impulso de um sistema de
equaes de diferenas.

[h,t] = impz(b,a,n)
[h,t] = impz(b,a,n) avalia n valores da resposta ao impulso
de um sistema descrito por uma equao de diferenas. Os coeficie
equao de diferenas esto contidos nos vetores b e a no que se refere a
contm os valores da resposta ao impulso e t contm os ndices
de tempo correspondentes.
FFT (Transformada Rpida de Fourier)
A Transformada de Fourier leva uma funo no domnio do tempo para
o domnio da freqncia, no qual podemos analisar as freqncias mais
importantes (com maior amplitude) de uma funo. A transformada inversa de
Fourier faz o processo inverso, passa uma funo do domnio da freqn
para o domnio do tempo.
Apostila de MATLAB 7.3
Pgina 93 de 114
segue abaixo.
ibonacci.
Quando se trabalha com sistemas de equaes de diferenas, no qual
precisa determinar a resposta desse sistema ao impulso, o comando impz se
Determina a resposta ao impulso de um sistema de
valores da resposta ao impulso
. Os coeficientes da
no que se refere a
contm os ndices
leva uma funo no domnio do tempo para
o domnio da freqncia, no qual podemos analisar as freqncias mais
importantes (com maior amplitude) de uma funo. A transformada inversa de
Fourier faz o processo inverso, passa uma funo do domnio da freqncia
A Transformada de Fourier e sua inversa podem ser calculadas a partir
das expresses abaixo, respectivamente:


Onde a freqncia fundamental.

A FFT (Transformada rpida de Fourier) um algoritmo computacional
otimizado que calcula a Transformada Discreta de Fourier mais rapidamente. A
FFT tambm pode servir de aproximao para a Transformada de Tempo
Discreto de Fourier, Srie de Fourier e

Uma propriedade da Transformada de Fourier que a transformada da
convoluo de duas funes equivale
freqncia. Portanto para calcular a convoluo de uma funo levamos os
dois sinais para o domnio da freqncia, multiplicamos e voltamos para o
domnio do tempo. Veja a expresso abaixo:

y t x t h t IFFT FFT FFT

Exemplo 13- Dado o circuito RC abaixo, determine a resposta ao impulso e a
corrente no capacitor ( )
C
i t







Apostila de MATLAB 7.3
Pgina
A Transformada de Fourier e sua inversa podem ser calculadas a partir
das expresses abaixo, respectivamente:
( ) ( )
j t
F S t e dt


1
( ) ( )
2
j t
S t F e d



a freqncia fundamental.
A FFT (Transformada rpida de Fourier) um algoritmo computacional
otimizado que calcula a Transformada Discreta de Fourier mais rapidamente. A
FFT tambm pode servir de aproximao para a Transformada de Tempo
Discreto de Fourier, Srie de Fourier e a prpria Transformada de Fourier.
Uma propriedade da Transformada de Fourier que a transformada da
convoluo de duas funes equivale multiplicao das duas no domnio da
freqncia. Portanto para calcular a convoluo de uma funo levamos os
ais para o domnio da freqncia, multiplicamos e voltamos para o
domnio do tempo. Veja a expresso abaixo:
( ) ( ) ( ) ( ) * ( ) [ ( ). ( )] h t x t y t x t h t IFFT FFT FFT = =
Dado o circuito RC abaixo, determine a resposta ao impulso e a
( ) i t quando a entrada ( ) x t igual a
t
e

.
Apostila de MATLAB 7.3
Pgina 94 de 114
A Transformada de Fourier e sua inversa podem ser calculadas a partir
A FFT (Transformada rpida de Fourier) um algoritmo computacional
otimizado que calcula a Transformada Discreta de Fourier mais rapidamente. A
FFT tambm pode servir de aproximao para a Transformada de Tempo
rpria Transformada de Fourier.
Uma propriedade da Transformada de Fourier que a transformada da
multiplicao das duas no domnio da
freqncia. Portanto para calcular a convoluo de uma funo levamos os
ais para o domnio da freqncia, multiplicamos e voltamos para o
( ) ( ) * ( ) [ ( ). ( )]
Dado o circuito RC abaixo, determine a resposta ao impulso e a
Resoluo:
Clculo da resposta ao impulso:













Para R=40k e C=300

Clculo da convoluo analiticamente:





Clculo da convoluo atravs do M
n=[0:0.08:81.84]; %amostragem
x=exp(-n); %definio da entrada
h=-exp(-n/12)/12; %definio da sada
fftx=fft(x); %clculo da fft
ffth=fft(h);
ffty=fftx.*ffth; %multiplicao
y=ifft(ffty);
plot(n,-abs(y)*0.08)
title('Convoluo');
xlabel('t(s)');
ylabel('i(A)');
Lei dos ns:
R C
i i i = +
R
dV
i i C
dt
= +
Em t=0, ( ) 0 i t e i = =
1 1
( ) (0) (0 )
dV
t V V
C dt C
= = =
0 , (0 ) 0
(1) 0 ( )
( ) ( )
Em t i
V dV
C V t e
R dt C
i t h t C e
+ +
= =
= + =
= = =
12 12
11
0
( ) ( ) ( ) ( )
12 11
t t
C
t t
t
i t y t x h t d e e d
e e e
e d

= = =
= =

Apostila de MATLAB 7.3


Pgina
Clculo da resposta ao impulso:
e C=300 F
Clculo da convoluo analiticamente:
Clculo da convoluo atravs do MATLAB:
n=[0:0.08:81.84]; %amostragem
n); %definio da entrada
n/12)/12; %definio da sada
fftx=fft(x); %clculo da fft
ffth=fft(h);
ffty=fftx.*ffth; %multiplicao
y=ifft(ffty); %inversa
abs(y)*0.08)
title('Convoluo');
xlabel('t(s)');
ylabel('i(A)');
Em t=0, ( ) 0
R
i t e i = =
1 1
( ) (0) (0 ) t V V
C dt C
+
= = =
Re
0 , (0 ) 0
1
(1) 0 ( )
1
t
soluoequaodiferencial
RC
t
RC
V dV
C V t e
R dt C
dV
i t h t C e
dt RC

= =
= + =
= = =
12
1
( )
12
t
h t e A

=
( )
12
0
12 12
11
12
1
( ) ( ) ( ) ( )
12
12 11
t t
t
t t
t
i t y t x h t d e e d
e e e
e d

| |
= = =
|
\

= =

Apostila de MATLAB 7.3


Pgina 95 de 114


Exerccio 23- Calcule a convoluo das formas de onda
13.6. Filtros Digitais
O MATLAB possui inmeras funes que permitem ao usurio
descobrir a funo transferncia de diferentes tipos de filtros digitais:
A funo de transferncia digital definida por H(z) onde
forma geral a funo de transferncia H(z)
( )
( )
( )
B z
H z
A z
=
-1 -2 -
0 1 2
0 1 2
( )
b b z b z b
H z
a a z a a
+ + + +
=
+ + + +

Butter
Definio: Determina os coeficientes de um filtro
filtro pode ser passa baixa, passa alta, passa
Sintaxe:
0 10
-0.07
-0.06
-0.05
-0.04
-0.03
-0.02
-0.01
0
i
(
A
)
Apostila de MATLAB 7.3
Pgina











Calcule a convoluo das formas de onda
( )
( ) cos(2.5 )
x t e
h t t t


Filtros Digitais
possui inmeras funes que permitem ao usurio
descobrir a funo transferncia de diferentes tipos de filtros digitais:
A funo de transferncia digital definida por H(z) onde
forma geral a funo de transferncia H(z) a seguinte:
-1 -2 -
0 1 2
-1 -2 -
0 1 2
...
...
z n
n
z z n
n
b b z b z b
a a z a a
+ + + +
+ + + +

Determina os coeficientes de um filtro Butterworth
filtro pode ser passa baixa, passa alta, passa banda, rejeita banda.
10 20 30 40 50 60 70 80 90
Convoluo
t(s)
Apostila de MATLAB 7.3
Pgina 96 de 114
5
( )
( ) cos(2.5 )
t
x t e
h t t t

=
=

possui inmeras funes que permitem ao usurio
descobrir a funo transferncia de diferentes tipos de filtros digitais:
A funo de transferncia digital definida por H(z) onde
jwt
z e = . Na

Butterworth. Esse
banda, rejeita banda.
[B,A] = Butter(N, Wn, tipo)
transferncia dada a freqncia de corte e o tipo de filtro. Caso nada seja posto
em tipo, o MATLAB interpreta filtro passa baixa como padro.

Freqz
Definio: Calcula os valores de uma funo complexa H(z)
Sintaxe:
Freqz(B,A,n)
contendo os coeficientes do polinmio B(z) da Equao (1). O segundo um
vetor contendo os coeficientes do polinmio A
o nmero de valores de freqncias normalizadas que se quer no intervalo de 0
a .

Exemplo 14-
Gerar um sinal com du
Hz.
Projetar um filtro para fs=200 Hz. Usar filtro de 2a ordem, B
Filtrar o sinal.
Plotar a resposta em freqncia.


% Exemplo de filtros

fs=200; % Freqncia de amostragem
t=0:1/fs:1; % Tempo de amostragem
T=1/fs;
x=sin(2*pi*5*t)+sin(2*pi*80*t); % sinal de entrada
figure(4)
plot(t,x)
title('Sinal de Entrada')
xlabel('tempo (s)')
ylabel('amplitude')

[B,A]=butter(2,20/(fs/2)); % Determinar os coeficientes
B % Mostrar coeficientes B
A % Mostrar coeficientes A

% Plotagem da resposta em freqncia
Apostila de MATLAB 7.3
Pgina
[B,A] = Butter(N, Wn, tipo) Determina os coeficientes da funo
transferncia dada a freqncia de corte e o tipo de filtro. Caso nada seja posto
interpreta filtro passa baixa como padro.
Calcula os valores de uma funo complexa H(z)
Utiliza 3 argumentos de entrada. O primeiro um vetor
contendo os coeficientes do polinmio B(z) da Equao (1). O segundo um
vetor contendo os coeficientes do polinmio A(z). O terceiro para especificar
o nmero de valores de freqncias normalizadas que se quer no intervalo de 0
Gerar um sinal com duas senides de freqncias 5 e 80 Hz, com fs=200
Projetar um filtro para fs=200 Hz. Usar filtro de 2a ordem, Butterworth.
Plotar a resposta em freqncia.
% Exemplo de filtros
fs=200; % Freqncia de amostragem
t=0:1/fs:1; % Tempo de amostragem
x=sin(2*pi*5*t)+sin(2*pi*80*t); % sinal de entrada
de Entrada')
xlabel('tempo (s)')
ylabel('amplitude')
[B,A]=butter(2,20/(fs/2)); % Determinar os coeficientes
B % Mostrar coeficientes B
A % Mostrar coeficientes A
% Plotagem da resposta em freqncia
Apostila de MATLAB 7.3
Pgina 97 de 114
Determina os coeficientes da funo
transferncia dada a freqncia de corte e o tipo de filtro. Caso nada seja posto
Calcula os valores de uma funo complexa H(z)
Utiliza 3 argumentos de entrada. O primeiro um vetor
contendo os coeficientes do polinmio B(z) da Equao (1). O segundo um
(z). O terceiro para especificar
o nmero de valores de freqncias normalizadas que se quer no intervalo de 0
0 Hz, com fs=200
utterworth.
x=sin(2*pi*5*t)+sin(2*pi*80*t); % sinal de entrada
[B,A]=butter(2,20/(fs/2)); % Determinar os coeficientes
h1=freqz(B,A,100)
figure(1)
plot(abs(h1))
grid
title('Resposta em freqncia')
xlabel('freqnca (Hz)')
ylabel('amplitude')

% Filtragem
figure(2)
y=filter(B,A,x);
plot(t,y,'k-')
title('Sinal de Entrada')
xlabel('tempo (s)')
ylabel('amplitude')

Exerccio 24- Projete um filtro passa
freqncia de corte de 10 Hz. Use f
senides de 1 e 20 Hz. Use as funes butter, filter e freqz.


Apostila de MATLAB 7.3
Pgina
h1=freqz(B,A,100)
title('Resposta em freqncia')
xlabel('freqnca (Hz)')
ylabel('amplitude')
y=filter(B,A,x);

title('Sinal de Entrada')
xlabel('tempo (s)')
ylabel('amplitude')
Projete um filtro passa-alta de Butterworth de
freqncia de corte de 10 Hz. Use f
s
=400 Hz. Sinais a serem filtrados:
senides de 1 e 20 Hz. Use as funes butter, filter e freqz.

Apostila de MATLAB 7.3
Pgina 98 de 114
alta de Butterworth de ordem 6, com
=400 Hz. Sinais a serem filtrados:
14. SIMULINK
O Simulink um ambiente pertencente ao
simulao e a modelagem de sistemas d
ambiente grfico e customizvel que possui um conjunto de bibliotecas que
facilitam a implementao e o teste de uma variedade de sistemas variantes no
tempo.
Os modelos no Simulink so construdos atravs de diagramas de
blocos, em operaes do tipo clique e arraste, o que o torna uma interface
bastante amigvel. Ele permite a criao de qualquer mquina, artefato ou
aparelho no existente no mundo real, atravs da modelagem matemtica, e
permite que o determinado sistema cria
resoluo matemtica do sistema criado.
14.1. Iniciando o Simulink
Para iniciar o Simulink, basta digitar o seguinte comando no
Workspace:
>> simulink
Uma janela ser aberta, que a biblioteca de blocos do Simulink:
Apostila de MATLAB 7.3
Pgina
O Simulink um ambiente pertencente ao MATLAB
simulao e a modelagem de sistemas dinmicos e embarcados. um
ambiente grfico e customizvel que possui um conjunto de bibliotecas que
facilitam a implementao e o teste de uma variedade de sistemas variantes no
Os modelos no Simulink so construdos atravs de diagramas de
, em operaes do tipo clique e arraste, o que o torna uma interface
bastante amigvel. Ele permite a criao de qualquer mquina, artefato ou
aparelho no existente no mundo real, atravs da modelagem matemtica, e
permite que o determinado sistema criado funcione virtualmente, atravs da
resoluo matemtica do sistema criado.
Iniciando o Simulink
Para iniciar o Simulink, basta digitar o seguinte comando no
Uma janela ser aberta, que a biblioteca de blocos do Simulink:
Apostila de MATLAB 7.3
Pgina 99 de 114
que permite a
inmicos e embarcados. um
ambiente grfico e customizvel que possui um conjunto de bibliotecas que
facilitam a implementao e o teste de uma variedade de sistemas variantes no
Os modelos no Simulink so construdos atravs de diagramas de
, em operaes do tipo clique e arraste, o que o torna uma interface
bastante amigvel. Ele permite a criao de qualquer mquina, artefato ou
aparelho no existente no mundo real, atravs da modelagem matemtica, e
do funcione virtualmente, atravs da
Para iniciar o Simulink, basta digitar o seguinte comando no
Uma janela ser aberta, que a biblioteca de blocos do Simulink:


A janela subdividida em trs partes principais. No lado esquerdo
esto presentes todas as bibliotecas disponveis. Esto presentes bibliotecas
de Sistema Aeroespaciais, Sistemas de Controle Dinmicos, Sistemas
Embarcado, Lgica Fuzzy, etc. No lado direit
os blocos pertencentes
presente a descrio de cada bloco selecionado.
Assim, quando se deseja saber o comportamento de um complexo
Sistema Automotivo, da vibrao n
vo, ou do efeito das futuras estimativas de oferta da moeda no Sistema
Econmico, basta se dirigir ao
resoluo do problema em sua prpria casa, atravs do computador, no
sendo necessrias grandes pesquisas de campo ou modernas aparelhagens
em laboratrios.
14.2. Criando um modelo
Para a criao de um novo modelo necessrio abrir uma nova janela
de modelo. Para isso basta abrir o menu

Uma janela ser ento aberta. Essa a janela de modelos do Simulink.
Toda a montagem, modificao e testes dos sistemas so feitas nessa janela.
O MATLAB salva esse arquiv
como no M-File, para que o sistema seja exec
salvo. Como um primeiro exemplo, pode
Apostila de MATLAB 7.3
Pgina
A janela subdividida em trs partes principais. No lado esquerdo
esto presentes todas as bibliotecas disponveis. Esto presentes bibliotecas
de Sistema Aeroespaciais, Sistemas de Controle Dinmicos, Sistemas
Embarcado, Lgica Fuzzy, etc. No lado direito da tela esto disponveis todos
biblioteca selecionada. Na parte inferior da tela est
presente a descrio de cada bloco selecionado.
Assim, quando se deseja saber o comportamento de um complexo
Sistema Automotivo, da vibrao nas asas de uma Aeronave durante o seu
vo, ou do efeito das futuras estimativas de oferta da moeda no Sistema
Econmico, basta se dirigir ao MATLAB que o Simulink permitir ao usurio a
resoluo do problema em sua prpria casa, atravs do computador, no
sendo necessrias grandes pesquisas de campo ou modernas aparelhagens
Criando um modelo
Para a criao de um novo modelo necessrio abrir uma nova janela
de modelo. Para isso basta abrir o menu File e escolher a opo

janela ser ento aberta. Essa a janela de modelos do Simulink.
Toda a montagem, modificao e testes dos sistemas so feitas nessa janela.
salva esse arquivo de simulao com a extenso
File, para que o sistema seja executado necessrio que ele esteja
salvo. Como um primeiro exemplo, pode-se mostrar na tela uma onda senoidal.
Apostila de MATLAB 7.3
Pgina 100 de 114
A janela subdividida em trs partes principais. No lado esquerdo
esto presentes todas as bibliotecas disponveis. Esto presentes bibliotecas
de Sistema Aeroespaciais, Sistemas de Controle Dinmicos, Sistemas
o da tela esto disponveis todos
biblioteca selecionada. Na parte inferior da tela est
Assim, quando se deseja saber o comportamento de um complexo
as asas de uma Aeronave durante o seu
vo, ou do efeito das futuras estimativas de oferta da moeda no Sistema
que o Simulink permitir ao usurio a
resoluo do problema em sua prpria casa, atravs do computador, no
sendo necessrias grandes pesquisas de campo ou modernas aparelhagens
Para a criao de um novo modelo necessrio abrir uma nova janela
e escolher a opo New Model.

janela ser ento aberta. Essa a janela de modelos do Simulink.
Toda a montagem, modificao e testes dos sistemas so feitas nessa janela.
o de simulao com a extenso .mdl e, assim
utado necessrio que ele esteja
se mostrar na tela uma onda senoidal.
Para montar esse sistema so necessrios dois dispositivos: primeiro algum
dispositivo que seja capaz de mostrar a onda e tambm a prpria onda.
Para adicionar uma onda senoidal seleciona
janela de bibliotecas do Simulink. Quando selecionamos essa biblioteca,
aparece no lado direito um conjunto de sinais que podem ser usados como
entrada do sistema, tais como sinal de Rampa
etc. O Bloco referente onda senoidal se chama
bloco janela basta clicar com o boto direito do mouse e escolher a opo
Add to nome_da_janela


O bloco ser adicionado na janela de mod
de onda de entrada, basta ter o dispositivo capaz de mostrar a onda na tela.
Esse dispositivo est presente na biblioteca
Para adicionar esse bloco o procedimento o mesmo. Depois dos blocos
serem adicionados necessrio interlig
presente na lateral de um dos blocos, manter o boto pressionado e levar a
linha tracejada at a seta presente no outro bloco. Se a cor da linha que liga os
dois blocos ficar preta e o
realizada corretamente. O sistema est pronto, para execut
boto Start Simulation, na barra superior.
O sistema foi simulado. Para visualizar a onda, d
no Scope. Surgir na tela a forma de onda de
pode ser visto na seguinte ilustrao:

Apostila de MATLAB 7.3
Pgina
Para montar esse sistema so necessrios dois dispositivos: primeiro algum
dispositivo que seja capaz de mostrar a onda e tambm a prpria onda.
ara adicionar uma onda senoidal seleciona-se a biblioteca
janela de bibliotecas do Simulink. Quando selecionamos essa biblioteca,
aparece no lado direito um conjunto de sinais que podem ser usados como
entrada do sistema, tais como sinal de Rampa, sinal de Degrau, onda senoidal,
etc. O Bloco referente onda senoidal se chama Sine Wave. Para adicionar o
bloco janela basta clicar com o boto direito do mouse e escolher a opo
nome_da_janela.
O bloco ser adicionado na janela de modelos aberta. Tendo a forma
de onda de entrada, basta ter o dispositivo capaz de mostrar a onda na tela.
Esse dispositivo est presente na biblioteca Sink, o nome do bloco
Para adicionar esse bloco o procedimento o mesmo. Depois dos blocos
adicionados necessrio interlig-los. Para isso basta clicar na seta
presente na lateral de um dos blocos, manter o boto pressionado e levar a
linha tracejada at a seta presente no outro bloco. Se a cor da linha que liga os
dois blocos ficar preta e o tracejado se manter contnuo, a operao foi
realizada corretamente. O sistema est pronto, para execut-lo basta clicar no
, na barra superior.

O sistema foi simulado. Para visualizar a onda, d-se um duplo clique
na tela a forma de onda de Sine Wave. O resultado final
pode ser visto na seguinte ilustrao:
Apostila de MATLAB 7.3
Pgina 101 de 114
Para montar esse sistema so necessrios dois dispositivos: primeiro algum
dispositivo que seja capaz de mostrar a onda e tambm a prpria onda.
se a biblioteca Source na
janela de bibliotecas do Simulink. Quando selecionamos essa biblioteca,
aparece no lado direito um conjunto de sinais que podem ser usados como
, sinal de Degrau, onda senoidal,
. Para adicionar o
bloco janela basta clicar com o boto direito do mouse e escolher a opo

elos aberta. Tendo a forma
de onda de entrada, basta ter o dispositivo capaz de mostrar a onda na tela.
, o nome do bloco Scope.
Para adicionar esse bloco o procedimento o mesmo. Depois dos blocos
los. Para isso basta clicar na seta
presente na lateral de um dos blocos, manter o boto pressionado e levar a
linha tracejada at a seta presente no outro bloco. Se a cor da linha que liga os
tracejado se manter contnuo, a operao foi
lo basta clicar no
se um duplo clique
. O resultado final

Apesar de o sistema criado ser simples, alguns detalhes ainda podem
ser explorados. Ao se dar duplo
caractersticas da forma de onda gerada. Aparecer na tela uma janela onde
podem ser modificados alguns parmetros do sinal, tais como amplitude,
freqncia, deslocamento vertical, ngulo de fase e domnio. Na parte superior
da janela tambm pode ser observada a equao que descreve a onda.
So operaes como essa de clique
adio e interligao de blocos que governam o Simulink. No necessrio um
extenso programa com diversas diretivas e
j est embutido nos blocos do Simulink. Esta simplicidade tambm pode ser
mostrada no seguinte exemplo, onde calculada a derivada do sinal senoidal
utilizado anteriormente. Para isso pode
na biblioteca Continuous
Apostila de MATLAB 7.3
Pgina
Apesar de o sistema criado ser simples, alguns detalhes ainda podem
ser explorados. Ao se dar duplo-clique em Sine-Wave veremos na tela algumas
caractersticas da forma de onda gerada. Aparecer na tela uma janela onde
podem ser modificados alguns parmetros do sinal, tais como amplitude,
freqncia, deslocamento vertical, ngulo de fase e domnio. Na parte superior
ela tambm pode ser observada a equao que descreve a onda.
So operaes como essa de clique-e-arraste, de execuo e de
adio e interligao de blocos que governam o Simulink. No necessrio um
extenso programa com diversas diretivas e vrias funes matemticas. Tudo
j est embutido nos blocos do Simulink. Esta simplicidade tambm pode ser
mostrada no seguinte exemplo, onde calculada a derivada do sinal senoidal
utilizado anteriormente. Para isso pode-se utilizar o bloco Derivat
Continuous:
Apostila de MATLAB 7.3
Pgina 102 de 114

Apesar de o sistema criado ser simples, alguns detalhes ainda podem
veremos na tela algumas
caractersticas da forma de onda gerada. Aparecer na tela uma janela onde
podem ser modificados alguns parmetros do sinal, tais como amplitude,
freqncia, deslocamento vertical, ngulo de fase e domnio. Na parte superior
ela tambm pode ser observada a equao que descreve a onda.
arraste, de execuo e de
adio e interligao de blocos que governam o Simulink. No necessrio um
matemticas. Tudo
j est embutido nos blocos do Simulink. Esta simplicidade tambm pode ser
mostrada no seguinte exemplo, onde calculada a derivada do sinal senoidal
Derivative, presente

14.3. Aspectos sobre a soluo dos sistemas
evidente a presena de mtodos numricos na resoluo dos
sistemas no MATLAB. Observando
uso dos mtodos. As configuraes de simulao esto presen
Simulation, na opo Configuration Parameters.

Um das modificaes importantes que podem ser feitas a do prprio
mtodo de resoluo das equaes diferencias. O
opes de Mtodos:
Apostila de MATLAB 7.3
Pgina
Aspectos sobre a soluo dos sistemas
presena de mtodos numricos na resoluo dos
Observando as configuraes de simulao
dos mtodos. As configuraes de simulao esto presen
Configuration Parameters.

Um das modificaes importantes que podem ser feitas a do prprio
mtodo de resoluo das equaes diferencias. O MATLAB oferece algumas
Apostila de MATLAB 7.3
Pgina 103 de 114

presena de mtodos numricos na resoluo dos
as configuraes de simulao, notvel o
dos mtodos. As configuraes de simulao esto presentes no menu
Um das modificaes importantes que podem ser feitas a do prprio
oferece algumas
ODE45 - Excelente mtodo de propsit
baseado nos mtodos de Dormand
Quarta/Quinta ordem.
ODE23 - Usa os mtodos Bogacki
Segunda ou Terceira ordem. Pode ser uma melhor opo
Geralmente requer um passo menor do que o ODE45 para atingir a
mesma preciso.
ODE113 - Utiliza o mtodo de ordem varivel de Adams
Moulton. J que ODE113 utiliza as solues de pontos em tempos
anteriores para se determinar a solu
produzir a mesma preciso dos mtodos ODE45 ou ODE23 com menor
nmero de clculos e com isto tendo uma melhor performance. No
apropriado para sistemas com descontinuidades.
ODE15S - Sistema de ordem varivel de multi pass
inflexveis. baseado em pesquisas recentes que utilizam frmulas
numricas de diferena. Se a simulao executar lentamente utilizando
ODE45, tente ODE15S.
ODE23S Ordem fixa de passo simples para sistema inflexveis. Devido
ao fato de ser um mtodo de passo simples, em muitas das vezes
mais rpido do que ODE15S. Se um sistema parecer inflexvel uma
boa idia tentar ambos os mtodos para este tipo de sistema para se
determinar qual dos dois tem melhor performance.
ODE23t Implementa
interpolao livre. Usar quando se quer uma soluo sem
amortecimento.
ODE23TB Implementao do TR
com primeiro estgio com uma regra trapezoidal e um Segundo estgio
utilizando diferenciao retrgrada de ordem 2. Pode ser mais eficiente
que o ODE45.
14.4. Modelagem de Sistemas
Tornando os exemplos mais prticos, iremos modelar dois sistemas
matemticos.
Apostila de MATLAB 7.3
Pgina
Excelente mtodo de propsito geral de passo simples.
baseado nos mtodos de Dormand-Prince e de Runge
Quarta/Quinta ordem. ODE45 o mtodo padro do Simulink.
Usa os mtodos Bogacki-Shampine e Runge
Segunda ou Terceira ordem. Pode ser uma melhor opo
Geralmente requer um passo menor do que o ODE45 para atingir a

Utiliza o mtodo de ordem varivel de Adams
Moulton. J que ODE113 utiliza as solues de pontos em tempos
anteriores para se determinar a soluo do tempo corrente, deve ento
produzir a mesma preciso dos mtodos ODE45 ou ODE23 com menor
nmero de clculos e com isto tendo uma melhor performance. No
apropriado para sistemas com descontinuidades.
Sistema de ordem varivel de multi passos para sistemas
inflexveis. baseado em pesquisas recentes que utilizam frmulas
numricas de diferena. Se a simulao executar lentamente utilizando
ODE45, tente ODE15S.
ODE23S Ordem fixa de passo simples para sistema inflexveis. Devido
r um mtodo de passo simples, em muitas das vezes
mais rpido do que ODE15S. Se um sistema parecer inflexvel uma
boa idia tentar ambos os mtodos para este tipo de sistema para se
determinar qual dos dois tem melhor performance.
Implementao do mtodo trapezoidal utilizando uma
interpolao livre. Usar quando se quer uma soluo sem
Implementao do TR-BDF2, um mtodo de Runge
com primeiro estgio com uma regra trapezoidal e um Segundo estgio
nciao retrgrada de ordem 2. Pode ser mais eficiente
Modelagem de Sistemas
Tornando os exemplos mais prticos, iremos modelar dois sistemas
Apostila de MATLAB 7.3
Pgina 104 de 114
o geral de passo simples.
Prince e de Runge-Kutta para
ODE45 o mtodo padro do Simulink.
Shampine e Runge-Kutta de
Segunda ou Terceira ordem. Pode ser uma melhor opo que o ODE45.
Geralmente requer um passo menor do que o ODE45 para atingir a
Utiliza o mtodo de ordem varivel de Adams-Bashforth-
Moulton. J que ODE113 utiliza as solues de pontos em tempos
o do tempo corrente, deve ento
produzir a mesma preciso dos mtodos ODE45 ou ODE23 com menor
nmero de clculos e com isto tendo uma melhor performance. No
os para sistemas
inflexveis. baseado em pesquisas recentes que utilizam frmulas
numricas de diferena. Se a simulao executar lentamente utilizando
ODE23S Ordem fixa de passo simples para sistema inflexveis. Devido
r um mtodo de passo simples, em muitas das vezes
mais rpido do que ODE15S. Se um sistema parecer inflexvel uma
boa idia tentar ambos os mtodos para este tipo de sistema para se
o do mtodo trapezoidal utilizando uma
interpolao livre. Usar quando se quer uma soluo sem
BDF2, um mtodo de Runge-Kutta
com primeiro estgio com uma regra trapezoidal e um Segundo estgio
nciao retrgrada de ordem 2. Pode ser mais eficiente
Tornando os exemplos mais prticos, iremos modelar dois sistemas


Sistema Massa

O primeiro sistema fsico a ser modelado ser o sistema
apresentado acima, que possui um equacionamento simples baseado na Fsica
Bsica. Considerando uma acelerao a para o bloco, teremos:

= dt a v .
, onde v a velocidade do bloco.

= dt v x .
, onde x o deslocamento do bloco.
A partir dessas equaes um escopo geral do sistema j pode ser
iniciado. Ser utilizado o bloco
Partindo da acelerao, teremos:
Modelagem matemtica do sistema:
x k F . =
, fora restauradora exercida pela mola no bloco ao se aplicar
uma deformao nesta.
2
2
dt
x d
m kx =
Apostila de MATLAB 7.3
Pgina
Sistema Massa-Mola

O primeiro sistema fsico a ser modelado ser o sistema
apresentado acima, que possui um equacionamento simples baseado na Fsica
Bsica. Considerando uma acelerao a para o bloco, teremos:
, onde v a velocidade do bloco.
e x o deslocamento do bloco.
A partir dessas equaes um escopo geral do sistema j pode ser
iniciado. Ser utilizado o bloco Integrator, pertencente biblioteca
Partindo da acelerao, teremos:
Modelagem matemtica do sistema:
, fora restauradora exercida pela mola no bloco ao se aplicar

Apostila de MATLAB 7.3
Pgina 105 de 114
O primeiro sistema fsico a ser modelado ser o sistema massa-mola
apresentado acima, que possui um equacionamento simples baseado na Fsica

A partir dessas equaes um escopo geral do sistema j pode ser
biblioteca Continuous.

, fora restauradora exercida pela mola no bloco ao se aplicar
x
m
k
dt
x d
a = =
2
2
, foi achada ento uma relao entre a acelerao do
sistema e o deslocamento. Essa relao presente no
ganho no deslocamento, o que resulta na acelerao. No
utilizada a biblioteca Math Operations
bloco Gain:

O bloco Gain, se no for modificado, ter o ganho 1. Para modificar o
ganho deve-se clicar duas vezes no bloco. Aparecer na tela a janela de
configurao dos parmetros do bloco, onde o ganho pode ser modificado:
Como foi colocado um valor literal no ganho, quando a simulao for
executada as variveis k e m devem estar
realizar a simulao pode
>> k=500;
>> m=20;
O sistema est ento pronto para ser simulado. importante perceber
que se a simulao for realizada, o valor do deslocamento ser nu
Apostila de MATLAB 7.3
Pgina
, foi achada ento uma relao entre a acelerao do
sistema e o deslocamento. Essa relao presente no sistema atravs de um
ganho no deslocamento, o que resulta na acelerao. No
Math Operations, dentro desta biblioteca se localiza o
, se no for modificado, ter o ganho 1. Para modificar o
se clicar duas vezes no bloco. Aparecer na tela a janela de
configurao dos parmetros do bloco, onde o ganho pode ser modificado:
Como foi colocado um valor literal no ganho, quando a simulao for
executada as variveis k e m devem estar presentes no workspace. Antes de
realizar a simulao pode-se definir as variveis no command window:
O sistema est ento pronto para ser simulado. importante perceber
que se a simulao for realizada, o valor do deslocamento ser nu
Apostila de MATLAB 7.3
Pgina 106 de 114
, foi achada ento uma relao entre a acelerao do
sistema atravs de um
Simulink ser
, dentro desta biblioteca se localiza o

, se no for modificado, ter o ganho 1. Para modificar o
se clicar duas vezes no bloco. Aparecer na tela a janela de
configurao dos parmetros do bloco, onde o ganho pode ser modificado:

Como foi colocado um valor literal no ganho, quando a simulao for
presentes no workspace. Antes de
se definir as variveis no command window:
O sistema est ento pronto para ser simulado. importante perceber
que se a simulao for realizada, o valor do deslocamento ser nulo. Isso
acontece porque nenhum deslocamento inicial foi aplicado ao sistema. Para
aplicar um deslocamento inicial pode
da velocidade, pois:
o
t
x dt v x + =

0
.

Quando a condio inicial modificada para um v
estamos modificando o valor do deslocamento da mola no instante inicial do
sistema, assim o que aconteceu foi que aplicamos uma entrada no sistema.
Para modificar a condio inicial da integral da velocidade, necessrio se
modificar os parmetros da integral. O procedimento realizado o mesmo que
o do bloco Gain: d-se um duplo
na tela uma janela onde os parmetros da integral possam ser modificados. Em
Initial condition, pode-se
O Sistema estar ento pronto para ser simulado. Dando um duplo
clique em Scope, possvel observar o comportamento do deslocamento ao
longo do tempo. Como j era esperado, o deslocamento se apresentou como
Apostila de MATLAB 7.3
Pgina
acontece porque nenhum deslocamento inicial foi aplicado ao sistema. Para
aplicar um deslocamento inicial pode-se modificar a condio inicial da integral
Quando a condio inicial modificada para um valor maior que zero,
estamos modificando o valor do deslocamento da mola no instante inicial do
sistema, assim o que aconteceu foi que aplicamos uma entrada no sistema.
Para modificar a condio inicial da integral da velocidade, necessrio se
os parmetros da integral. O procedimento realizado o mesmo que
se um duplo-clique no bloco Integrator, o que far aparecer
na tela uma janela onde os parmetros da integral possam ser modificados. Em
se colocar a condio inicial 2:
O Sistema estar ento pronto para ser simulado. Dando um duplo
, possvel observar o comportamento do deslocamento ao
longo do tempo. Como j era esperado, o deslocamento se apresentou como
Apostila de MATLAB 7.3
Pgina 107 de 114
acontece porque nenhum deslocamento inicial foi aplicado ao sistema. Para
se modificar a condio inicial da integral
alor maior que zero,
estamos modificando o valor do deslocamento da mola no instante inicial do
sistema, assim o que aconteceu foi que aplicamos uma entrada no sistema.
Para modificar a condio inicial da integral da velocidade, necessrio se
os parmetros da integral. O procedimento realizado o mesmo que
, o que far aparecer
na tela uma janela onde os parmetros da integral possam ser modificados. Em

O Sistema estar ento pronto para ser simulado. Dando um duplo-
, possvel observar o comportamento do deslocamento ao
longo do tempo. Como j era esperado, o deslocamento se apresentou como
um sinal oscilante em torno do ponto inicial, a amplitude. O modelo diferente
do real, pois no foram consideradas no equacionamento as equaes
dissipativas, como atrito com o ar e atrito com o cho por exemplo.

Para evidenciar
pode ser traado tambm a curva da energia potencial x energia cintica do
bloco. Para isso tem-se que realizar outro equacionamento:
2
2
1
kx E
p
=
, energia potencial do bloco
2
2
1
mv E
c
=
, energia cintica do bloco
A energia potencial do sistema depender do deslocamento
instantneo, assim ser necessrio a sada do sistema, que o prprio x.
Como se observa na equao, o primeiro passo ser elevar o deslocamento ao
quadrado. Uma opo para realizar essa operao o bloco
em Math Operations. Esse bloco tem como configurao padro, duas
entradas e uma sada que resultante da multiplicao das duas entradas.
Assim ligamos a sada do sistema (deslocamento) simultaneame
Apostila de MATLAB 7.3
Pgina
ante em torno do ponto inicial, a amplitude. O modelo diferente
do real, pois no foram consideradas no equacionamento as equaes
dissipativas, como atrito com o ar e atrito com o cho por exemplo.

o comportamento do sistema massa-
pode ser traado tambm a curva da energia potencial x energia cintica do
se que realizar outro equacionamento:
, energia potencial do bloco
, energia cintica do bloco
A energia potencial do sistema depender do deslocamento
instantneo, assim ser necessrio a sada do sistema, que o prprio x.
na equao, o primeiro passo ser elevar o deslocamento ao
para realizar essa operao o bloco Product
. Esse bloco tem como configurao padro, duas
entradas e uma sada que resultante da multiplicao das duas entradas.
Assim ligamos a sada do sistema (deslocamento) simultaneame
Apostila de MATLAB 7.3
Pgina 108 de 114
ante em torno do ponto inicial, a amplitude. O modelo diferente
do real, pois no foram consideradas no equacionamento as equaes
dissipativas, como atrito com o ar e atrito com o cho por exemplo.

-mola clssico,
pode ser traado tambm a curva da energia potencial x energia cintica do
A energia potencial do sistema depender do deslocamento
instantneo, assim ser necessrio a sada do sistema, que o prprio x.
na equao, o primeiro passo ser elevar o deslocamento ao
Product, presente
. Esse bloco tem como configurao padro, duas
entradas e uma sada que resultante da multiplicao das duas entradas.
Assim ligamos a sada do sistema (deslocamento) simultaneamente s duas
entradas, resultando assim em x
realizar um ganho de k/2 nesse sinal, o que resulta na energia potencial:


O procedimento para se obter a Energia cintica anlogo. Primeiro
preciso obter o sinal v
2
e depois preciso dar um ganho de m/2 nesse sinal,
resultando assim na Energia cintica. Para traar os dois sinais em um s
grfico, utiliza-se apenas um
Mux, presente na biblioteca

Apostila de MATLAB 7.3
Pgina
entradas, resultando assim em x
2
na sada do bloco. O prximo passo ser
realizar um ganho de k/2 nesse sinal, o que resulta na energia potencial:
O procedimento para se obter a Energia cintica anlogo. Primeiro
e depois preciso dar um ganho de m/2 nesse sinal,
resultando assim na Energia cintica. Para traar os dois sinais em um s
se apenas um Scope. Em conjunto utiliza-se tambm o bloco
, presente na biblioteca Signal Routing:
Apostila de MATLAB 7.3
Pgina 109 de 114
na sada do bloco. O prximo passo ser
realizar um ganho de k/2 nesse sinal, o que resulta na energia potencial:

O procedimento para se obter a Energia cintica anlogo. Primeiro
e depois preciso dar um ganho de m/2 nesse sinal,
resultando assim na Energia cintica. Para traar os dois sinais em um s
se tambm o bloco


Atravs do grfico pode
sistemas conservativos, que a complementaridade das duas energias ao
longo do tempo. Pode-
amarelo) mxima, enquanto que a energia cin
ausncia de movimento. Situao oposta quando o bloco passa pela origem,
em que a energia potencia


Amortizao de Financiamento

O balano de um emprstimo ao fim de um ms equivale aos juros
incidindo sobre o balano do incio do ms menos o pagamento do ms. Uma
equao para o processo a seguinte:

) ( juros k balano =

Um sistema como esse tambm pode ser modelado no simulink. A
principal diferena que ele um sistema discreto, enqua
massa-mola era um sistema contnuo.
Apostila de MATLAB 7.3
Pgina
Atravs do grfico pode-se observar uma caracterstica tpica dos
sistemas conservativos, que a complementaridade das duas energias ao
-se observar que no incio a energia potencial (em
amarelo) mxima, enquanto que a energia cintica (em roxo) nula, devido a
ausncia de movimento. Situao oposta quando o bloco passa pela origem,
em que a energia potencial nula e a cintica mxima.
Amortizao de Financiamento
O balano de um emprstimo ao fim de um ms equivale aos juros
incidindo sobre o balano do incio do ms menos o pagamento do ms. Uma
equao para o processo a seguinte:
) ( ) 1 ( . k pagamento k balano juros

Um sistema como esse tambm pode ser modelado no simulink. A
principal diferena que ele um sistema discreto, enquanto que o sistema
mola era um sistema contnuo.
Apostila de MATLAB 7.3
Pgina 110 de 114

se observar uma caracterstica tpica dos
sistemas conservativos, que a complementaridade das duas energias ao
se observar que no incio a energia potencial (em
tica (em roxo) nula, devido a
ausncia de movimento. Situao oposta quando o bloco passa pela origem,
O balano de um emprstimo ao fim de um ms equivale aos juros
incidindo sobre o balano do incio do ms menos o pagamento do ms. Uma
Um sistema como esse tambm pode ser modelado no simulink. A
nto que o sistema
Considerando um emprstimo feito por um petiano do curso de
Engenharia Eltrica para a compra de um jatinho, no valor de R$ 5.000.000,00.
Considere um regime amortizado segundo o modelo descrito acima,
taxa de juros mensal fixa de 1%. A pagamento mensal realizado pelo petiano
de R$ 100.000,00. Calcule ento a quantia que o petiano dever ao banco ao
final de 2 anos.
O primeiro passo para a modelagem do sistema definir a sua sada.
Como o petiano deseja saber quanto ele dever ao banco no final dos dois
anos, a soluo desejada o valor numrico de balano(24), j considerando
a unidade temporal como o ms.
O balano dado por uma subtrao, assim ser necessrio utilizar o
bloco Sum, pertencente a biblioteca
bloco ao modelo de sistema, pode
O que se conclui a partir desse smbolo que este bloco tem duas
entradas e uma sada, que retorna a soma das entradas. Se fo
clique, pode-se perceber na configurao dos parmetros do bloco o parmetro
List of Sign, que conter |++. Estes smbolos definem as configuraes
possveis para o somador. Existem vria configuraes, mas a requerida no
problema do petiano a diferena entre os termos da entrada. Trocando |++
por |-+, o bloco ter um novo aspecto:
O bloco Sum ser responsvel por retornar o balano equivalente do
ms. Como observado na equao so entradas sero o pagamento mensal e
o balano do ms anterior. O pagamento, por ser de uma quantia fixa, pode ser
representado por uma constante. O bloco
representar bem o pagamento. Ao se adicionar o bloco, d
modo a trocar o valor da constante, de 1 para 10000.
Apostila de MATLAB 7.3
Pgina
Considerando um emprstimo feito por um petiano do curso de
Engenharia Eltrica para a compra de um jatinho, no valor de R$ 5.000.000,00.
Considere um regime amortizado segundo o modelo descrito acima,
taxa de juros mensal fixa de 1%. A pagamento mensal realizado pelo petiano
de R$ 100.000,00. Calcule ento a quantia que o petiano dever ao banco ao
O primeiro passo para a modelagem do sistema definir a sua sada.
iano deseja saber quanto ele dever ao banco no final dos dois
anos, a soluo desejada o valor numrico de balano(24), j considerando
a unidade temporal como o ms.
O balano dado por uma subtrao, assim ser necessrio utilizar o
tencente a biblioteca Math Operations. Quando se adiciona esse
bloco ao modelo de sistema, pode-se observar o seguinte smbolo:

O que se conclui a partir desse smbolo que este bloco tem duas
entradas e uma sada, que retorna a soma das entradas. Se for dado um duplo
se perceber na configurao dos parmetros do bloco o parmetro
, que conter |++. Estes smbolos definem as configuraes
possveis para o somador. Existem vria configuraes, mas a requerida no
ano a diferena entre os termos da entrada. Trocando |++
+, o bloco ter um novo aspecto:

ser responsvel por retornar o balano equivalente do
ms. Como observado na equao so entradas sero o pagamento mensal e
o balano do ms anterior. O pagamento, por ser de uma quantia fixa, pode ser
representado por uma constante. O bloco Constant, presente em
representar bem o pagamento. Ao se adicionar o bloco, d-se duplo
modo a trocar o valor da constante, de 1 para 10000.

Apostila de MATLAB 7.3
Pgina 111 de 114
Considerando um emprstimo feito por um petiano do curso de
Engenharia Eltrica para a compra de um jatinho, no valor de R$ 5.000.000,00.
Considere um regime amortizado segundo o modelo descrito acima, com uma
taxa de juros mensal fixa de 1%. A pagamento mensal realizado pelo petiano
de R$ 100.000,00. Calcule ento a quantia que o petiano dever ao banco ao
O primeiro passo para a modelagem do sistema definir a sua sada.
iano deseja saber quanto ele dever ao banco no final dos dois
anos, a soluo desejada o valor numrico de balano(24), j considerando
O balano dado por uma subtrao, assim ser necessrio utilizar o
. Quando se adiciona esse
se observar o seguinte smbolo:
O que se conclui a partir desse smbolo que este bloco tem duas
r dado um duplo-
se perceber na configurao dos parmetros do bloco o parmetro
, que conter |++. Estes smbolos definem as configuraes
possveis para o somador. Existem vria configuraes, mas a requerida no
ano a diferena entre os termos da entrada. Trocando |++
ser responsvel por retornar o balano equivalente do
ms. Como observado na equao so entradas sero o pagamento mensal e
o balano do ms anterior. O pagamento, por ser de uma quantia fixa, pode ser
resente em Source pode
se duplo-clique, de
O outro termo do somado ser o balano do incio do ms com os
juros, ou seja, ser necessrio o
necessrio realizar uma operao de atraso no balano atual. O bloco que
define a operao de atraso denominado
biblioteca Discrete. Esse bloco atrasa o sinal de entrada em uma u
Como o sinal a ser atrasado o prprio balano, ento a entrada desse bloco
tem que ser colocada na sada do somador:
A outra entrada do somador ser o balano atrasado (sada de
Delay) multiplicado pelos juros. Como o juro mensal de 1%,
bloco Gain com ganho de 1,01:

Para uma melhor vis
Scope e um bloco chamado
mostra o valor de uma determinada varivel no instante em questo
inicial do financiamento posta no sistema atravs do valor inicial do
Delay, que ser nesse caso de R$ 5.000.000,00
para ser simulado. Sempre recomendvel verificar os parmetros de
simulao em casos discr
escolhida discrete e segundo verificar o tempo de simulao, presente em
Start Time e em Stop Time
escolher um Stop Time
seguinte:
Apostila de MATLAB 7.3
Pgina
O outro termo do somado ser o balano do incio do ms com os
ser necessrio o balano atrasado. Para se obter esse balano
necessrio realizar uma operao de atraso no balano atual. O bloco que
define a operao de atraso denominado Unit Delay, est presente na
. Esse bloco atrasa o sinal de entrada em uma u
Como o sinal a ser atrasado o prprio balano, ento a entrada desse bloco
tem que ser colocada na sada do somador:

A outra entrada do somador ser o balano atrasado (sada de
) multiplicado pelos juros. Como o juro mensal de 1%, ser usado um
com ganho de 1,01:


Para uma melhor visualizao dos clculos feitos, ser utilizado um
e um bloco chamado Display, presente na biblioteca Sinks
mostra o valor de uma determinada varivel no instante em questo
inicial do financiamento posta no sistema atravs do valor inicial do
nesse caso de R$ 5.000.000,00. O sistema est ento pronto
para ser simulado. Sempre recomendvel verificar os parmetros de
simulao em casos discretos. Primeiro verificar se a opo de soluo
e segundo verificar o tempo de simulao, presente em
Stop Time. Como se que o valor ao final de dois anos, deve
Stop Time igual a 25 (devido ao atraso). O resultado ser o
Apostila de MATLAB 7.3
Pgina 112 de 114
O outro termo do somado ser o balano do incio do ms com os
balano atrasado. Para se obter esse balano
necessrio realizar uma operao de atraso no balano atual. O bloco que
, est presente na
. Esse bloco atrasa o sinal de entrada em uma unidade.
Como o sinal a ser atrasado o prprio balano, ento a entrada desse bloco
A outra entrada do somador ser o balano atrasado (sada de Unit
ser usado um

ualizao dos clculos feitos, ser utilizado um
Sinks. Esse bloco
mostra o valor de uma determinada varivel no instante em questo. A quantia
inicial do financiamento posta no sistema atravs do valor inicial do Unit
O sistema est ento pronto
para ser simulado. Sempre recomendvel verificar os parmetros de
etos. Primeiro verificar se a opo de soluo
e segundo verificar o tempo de simulao, presente em
. Como se que o valor ao final de dois anos, deve-se
esultado ser o
O que mostra que ao final dos dois anos, o p
uma dvida de R$ 3.587.840,03 com o banco.

Apostila de MATLAB 7.3
Pgina
que ao final dos dois anos, o petiano endividado ter
uma dvida de R$ 3.587.840,03 com o banco.

Apostila de MATLAB 7.3
Pgina 113 de 114

etiano endividado ter
15. REFERNCIAS BIBLIOGR
[ 1 ] CARNAHAN, Brice,
numerical methods. John Wiley

[ 2 ] GES, Hilder &
Edio. ABC Editora. Fortaleza

[ 3 ] HAYKIN, Simon &
Bookman. Porto Alegre

[ 4 ] HAYT, William H. Jr. &
Editora LTC. Rio de Janeiro

[ 5 ] LEITHOLD, Louis.
Volume I. Editora Habra. So Paulo

[ 6 ] NILSSON, James W
Editora LTC. Rio de Janeiro




Apostila de MATLAB 7.3
Pgina
REFERNCIAS BIBLIOGRFICAS
, Brice, LUTHER, H. A. & WILKES, James O.
. John Wiley & Sons, Inc. Nova Iorque 1969.
& TONAR, Ubaldo. Matemtica para Concursos
Edio. ABC Editora. Fortaleza CE. 2001.
, Simon & VEEN, Barry Van. Sinais e Sistemas
RS. 2001
, William H. Jr. & BUCK, Jonh A. Eletromagnetismo
Editora LTC. Rio de Janeiro RJ. 2001.
, Louis. O Clculo com Geometria Analtica
Volume I. Editora Habra. So Paulo SP. 1994.
, James W & RIEDEL, Susan A. Circuitos Eltricos
Rio de Janeiro RJ. 2003.
Apostila de MATLAB 7.3
Pgina 114 de 114
, James O. Applied
1969.
Matemtica para Concursos. 6
Sinais e Sistemas. Editora
Eletromagnetismo. 6 Edio.
O Clculo com Geometria Analtica. 3 Edio.
Circuitos Eltricos. 6 Edio.