Buscar

Apostila MATLAB SATEL

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

UNIVERSIDADE FEDERAL DE UBERLAˆNDIA
CAMPUS AVANC¸ADO DE PATOS DE MINAS
FACULDADE DE ENGENHARIA ELE´TRICA
II SEMANA ACADEˆMICA DE TELECOMUNICAC¸O˜ES - SATEL
MATLAB PARA ENGENHARIA
MARTA HELENA DE OLIVEIRA
LIZANDRA NUNES OLIVEIRA
2016
Suma´rio
1 A´lgebra Matricial 2
1.1 Operac¸o˜es ba´sicas com varia´veis . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Vetores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Polinoˆmios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2 Gra´ficos e Loops 12
2.1 Arquivos M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2 Controle de fluxo: loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Gra´ficos Bidimensionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4 Gra´ficos Tridimensionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3 Ca´lculo Diferencial e Integral 18
4 Ca´lculo Nume´rico 21
4.1 Sistemas de equac¸o˜es na˜o lineares . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2 Integrac¸a˜o Nume´rica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.3 Equac¸o˜es Diferenciais Ordina´rias . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5 Transformadas: Laplace e Fourier 28
5.1 Transformadas de Laplace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.2 Transformadas de Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.2.1 Transformada Discreta de Fourier (TFD) . . . . . . . . . . . . . . . . . . 31
5.2.2 Transformada Ra´pida de Fourier . . . . . . . . . . . . . . . . . . . . . . 31
6 Aplicac¸a˜o para Engenharia Eletroˆnica e de Telecomunicac¸a˜o 33
Refereˆncias Bibliogra´ficas 34
Cap´ıtulo 1
A´lgebra Matricial
O Matlab e´ uma linguagem de programac¸a˜o e uma ferramenta de visualizac¸a˜o de dados e
oferece um vasto conjunto de recursos para resoluc¸a˜o de problemas nas a´reas de engenharia,
cieˆncias, computac¸a˜o e matema´tica.
1.1 Operac¸o˜es ba´sicas com varia´veis
Pode-se atribuir um valor a uma constante no MATLAB atrave´s de sequeˆncia de d´ıgitos,
inteiros, decimais ou fraciona´rios, precedidos de sinais, positivo (+) ou negativo (−). Por
exemplo,
a) a = 2
b) b = −4.16
c) c = 3/4
Os operadores aritme´ticos ba´sicos para a manipulac¸a˜o de varia´veis esta˜o na tabela abaixo.
Operac¸a˜o Comando
soma +
subtrac¸a˜o −
multiplicac¸a˜o ∗
divisa˜o /
potenciac¸a˜o ˆ
raiz quadrada sqrt()
Observac¸a˜o. Existem algumas func¸o˜es ba´sicas no MatLab que sa˜o importantes desde os
primeiros passos para introduc¸a˜o ao MatLab. Algumas delas foram listadas na tabela.
2
3
Func¸a˜o Comando
help Retorna informac¸o˜es necessa´rias para se utilizar determinada func¸a˜o
(tendo seu nome escrito a` frente do help)
clear all limpa as varia´veis que foram guardadas no workspace
clc limpa todo o histo´rio da janela de comandos
Exemplo 1.1 As operac¸o˜es aritme´ticas ba´sicas podem ser feitas atrave´s dos seguintes opera-
dores:
a) a+ b
b) a− b
c) a ∗ b
d) a/b
e) aˆ2
f) bˆ(1/2)
g) sqrt(a)
Exerc´ıcio 1.1 Resolva as expresso˜es alge´bricas abaixo para x = pi,y = 1.34 e z = 2.67
a) 2x2 + 1y
3
+
√
z
b)
x.y.z0.75
x.z.
√
x+y+z
Exerc´ıcio 1.2 Para um cilindro de altura h = 8, 75 e raio = 2, 28 calcule:
a) O comprimento do c´ırculo.
b) A a´rea da base.
c) A a´rea lateral.
d) A a´rea total.
e) O volume.
4
Exerc´ıcio 1.3 Para um cubo de aresta a = 1, 26 calcule:
a) O valor da diagonal de cada face que compo˜e o cubo.
b) O valor da a´rea de cada face.
c) A a´rea total
d) O volume.
1.2 Vetores
Vetor e´ um segmento de reta orientado. Em diversas linguagens de programac¸a˜o e´ muito uti-
lizado porque armazena um conjunto de valores que pode representar determinadas operac¸o˜es
matema´ticas ou um fenoˆmeno f´ısico a ser processado, como um sinal card´ıaco por exemplo.
Matematicamente tambe´m pode ser definido como sendo uma matriz linha. Sua representac¸a˜o
gene´rica e´ dada da seguinte forma:
v = [a11 a12 a13 a14 ... a1n]
Ja´ a declarac¸a˜o no ambiente de programac¸a˜o do MatLab e´ feita assim:
>> vetor1 = [1 2 3 4 5]
vetor1 =
1 2 3 4 5
>> vetor2 = [1; 2; 3; 4; 5]
vetor2 =
1
2
3
4
5
5
Como pode ser visto acima, um vetor carrega um conjunto de valores alocados em posic¸o˜es
definidas. Para acessar um determinado valor que esta´ contido no vetor basta digitar a posic¸a˜o
em que ele se encontra.
>> vetor1(1)
ans =
1
>> v1(3 : 4)
ans =
3 4
Tambe´m e´ poss´ıvel criar vetores estabelecendo-se os valores inicial e final e a variac¸a˜o que
havera´ entre ele. Assim, pode-se criar um vetor que vai de 1 ate´ 1000 variando de 0.1 em 0.1,
por exemplo, sem ter que digitar cada um dos valores. E´ feito da seguinte forma:
>> v = [1 : 0.1 : 1000];
onde 1 e´ o valor inicial do vetor; 0.1 a variac¸a˜o e 1000 o valor final.
Transformar um vetor linha em vetor coluna, ou vice versa, e´ o mesmo que calcular a
transposta do vetor. O que pode ser facilmente obtido atrave´s do comado:
>> v1 = [1 2 3 4 5];
>> v1 transposta = v1′
v1 transposta = 1
2
3
4
5
Exerc´ıcio 1.4 Fac¸a os itens abaixo:
a) Declare o vetor linha que vai de 1 ate´ 15 variando de 1.5 em 1.5.
b) Obtenha o resultado da multiplicac¸a˜o entre o valor alocado na posic¸a˜o 5 e na posic¸a˜o 11.
6
c) Obtenha o vetor coluna.
Existem inu´meras operac¸o˜es e manipulac¸o˜es que podem ser feitas com vetores. As operac¸o˜es
alge´bricas ba´sicas como adic¸a˜o, subtrac¸a˜o, multiplicac¸a˜o, divisa˜o, radiciac¸a˜o e potenciac¸a˜o po-
dem ser feitas com os mesmos operadores mostrados para varia´veis. Entretanto, para realiza´-las
e´ obrigato´rio que as matrizes envolvidas possuam uma coereˆncia em relac¸a˜o ao seus tamanhos.
Deste modo, para adic¸a˜o e subtrac¸a˜o e´ necessa´rio que as matrizes possuam o mesmo tamanho,
tanto para linhas quanto para colunas. Ja´ para o caso da multiplicac¸a˜o, de acordo com a regra
matema´tica, feita entre duas matrizes A e B e´ preciso que o nu´mero de colunas de A seja igual
ao nu´mero de linhas de B. Ale´m disso, e´ interesse manipular vetores com func¸o˜es que ja´ existem
no MatLab, algumas esta˜o mostradas na tabela abaixo.
Func¸a˜o Comando
length(V) Retorna o tamanho do vetor, nu´mero de elementos de V
size(V) Retorna o nu´mero de linhas e colunas do vetor V
sum(V) Retorna o somato´rio dos elementos do vetor V
prod(V) Retorna o produto entre os elementos do vetor V
norm(V) Retorna o valor da norma do vetor V
cross(A,B) Retorna o produto vetorial entre A e B
dot(A,B) Retorna o produto escalar entre A e B
max(V) Retorna o maior valor de V
min(V) Retorna o menor valor de V
roots[] Retorna as ra´ızes de um polinoˆmio definido pelos seus coeficientes
Exerc´ıcio 1.5 Declare um vetor A que vai de 1 ate´ 200 com incremento de 2.5 e responda aos
itens abaixo
a) Quais as dimenso˜es do vetor?
b) Calcule o somato´rio dos elementos.
c) Calcule o produto entre os elementos
d) Calcule a norma do vetor
e) Crie um vetor B que vai de 1 a 400 com incremento de 2.5.
f) Calcule o produto escalar entre A e B. Qual o maior valor do vetor resultado?
g) Calcule o produto escalar entre a = [1 2 3] e b = [3 4 5]
7
Exerc´ıcio 1.6 Encontre as ra´ızes dos polinoˆmios: xˆ4 + 3xˆ2 + 2x e xˆ2 + 4.
1.3 Matrizes
Uma matriz e´ composta por elementos distribu´ıdos em i linhas e j colunas. Em linguagens
de programac¸a˜o e´ utilizada de forma ana´loga aos vetores, visto que um vetor pode ser uma
matriz linha ou uma matrizcoluna.
A declarac¸a˜o de matrizes e´ feita da seguinte maneira:
>> a = [1 2 3; 1 2 3]
a =
1 2 3
1 2 3
>> b = [0 : 1 : 4; 0 : 2 : 8]
b =
0 1 2 3 4
0 2 4 6 8
Tambe´m pode ser feita a concatenac¸a˜o de matrizes:
>> c = [a, b]
c =
1 2 3 0 1 2 3 4
1 2 3 0 2 4 6 8
Analogamente aos vetores, para acessar determinados elementos da matriz basta ’chamar’
a posic¸a˜o em que eles se encontram. Assim:
>> c(1, 4)
ans =
8
0
>> c(2, 7)
ans =
6
>> c(1, :)
ans =
1 2 3 0 1 2 3 4
Diversas operac¸o˜es podem ser feitas com matrizes. Pode-se somar ou multiplicar duas matri-
zes atentando-se para a regra das dimenso˜es, explicada na sec¸a˜o anterior. Ale´m disso, existem
func¸o˜es que permitem calcular o determinante, a inversa e a transposta de uma matriz. A
Tabela abaixo lista alguns comando importantes.
Comando Operac¸a˜o
det() Calcula o determinante de uma matriz quadrada
inv() Calcula a inversa de uma matriz
′ Calcula a transposta de uma matriz
ones(m,n) Gera uma matriz quadrada unita´ria com m linhas e n colunas
zeros(m,n) Gera uma matriz de valores nulos de m linhas e n colunas
eye(m,n) Gera uma matriz identidade de m linhas e n colunas
rand(m,n) Gera uma matriz com valores aleato´rios entre 0 e 1 de m linhas e n colunas
trace() Gera um vetor com a soma dos elementos da diagonal principal de uma matriz
quadrada
Exemplo 1.2 Declare uma matriz com unita´ria 5x5 e responda aos itens.
a) Calcule o determinante.
b) Calcule a transposta.
c) Calcule a inversa.
d) Gere uma matriz identidade 5x2.
e) Some as duas matrizes.
9
f) Multiplique as duas matrizes.
Exerc´ıcio 1.7 Declare as matrizes A, B, C e D no MatLab e fac¸a as operac¸o˜es pedidas
nos itens abaixo. A = [2 4 6; 8 7 11; 2 9 10], B = [1 3.5 8.75], C =
[2.2 1.2 1.1; 5 6 7; 4.3 5.6 5.8; 2 11 2.4] e D = [0 1 3].
a) E = det(A− ΛI)comΛ = −6
b) F = (A)− 1B
c) A.F
d) Bt.C
e) A soma dos elementos da diagonal principal da matriz C.
Exerc´ıcio 1.8 Um triaˆngulo e´ composto pelos ve´rtices A(6,-1,2), B(-2,3,-4) e C(-3,1,5). De-
termine o per´ımetro do triaˆngulo e aˆngulos entre os ve´rtices A e B.
Comando Descric¸a˜o
diag Exprime os elementos da diagonal principal da matriz
norm(X,2) Calcula a norma 2 da matriz ou do vetor X
norm(X) Executa a mesma func¸a˜o de norm(X,2)
norm(X,1) Calcula a norma 1 da matriz ou do vetor X
norm(X,inf) Calcula a norma infinito da matriz ou do vetor X
Definic¸a˜o 1.1 A Norma de x ∈ Rn e´ um nu´mero real na˜o negativo que satisfaz as proprie-
dades:
1) ‖x‖ ≥ 0, ∀x ∈ Rn
2) ‖αx‖ = |α| ‖x‖, ∀x ∈ Rn e ∀α ∈ R
3) ‖x+ y‖ ≤ ‖x‖+ ‖y‖, ∀x, y ∈ Rn
Norma de matrizes e vetores: Considere a matriz A ∈ Rn×m.
As normas matriciais mais usadas sa˜o:
‖A‖1 = max1≤j≤m
{
n∑
i=1
|aij|
}
Norma do Ma´ximo das Colunas
10
‖A‖∞ = max1≤i≤n
{
m∑
j=1
|aij|
}
Norma do Ma´ximo das Linhas
‖A‖2 =
(
n∑
i=1
m∑
j=1
|aij|2
)1/2
Norma Euclidiana
A norma vetorial pode ser vista como um caso particular da norma matricial, onde x e´ um
vetor do Rn, ou seja, x e´ uma matriz x× 1. Assim as normas para vetores sa˜o dadas por
‖x‖1 =
n∑
i=1
|xi| Norma da soma
‖x‖∞ = max1≤i≤n |xi| Norma do Ma´ximo
‖x‖2 =
(
n∑
i=1
|xi|2
)1/2
Norma Euclidiana
1.4 Polinoˆmios
Para encontrar as ra´ızes de um polinoˆmio de grau n defina um vetor com os coeficientes do
polinoˆmio e utilize o comando roots.
Exemplo 1.3 Determine as ra´ızes do polinoˆmio p(x) = x3 + 2x2 − 5x− 6.
p=[1 2 -5 -6];
roots(p)
Exerc´ıcio 1.9 Determine as ra´ızes do polinoˆmio p(x) = x3 + 2x2 + 5x+ 6.
Exerc´ıcio 1.10 Determine as ra´ızes do polinoˆmio p(x) = x3 + 7x2 − 13x− 58.
O comando poly determina os coeficientes do polinoˆmio apartir de suas ra´ızes.
Exemplo 1.4 Determine os coeficientes do polinoˆmio p(x) que possui as ra´ızes −3, 1, 2.
r=[2 -3 1];
poly(r)
O comando polyval determina o valor do polinoˆmio para uma determinada entrada. Se a
entrada for uma matriz a func¸a˜o retorna o valor do polinoˆmio para cada elemento.
Exemplo 1.5 Determine o valor do polinoˆmio p(x)x5+5x4−2x3+3x2+8x = 3.2 para x = √2
que possui as ra´ızes −3, 1, 2.
11
p=[1 5 -2 3 8 3.2];
>> polyval(p,sqrt(2))
O comando latex define uma expressa˜o simbo´lica para textos em formato Latex.
Cap´ıtulo 2
Gra´ficos e Loops
2.1 Arquivos M
Para problemas mais simples e´ ra´pido e eficiente introduzir os comandos no prompt do
Matlab. Mas se o nu´mero de comandos e´ grande, se voceˆ precisa reexecutar pode-se utilizar
arquivos de texto e pedir ao Matlab para executar. Esses arquivos sa˜o chamados arquivos M.
Para criar um arquivo M, deˆ um selecione o item New Script do menu Home na barra
de ferramentas do Matlab. Esse procedimento abre a janela do editor de texto do Matlab.
Para executar o arquivo, apo´s teˆ-lo salvo, tecle F5 ou clique na seta verde Run.
2.2 Controle de fluxo: loops
O Matlab possui recursos que permitem o controle de fluxo de execuc¸a˜o de comandos com
base em estruturas de tomada de decisa˜o. Como essas estruturas, muitas vezes, envolvem di-
versos comandos e´ aconselha´vel utilizar arquivos M para compilac¸a˜o.
Os loops for possibilitam que um comando seja repetido por um nu´mero predefinido. Todo
loop for deve ser finalizado com end.
Exemplo 2.1 Somar uma unidade ao valor inicial x = 5.
clc
clear
x = 5;
n = 10;
fork = 1 : n
x = x+ 1;
12
13
end
disp(x)
Exerc´ıcio 2.1 Utilizando o loop for divida o intervalo [0, 2] em 10 subintervalos igualmente
espac¸ados.
Exerc´ıcio 2.2 Utilizando o loop construa uma matriz A de ordem 5 na qual os elementos aij
sa˜o da forma aij =
1
i+j−1 .
Os loops while executa um comando um nu´mero de vezes ate´ que uma pre´ determinada
condic¸a˜o seja atingida.
Exemplo 2.2 Dividir o extremo superior do intervalo [5, 100] ao meio ate´ que a amplitude do
intervalo seja, no ma´ximo 2.
clc
clear
a = 5;
b = 100;
e = b− a;
while e > 2.0
b = b/2;
e = b− a;
end
disp(e)
Exerc´ıcio 2.3 Defina uma matriz identidade F e uma matriz randoˆmica A de ordem n aleato´ria.
Construa uma algoritmo utilizando o loop while para fazer a operac¸a˜o F = A ∗ F/N ate´ que a
norma 1 da matriz F seja maior que 0.1. Inicialize com N = 1.
Os loops if-else-end executam comandos condicionalmente, com base em um teste relaci-
onal.
Exemplo 2.3 Verificar se o aluno esta´ aprovado ou reprovado em determinada disciplina apo´s
fornecida sua nota.
clc
clear
nota = input(′Entre com a nota a ser verificada :′);
14
ifnota >= 60
disp(′Aprovado′)
else
disp(′Reprovado′)
end
Exerc´ıcio 2.4 Construa um co´digo utilizando o loop if-else-end para determinar as ra´ızes de
uma equac¸a˜o do segundo grau f = ax2 + bx+ c.
2.3 Gra´ficos Bidimensionais
O comando mais comum para criac¸a˜o de gra´ficos em duas dimenso˜es (x, y) e´ o comando plot.
S´ımbolo Cor Simbolo Marcador S´ımbolo Tipo de Linha
b Azul . Ponto - Linha cont´ınua
g Verde o C´ırculo : Linha pontilhada
r Vermelho x Cruz -. Trac¸os e pontos
c Ciano + Sinal de positivo – Linha tracejada
m Magenta * Asteristico
y Amarelo s Quadrado
k Preto d Losanog
w Branco v Traˆngulo para baixô Triaˆngulo para cima
< Triaˆngulo para esquerda
> Triaˆngulo para direita
p Pentagrama
h Hexagama
Exemplo 2.4 Esse exemplo constro´i o gra´fico da func¸a˜o y = sen(x) no intervalo [0, 2pi].
>> x = linspace(0, 2 ∗ pi, 100);
>> y = sin(x);
>> plot(x, y)
O comando linspace divide o intervalo [0, 2pi] em 100 pontos igualmente espac¸ados.
Exemplo 2.5 Especificando o estilo da linha do gra´fico.
>> x = linspace(−4, 4, 100);
>> y = cos(x);
>> f = sin(x);
15
>> plot(x, y,′ p′, x, f,′ r′)
legend(′Cosseno′,′ Seno′)
Comando Descric¸a˜ohold on Acrescenta novas curvas a` janela gra´fica existente
hold off Libera a janela gra´fica aberta
grid on Adiciona linhas de grade ao gra´fico
grid off Remove as linhas de grade do gra´fico
box off Retira a caixa do gra´fico
xlabel Atribui nome ao eixo das abscissas
ylabel Atribui nome ao eixo das ordenadas
title Insere t´ıtulo no gra´fico
legend Adiciona legenda ao gra´fico
axis[xmin xmax ymin ymax] Define os valores mı´nimos e ma´ximos dos eixos
clf Limpa a janela gra´fica sem fecha´-la
figure Cria uma nova janela de figura
ezplot Constro´i gra´fico de func¸o˜es definidas por objetos
matema´ticos simbo´licos
stem Constro´i gra´fico de uma sequeˆncia de dados discretos
text(x,y,’string’) Cria objetos de texto ponto (x,y) do gra´fico.
O comando subplot(m,n,p) subdivide a janela da figura em uma matriz com m por n
regio˜es nas quais se pode trac¸ar gra´ficos e ativa a p-e´sima regia˜o. Os subgra´ficos sa˜o enumera-
dos da esquerda para a direita e da primeira linha para a u´ltima.
Exemplo 2.6 Exemplo do comando subplot:
x=-2:0.01:2;
y=exp(x.^2);
z=cosh(x);
subplot(2,1,1)
plot(x,y)
title( ’Gra´fico da func¸~ao exp(x^2)’)
subplot(2,1,2)
plot(x,z)
title( ’Gra´fico da func¸~ao cosh(x)’)
O comando replace substitui o respectivo gra´fico caso ele ja´ exista, por exemplo, sub-
plot(m,n,p,’replace’).
16
Exerc´ıcio 2.5 Construa o gra´fico das func¸o˜es f(x) = x4, g(x) = 1
x
, h(x) =
√
x e k(x) =
3sec(x) no intervalo [1.8, 4.5] utilizando o comando subplot(2,2,string).
Exerc´ıcio 2.6 Construa o gra´fico da func¸a˜o discreta tabelada abaixo de formas diferentes. Uti-
lizando o argumento ′∗′ e o comando stem.
x -1 -0.7 -0.4 -0.1 0.2 0.5 0.8 1.0
f(x) 36.55 17.264 8.155 3.852 1.820 0.86 0.406 0.246
2.4 Gra´ficos Tridimensionais
Para construc¸a˜o de gra´ficos tridimencionais utiliza-se o comando surf.
Exemplo 2.7 Esse exemplo constro´i o gra´fico da func¸a˜o z = x2 + y2 no intervalo [−7, 7].
clc
clear
x=-7:0.1:7;
y=x;
[X,Y]=meshgrid(x,y);
z=X.^2+Y.^2;
surf(X,Y,z)
O comando meshgrid aceita dois vetores e produz duas matrizes que conteˆm os dados de
entrada repetidos, de modo que todas as combinac¸o˜es poss´ıveis desses dados sa˜o consideradas
para construc¸a˜o do gra´fico.
Exemplo 2.8 Esse exemplo constro´i o gra´fico da parabolo´ide hiperbo´lico z = y2− x2 no inter-
valo [−7, 7] e suas respectivas curvas de n´ıvel.
clc
clear
x=-7:0.1:7;
y=x;
[X,Y]=meshgrid(x,y);
z=Y.^2-X.^2;
surf(X,Y,z)
figure
contour(z)
O comando contour constro´i as curvas de n´ıvel do gra´fico da func¸a˜o.
17
Exerc´ıcio 2.7 Construa o gra´fico da func¸a˜o z =
√
x2 + y2 no intervalo [−10, 10] e suas res-
pectivas curvas de n´ıvel.
Exemplo 2.9 Esse exemplo constro´i o cone apartir da revoluc¸a˜o da func¸a˜o y = x no intervalo
[0, 1].
clc
clear
x = 0 : 0.05 : 2;
y = x;
plot(x, y)
figure
cylinder(y)
O comando cylinder constro´i so´lido de revoluc¸a˜o da func¸a˜o f.
Exerc´ıcio 2.8 Construa o gra´fico de revoluc¸a˜o func¸a˜o y = ex no intervalo [0, 3].
Exerc´ıcio 2.9 Construa o gra´fico da func¸a˜o z = x0.5 − ( y
x
)0.2
+
(
64
y
)1/3
.
Exerc´ıcio 2.10 Construa o gra´fico da func¸a˜o z =
1√
x2 + y2
.
Cap´ıtulo 3
Ca´lculo Diferencial e Integral
O MATLAB disponibiliza func¸o˜es que facilitam a operac¸a˜o de certos to´picos matema´ticos.
Em geral e´ preciso trabalhar com varia´veis em geral. Para isso utilizamos a matema´tica
simlo´lica.
Comando Descric¸a˜o
sym Define varia´veis, expresso˜es e objetos como simbo´lico
syms Determina que os argumentos acompanhados tera˜o cara´ter simbo´lico
findsym Quando se deseja determinar quais sa˜o os paraˆmetros simbo´licos
em uma expressa˜o
subs Substitui a varia´vel declarada simbo´lica por outra ou por um nu´mero
Exemplo 3.1 Exemplo do comando subs:
syms a b
x=a^2+sqrt(b);
a=3;
b=\pi;
subs(x)
Exemplo 3.2 Determine a func¸a˜o inversa do polinoˆmio x(x(x− 6) + 11)− 6.
syms x
f=collect(x*(x*(x-6)+11)-6);
f=collect(x*(x*(x-6)+11)-6);
finverse(f)
A tabela abaixo resume algumas func¸o˜es da matema´ticas ba´sica utilizados na biblioteca do
Matlab.
18
19
Comando Descric¸a˜o
collect Reescreve a expressa˜o como um polinoˆmio
expand Expande a expressa˜o em produtos e somas
horner Determina o fator em comum da expressa˜o
factor Fatora o polinoˆmio, se os coeficientes sa˜o racionais
poly Determina os coeficientes do polinoˆmio a partir de suas ra´ızes
polyval Determina o valor do polinoˆmio para uma determinada entrada
roots Determina as ra´ızes do polinoˆmio
simplify Simplifica as expresso˜es, de forma mais geral.
compose Calcula a composic¸a˜o das func¸o˜es
finverse Encontra a func¸a˜o inversa
polyder Determina a derivada de polinoˆmios
diff Calcula a diferenc¸a entre os componentes de vetores
quiver Desenha setas normais a` superf´ıcie da base
del2 Laplaciano discreto
Ca´lculo Diferencial e Integral
O limite, a diferenciac¸a˜o e a integrac¸a˜o sa˜o ferramentas fundamentais do ca´lculo diferencial
e integral. O Matlab possui func¸o˜es para aproximar a essas operac¸o˜es.
Exemplo 3.3 Calcule o limite lim
x→0
x2.
syms x
limit(x2)
Exemplo 3.4 Fac¸a o estudo do limite lim
x→1+
|x− 1|
x− 1 .
syms x
limit(′(abs(x− 1)/(x− 1))′, x, 1,′ right′)
20
Comando Descric¸a˜o
limit(F,x,a) Calcula o limite de uma expressa˜o simbo´lica com x tendendo a a
limit(F,a) Determina o limite de tendendo a a
limit(F) Determina o limite com a
limit(F,x,a,’right’) Calcula o limite com x tendendo a a pela direita
limit(F,x,a,’left’) Calcula o limite com x tendendo a a pela esquerda
diff(S) Diferencia a expressa˜o simbo´lica varia´vel simbo´lica
diff(S,’v’) Diferencia S em torno de uma varia´vel simbo´lica v
diff(S,n) Diferencia S por n vezes, para um nu´mero n inteiro
diff(S,’v’,n) Diferencia S por n vezes, em torno de uma varia´vel v
int(S) Integrac¸a˜o indefinida da func¸a˜o S considerando uma varia´vel simbo´lica
ja´ definida
int(S,a,b) Integra a func¸a˜o S no intervalo [a, b]
int(S,v,a,b) Integra a func¸a˜o S no intervalo [a, b] em func¸a˜o de uma varia´vel v
Exerc´ıcio 3.1 Fac¸a o estudo do limite lim
x→2
5x − 25
x− 2
R: 25ln(5).
Exemplo 3.5 Determine a primeira derivada da func¸a˜o f(x) =
√
ln(x) + ex.
syms x;
f=sqrt(log(x)+exp(x));
d=diff(f)
Para visualizar a func¸a˜o obtida utiliza-se o comando pretty(d).
Exerc´ıcio 3.2 Detemine a derivada terceira da func¸a˜o do exemplo 3.5.
Exemplo 3.6 Calcule a integral da func¸a˜o f(x) =
√
x2 + 5.
syms x
y=sqrt(x^2+5);
f=int(y,x)
Exemplo 3.7 Calcule a integral
∫ 4
1
√
x2 + 5 dx.
syms x
y=sqrt(x^2+5);
f=int(y,x,1,4)
Para visualizar o valor nume´rico utilze o comando eval(f) ao fim da operac¸a˜o.
Exerc´ıcio 3.3 Utilizando integral, calcule a a´rea entre as curvas g(x) =
√
x e f(x) = x2 no
intervalo [0, 1].
Cap´ıtulo 4
Ca´lculo Nume´rico
Sistemas Lineares
Um sistema linear de ordem n se escreve da forma
a11x1 + a12x2 + a13x3 + · · · + a1nxn = b1
a21x1 + a22x2 + a23x3 + · · · + a2nxn = b2
...
...
...
. . .
...
...
an1x1 + an2x2 + an3x3 + · · · + annxn = bn.
(4.1)
onde aij sa˜o os coeficientes, xi sa˜o as inco´gnitas e bj sa˜o os termos independentes. Esse sistema
possui uma representac¸a˜o matricial na forma
Ax = b
com A ∈ Rn×n, x, b ∈ Rn×1, ou seja,
A =

a11 a12 · · · a1n
a21 a22 · · · a2n
...
...
. . .
...
an1 an2 · · · ann
 , x =

x1
x2
...
xn
 e b =

b1
b2
...
bn
 .
Considere o sistema linear abaixo:
−7x1 + 3x2 + 2x3 = −2
x1 + 3x2 − x3 = 3
x1 + x2 − 3x3 = −1
Exerc´ıcio 4.1 Considerando a matriz A, dos coeficientesdo sistema acima, responda as se-
guintes questo˜es:
a) verifique se a matriz A e´ diagonalmente dominante;
21
22
b) calcule os autovalores da matriz A;
c) verifique se a matriz A e´ positiva definida;
d) calcule o determinante da matriz A;
e) calcule todas as normas vistas da matriz A;
f) calcule todas as normas vistas do vetor b.
Exerc´ıcio 4.2 a) A matriz do exerc´ıcio 4.1 e´ na˜o singular?
b) O sistema linear acima pode ser resolvido pelo me´todo tradicional x = A−1.b?
c) Se a resposta do item anterior for positiva, resolva o sistema.
Comando Descric¸a˜o
[L,U] = lu(A) Fornece a fatorac¸a˜o LU da matriz A
(com pivoteamento)
rref Resolve o sistema linear pelo me´todo de eliminac¸a˜o de Gauss-Jordan
polyfit(x,y,n) Determina o polinoˆmio interpolador de grau n nos pontos x e y, pela
fatorac¸a˜o QR.
solve Determina a soluc¸a˜o de equac¸o˜es alge´bricas simbo´licas
dsolve Determina a soluc¸a˜o de equac¸o˜es diferenciais ordina´rias simbo´licas
trapz Determina a integrac¸a˜o de uma func¸a˜o a partir da Regra do Trape´zio
quad Determina a integrac¸a˜o de uma func¸a˜o a partir da Regra de Simpson
quadgk Determina a integrac¸a˜o pela quadratura de Gauss-Kronroad
dblquad Determina a integrac¸a˜o dupla de uma func¸a˜o
triplequad Determina a integrac¸a˜o tripla de uma func¸a˜o
gradient Utiliza as diferenc¸as centradas para estimar a inclinac¸a˜o da curva em cada
ponto
divergence Determina o divergente de um campo vetorial
quiver3 Constro´i o gra´fico de setas representando a velocidade
Exemplo 4.1 Resolva o sistema linear do exerc´ıcio 4.1 pela fatorac¸a˜o LU.
A=[-7 3 2; 1 3 -1; 1 1 -3];
b=[-2 3 -1]’;
[L,U]=lu(A);
y=L\b;
x=U\y
23
Outra opc¸a˜o para utilizar a fatorac¸a˜o LU na resoluc¸a˜o de sistemas lineares e´ atrave´s do
comando linsolve(A,b) inserido no exemplo acima na quarta linha.
Exemplo 4.2 Resolva o sistema linear do exerc´ıcio 4.1 pelo me´todo de eliminac¸a˜o de Gauss-
Jordan.
A=[-7 3 2 -2; 1 3 -1 3; 1 1 -3 -1];
x=rref(A)
Exerc´ıcio 4.3 Resolva o sistema linear abaixo.
2x1 + 2x2 + x3 + x4 = 7
x1 − x2 + x3 − x4 = 1
3x1 + 2x2 − 3x3 − 2x4 = 4
4x1 + 3x2 + 2x3 + x4 = 12
Exerc´ıcio 4.4 Resolva o sistema linear abaixo.
14 x1 − 11.179108 x2 + 29.978713 x3 = 7
−11.179108 x1 + 8.9266036 x2 − 23.938233 x3 = 1
29.978713 x1 − 23.938233 x2 + 67.658827 x3 = 4
Zero de func¸o˜es na˜o lineares e ajuste de curvas
Um nu´mero x que satisfaz a equac¸a˜o f(x) = 0 e´ chamado de raiz ou zero da func¸a˜o f .
Teorema 4.1 seja f(x) uma func¸a˜o cont´ınua em um intervalo [a, b]. Se
f(a).f(b) < 0
enta˜o existe pelo menos uma raiz ξ ∈ [a, b].
Exemplo 4.3 Determine a raiz da func¸a˜o f(x) = x2 − 4 pro´xima a x = 1.
y=@(x)x^2-4;
fzero(y,1)
Exerc´ıcio 4.5 Calcule uma raiz das func¸o˜es abaixo:
a) f(x) = 2x − cos(x)
b) f(x) = e3x − sen(x)
24
Comando Descric¸a˜o
symsum Determina o somato´rio simbo´lico de uma expressa˜o
taylor Expande em se´rie de Taylor
lsqr Me´todo dos mı´nimos quadrados
lsline Acrescenta uma linha ao gra´fico do ajuste linear pelo comando plot/scatter
na figura atual
fzero Encontra a raiz da equac¸a˜o
fsolve Encontra a soluc¸a˜o de um sistema de equac¸o˜es na˜o lineares
fminsearch Determina o mı´nimo de func¸a˜o irrestrita de va´rias varia´veis reais
fminbnd Determina o mı´nimo de func¸a˜o de va´rias varia´veis reais, com restric¸a˜o
cftool Ajuste de curvas de forma iterativa
fuzzy Estudo do sistema de infereˆncia fuzzy
Exemplo 4.4 Interpole a func¸a˜o f(x) = cos(x) no intervalo [0, 2 ∗ pi].
X = 0:2*pi;
V = cos(X);
Xq = 0:.25:2*pi;
Vq = interp1(X,V,Xq);
plot(X,V,’o’,Xq,Vq)
Exemplo 4.5 Interpole a func¸a˜o f(x) = cos(x) no intervalo [0, 2 ∗ pi]. Interpole x = 2.
x = linspace(0,2*pi,5);
y = cos(x);
p = interp1(x,y,[2],’linear’);
disp(p)
O argumento linear indica que a interpolac¸a˜o e´ feita por um polinoˆmio de primeiro grau.
Tambe´m sa˜o aceitos outros argumentos, como por exemplo cubic ou splines os quais indicam,
respectivemente interpolac¸a˜o por polinoˆmio de terceiro grau ou pos Splines.
Exemplo 4.6 : Fac¸a o ajuste linear dos dados da tabela abaixo pelo me´todo dos mı´nimos qua-
drados (MMQ):
x -0.6 -0.5 -0.3 0 0.2 o.4 0.5
f(x) 0.45 0.4 0.5 0 0.2 0.6 0.5
25
x=[-0.6 -0.5 -0.3 0 0.2 0.4 0.5];
y=[0.45 0.4 0.5 0 0.2 0.6 0.5];
mmq=polyfit(x,y,1)
O comando diff(x) calcula as diferenc¸as finitas ascendentes para dados fornecidos em um
vetor x. Por exemplo,
Exemplo 4.7 Calcule as diferenc¸as finitas de primeira ordem do vetor x = [−1 2 3 4 − 5].
x=[-1 2 3 4 -5];
diff(x)
O comando diff(x,2) calcula as diferenc¸as finitas de segunda ordem do vetor x, e assim
sucessivamente.
Exerc´ıcio 4.6 Calcule as diferenc¸as finitas de terceira ordem do vetor x = [−1 2 3 4 − 5].
Exemplo 4.8 Calcule o ponto de mı´nimo da func¸a˜o f(x) = ex1 (4x21 + 2x
2
2 + 4x1x2 + 2x2 + 1))
a partir do ponto inicial x0 = (0, 0).
f=@(x)exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);
fminsearch(f,[0;0])
Exerc´ıcio 4.7 Determine o ponto de mı´nimo da func¸a˜o f(x) = 100 (x2 − x21)2+(1− x1)2
a partir do ponto inicial x0 = (0, 0).
4.1 Sistemas de equac¸o˜es na˜o lineares
Considere o problema de determinar as ra´ızes de n equac¸o˜es na˜o lineares simultaˆneas, da
forma: 
f1(x1, x2, . . . , xn) = 0
f2(x1, x2, . . . , xn) = 0
...
fn(x1, x2, . . . , xn) = 0
(4.2)
onde fi,para i = 1, 2, . . . , n e´ uma func¸a˜o real de n varia´veis reais. Geometricamente, as ra´ızes
desse sistema sa˜o os pontos (x∗1, x
∗
2, . . . , x
∗
n) onde as curvas (f1, f2, . . . , fn) se encontram.
26
Exemplo 4.9 Resolver o sistema na˜o linear abaixo.{
x21 + x1x2 − 10 = 0
x2 + 3x1x
2
2 − 57 = 0
No Matlab:
fun=@(x) [(x(1).^2)+x(1)*x(2)-10; x(2)+3*x(1)*x(2).^2-57];
fsolve(fun,[1;3])
Exerc´ıcio 4.8 Resolver o sistema na˜o linear abaixo.{
x2 + y2 − 2 = 0
−ex + y = 0
4.2 Integrac¸a˜o Nume´rica
O comando quad calcula uma aproximac¸a˜o para a integral anal´ıtica, pelo me´todo de
Simpson, com precisa˜o de 10−6 em default.
Exemplo 4.10 Calcule a integral
∫ 4
1
cos
(√
x2 + 5
)
dx.
Integral=quad(’cos(sqrt(x.^2+5))’,1,4);
fprintf(’Integral=%15.10f\n’,Integral)
E´ poss´ıvel alterar a precisa˜o da integrac¸a˜o com a seguinte modificac¸a˜o no exemplo anterior.
Integral=quad(’cos(sqrt(x.^2+5))’,1,4,1e-10);
A definic¸a˜o de func¸o˜es e´ feita pelo comando function, esse comando pode ser utilizado
para definir rotinas principais ou subprogramas. Para exemplificar vamos refazer o exemplo
4.10 utilizando um subprograma.
Defina a func¸a˜o:
function y=f(x)
y=cos(sqrt(x.^2+5));
end
O arquivo .m devera´ ser salvo com o nome escolhido para a function, ou seja, salve o arquivo
como sendo f.m
O programa principal (onde devera´ ser gerado o resultado) devera´ ser da seguinte forma:
Integral=quad(@f,1,4,1e-10);
fprintf(’Integral=%15.10f\n’,Integral)
27
4.3 Equac¸o˜es Diferenciais Ordina´rias
As equac¸o˜es diferenciais modelam muitos casos da matema´tica aplicada e das engenharias.
Em muitos casos a teoria garante a existeˆncia da soluc¸a˜o anal´ıtica, pore´m nem sempre e´ poss´ıvel
obter essas expresso˜es. Surge enta˜o a necessidade das aproximac¸o˜es nume´ricas. Vamos nos
concentrar em analisar esquemas nume´ricos para a soluc¸a˜o de Problemas de Valor Inicial (P.V.I.)
de 1a ordem. Isto e´, encontrar a aproximac¸a˜o da func¸a˜o y(x) tal que
{
y′(x) = f(x, y)
y(x0) = y0
(4.3)
Os esquemas nume´ricos calculam a aproximac¸a˜o de y(x) nos pontos x1, x2, x3, . . . em que
xk = x0 + kh para um passo h > 0. O valor da func¸a˜o (y(xk)) no ponto xk e´ aproximado
por yk, o qual e´ obtido em func¸a˜o dos valores anteriores yk−1, yk−2, . . . , y0. Dessa forma, os
esquemas nume´ricos determinama aproximac¸a˜o da func¸a˜o para valores x > x0, o que justifica
o nome de problema de valor inicial.
O me´todo nume´rico apresentado na equac¸a˜o abaixo e´ conhecido como me´todo de Euler.
yk+1 = yk + hf(xk, yk). (4.4)
Ou seja, dado uma aproximac¸a˜o no ponto yk obtemos a aproximac¸a˜o yk+1. De forma geral
temos y(xk) ≈ yk. Esse me´todo possui as caracter´ısticas de ser de passo 1 e de ordem 1.
Exemplo 4.11 : Usando o me´todo de Euler aproxime o PVI{
y′(x) = 2y
y(0) = 1
em x = 0.5 para h = 0.1.
Exerc´ıcio 4.9 Construa um co´digo para o Me´todo de Euler.
Cap´ıtulo 5
Transformadas: Laplace e Fourier
5.1 Transformadas de Laplace
Seja f uma func¸a˜o definida para t ≥ 0. A integral
L{f(t)} =
∫ ∞
0
e−stf(t) dt (5.1)
e´ chamada de transformada de Laplace da func¸a˜o f , desde que a integral convirja.
Exemplo 5.1 A transformada de Laplace da func¸a˜o f(t) = e−3t e´ dada por L (e−3t) = 1
s+3
para s > −3.
Temos que F (s) = 1
s+3
e´ a Transformada inversa de Laplace da func¸a˜o f(x) = e−3x, ou
seja, L−1 { 1
s+3
}
= e−3x.
Os comandos laplace e ilaplace calculam a transformada de Laplace e a transformada
inversa de Laplace, respectivamente.
Exemplo 5.2 Calcule a transformada de Laplace da func¸a˜o f(t) = e−3x.
syms x
f = eˆ (−3x);
laplace(f);
Exemplo 5.3 Calcule a transformada inversa de Laplace da func¸a˜o F (s) = 1
s+3
.
syms t s
F = 1/(s+ 3);
f = ilaplace(F );
28
29
Exemplo 5.4 Calcule a transformada inversa de Laplace da func¸a˜o F (s) = s+1
s3+2s2+4s
.
syms \ \ t \ \ s
F= (s+1)/(s^3+2*s^2+4*s);
f=ilaplace(F);
pretty(f)
ezplot(f)
Exerc´ıcio 5.1 Calcule a transformada de Laplace da func¸a˜of(x) = sen(2x) e a transformada
inversa da func¸a˜o F (s) = 2
s2+4
no Matlab. Construa o respectivo gra´fico.
E´ poss´ıvel calcular a transformada de Laplace de func¸o˜es cont´ınuas por parte.
Exerc´ıcio 5.2 Calcule a transformada inversa de Laplace das func¸o˜es abaixo e construa os
respectivos gra´ficos.
a) F (s) = s
3+2s2+6s+7
s2+s+5
b) F (s) = 2
s
e−s − 1
s
A func¸a˜o degrau unita´rio ou func¸a˜o de Heaviside e´ definida por:
U(x− a) =
{
0, se 0 ≤ x < a
1, se x ≥ a
A func¸a˜o impulso unita´rio ou func¸a˜o delta de Dirac em um ponto arbitra´rio x = x0
e´ denotada por δ(x− x0) e definida por:
δ(x− x0) =
{
0, se x 6= x0
∫ +∞
−∞ δ(x− x0)dx = 1, se x = x0
5.2 Transformadas de Fourier
Ferramentas de domı´nio de frequeˆncia, tais como a se´rie de Fourier, as transformadas de
Fourier e suas variantes discretas constituem uma das pedras angulares do processamento de
sinais. Essas transformadas decompo˜em um sinal em uma sequeˆncia de componentes senoidais
que identificam o conteu´do de domı´nio de frequeˆncia do sinal. Para ana´lise de Fourier a bibli-
oteca do Matlab composta pela seguintes func¸o˜es:
30
fft, ifft, fft2, ifft2, fftn, ifftn, fftshift, ifftshift
Essas func¸o˜es executam a transformada discreta de Fourier ou sua inversa em uma ou mais
dimenso˜es.
No estudo de problemas de fluxo de calor Fourier mostrou que uma func¸a˜o perio´dica ar-
bitra´ria pode ser representada por uma se´rie infinita de func¸o˜es senoidais com frequeˆncia har-
monicamente relacionadas. Para uma func¸a˜o de per´ıodo T uma se´rie de Fourier cont´ınua pode
ser escrita
f(t) = a0 +
∞∑
k=1
[akcos(kω0t) + bksen(kω0t)] (5.2)
onde a frequeˆncia angular do primeiro modo (ω0 = 2pit) e´ chamada frequeˆncia fundamental,
e seus mu´ltiplos 2ω0, 3ω0, etc sa˜o chamados de harmoˆnicos. Os coeficientes da equac¸a˜o 5.2
podem ser calculados por:
a0 =
1
T
∫ T
0
f(t) dt (5.3)
ak =
2
T
∫ T
0
f(t) cos(kω0t) dt (5.4)
bk =
2
T
∫ T
0
f(t) sen(kω0t) dt (5.5)
para k = 1, 2, ....
A se´rie de Fourier tambe´m pode ser expressa usando uma forma mais compacta, utilizando
a notac¸a˜o complexa baseada na fo´rmula de Euler
e±ix = cos(x)± i sen(x)
onde i =
√−1 e x esta´ em radianos. Usando a relac¸a˜o acima a se´rie de Fourier se reduz a:
f(t) = a0 +
∞∑
k=1
c˜ke
ikω0t (5.6)
onde os coeficientes sa˜o
c˜k =
1
T
∫ T
2
−T
2
f(t) e−ikω0t dt. (5.7)
A integral de Fourier e´ a ferramenta utilizada para estudar fenoˆmenos na˜o perio´dicos
mas que causam interfereˆncia em receptores operando em uma larga escala de frequeˆncias. A
integral de Fourier e´ dada por
31
F (ω) =
∫ ∞
−∞
f(t) e−iωt dt (5.8)
para a respectiva se´rie de Fourier
f(t) =
1
2pi
∫ ∞
−∞
F (ω) eiωt dω. (5.9)
A equac¸a˜o 5.8 tambe´m e´ conhecida como transformada de Fourier de f(t) e a equac¸a˜o 5.9
e´ conhecida como transformada inversa de Fourier.
5.2.1 Transformada Discreta de Fourier (TFD)
Em engenharia as func¸o˜es sa˜o, em geral, representadas por conjuntos finitos de valores
discretos. A forma discreta das equac¸o˜es 5.8 e 5.9 e´ dada por:
Fk =
n−1∑
j=0
fj e
−ikω0 j para k = 0, 1, . . . , n− 1 (5.10)
e
fj =
1
n
n−1∑
k=0
Fk e
ikω0 j para j = 0, 1, . . . , n− 1 (5.11)
respectivamente. Onde ω0 =
2pi
n
.
5.2.2 Transformada Ra´pida de Fourier
A transformada ra´pida de Fourier (FFT) e´ um algoritmo que foi desenvolvido para calcular
a TFD de uma forma extremamente econoˆmica. Para o ca´lculo da TFD sa˜o necessa´rias n2
operac¸o˜es ao passo que a FFT utiliza n log2 n operac¸o˜es. Por exemplo, para n = 1000 a FFT
e´ 100 vezes mais ra´pida.
Como o Matlab na˜o admite ı´ndice zero e´ preciso deslocar os valores dos ı´ndices em uma
unidade.
Exemplo 5.5 Para ilustrar o uso da FFT, considere o problema que consiste em estimar a
transformada cont´ınua de Fourier do sinal f(t) = 2e−3t para t ≥ 0.
clc
clear
N=2^7; % pote^ncia de 2 aumentam a velocidade
t=linspace(0,3,N); % instantes do tempo em que a func¸~ao sera´ calculada
f=2*exp(-3*t); % calcula a func¸~ao
Ts=t(2)-t(1); % primeiro perı´odo de tempo
32
Ws=2*pi/Ts; % freque^ncia de amostra rad/seg
F=fft(f); % calcula a fft
%disp(F)
Fc=fftshift(F)*Ts; % desloca a escala
W=Ws*(-N/2:(N/2)-1)/N; % eixo de freque^ncia
Fa=2./(3+j*W); % transformada de fourier analı´tica
plot(W,abs(Fa),W,abs(Fc),’o’) % gera o gra´fico
legend(’Tranformada analı´tica’,’Transformada ra´pida’)
A transformada de Fourier anal´ıtica de f(t) e´ dada por F (ω) = 2
3+jω
Exerc´ıcio 5.3 Determine a FFT da func¸a˜o f(t) = sen
(
t
2
)
para t ≥ 0.
Cap´ıtulo 6
Aplicac¸a˜o para Engenharia Eletroˆnica e
de Telecomunicac¸a˜o
33
Refereˆncias Bibliogra´ficas
[1] HANSELMAN, D. e LITTLEFIELD, B., Matlab 6: Curso completo. Sa˜o Paulo: Pren-
tice Hall, 2003.
[2] BOYCE, W. E. e DIPRIMA, R. C., Elementary Differential Equations and Boundary
Value Problems. 7a ed., Nova York: John Wiley & Sons Inc., 2001.
[3] CHAPRA, S. C., Me´todos nume´ricos aplicados com Matlab para engenheiros e cientistas.
3a ed., Porto Alegre: AMGH Editora, 2013.
[4] MARTINS, M. A. et al. Apostila de Matlab. Ceara´, 2010.
[5] CAMPUS FILHO, F. F. Introduc¸a˜o ao Matlab. UFMG, 2013.
[6] UNIVERSIDADE DA BEIRA INTERIOR Ca´lculo simbo´lico em MATLAB
34

Outros materiais