UNIVERSIDADE FEDERAL DE CAMPINA GRANDE
4ª Semana Matemática
Introdução a Programação no MATLAB
29/10/2007
Galdino, J.F
1
Currículo Resumido
2003.1 - Graduando em Engenharia Elétrica;
2004.1 a 2006.2 - Monitor de Cálculo 1 pelo DME;
2007 – Membro do Projeto Olhos Digitais;
2007 – Participação no IV Encontro de Extensão da UFCG
(Atual) - Monitor Voluntário do Laboratório de Princípios
de Comunicações;
(Atual) – Professor Voluntário de Matemática do
PVS (Pré Vestibular Solidário) 2007.
E-mail: [email protected]
2
Sumário








Introdução ao MATLAB
Estruturas de Controle
Arquivos de Comando M-File
Funções de Entrada e Saída
Introdução a Funções MATLAB
Toolboxes
Toolbox de Matemática Simbólica
Programas em MATLAB
3
Introdução ao MATLAB
MATLAB(MATrix LABoratory): Programa
de computador especializado e otimizado
para cálculos científicos e de engenharia.
 Surgiu em 1970 com o intuito de auxiliar
os cursos de Teoria Matricial, Álgebra
Linear e Analise Numérica.

4
Introdução ao MATLAB

Vantagens
 Facilidade
de Uso
 Independência de Plataforma
 Funções Predefinidas
 Interface Gráfica de Usuário
 Compilador MATLAB

Desvantagens
 Linguagem
Interpretada
 Custo
5
6
Navegador de Ajuda
Espaço de Lançamento
Janela de Comandos MATLAB
Navegador de Diretório Corrente
Janela de Histórico de Comandos
7
Introdução ao Matlab

Informação do Sistema:
>>computer
>>version
>>ver
>>license
8
Introdução ao Matlab
MATLAB comand
pi
Comentários
format short
3.1416
5 dígitos
format long
3.14159265358979
16 dígitos
format short e
3.1416e+000
5 dígitos + expoente
format long e
3.141592653589793
e+000
16 dígitos + expoente
format short g
3.1416
short ou short e
format long g
3.14159265358979
long ou long e
9
Introdução ao Matlab
MATLAB comand
format hex
format bank
format +
format rat
pi
Comentários
400921fb54442d18
Hexadecimal, ponto
flutuante
3.14
2 digitos decimais
+
positivo(+),
negativo(-) ou zero(0)
355/113
razão aproximada
10
Introdução ao Matlab

Comandos básicos:
>>who -- Lista as variáveis.
>>whos -- Lista e especifica as variáveis.
>>clc -- Limpa a Janela de Comandos.
>>clf
-- Limpa figura atual
>>clear -- Deleta variáveis do workspace MATLAB.
>>help -- Ajuda do Matlab, documentação.
>>help elfun – Lista funções do MATLAB
11
Operadores Aritméticos
Forma Geral: A op B
+
*
/
\
^
‘
Soma Estrutural e Matricial
Subtração Estrutural e Matricial
Multiplicação Matricial
Divisão Matricial à Direita
Divisão Matricial à Esquerda
Expoente Matricial
Operador de Transposição
12
Operadores Aritméticos
1
A
2
0

1
3
C 
2
- 1 2
B 

0 1
D5
13
Operadores Aritméticos

A+B

Operação ilegal
0 2
2 2

A–B
2 -2
2 0
A+C

A+D
6 5
7 6
14
Operadores Aritméticos

A*B

-1 2
2 5

A*C
3
8
A .* B
-1 0
0 1

A .* C
Operação ilegal
15
Operadores Aritméticos

A/B

-1 2
-2 5

A\B
-1 2
2 -3
A ./ B
-1 0
Inf 1

A .\ B
-1 Inf
0 1
16
Operadores Relacionais

Forma geral
A op B
A e B: Operandos.
Pode ser uma matriz,
um escalar ou uma
cadeia de caracteres.
Op: Operador
Operador
Operação
==
Igual a
~=
Diferente de
>
Maior que
>=
Maior que
ou igual a
Menor que
<
<=
Menor que
ou igual a 17
Operadores Relacionais

Os operadores <, <=, > e >= são usados
para comparar a parte real dos operandos.

Os operadores == e ~= são usados para
comparar a parte real e imaginária dos
operandos.
18
Operadores Relacionais
Expressão
5>3
´AC’ > ‘BA´
a>b
1 + j <= 2 + 3*j
x >= [3 8]
a>c
2 + j == 1+ j
5 + j ~= 2 + j
Resultado
1
01
10
1
10
01
0
1
a = [2 1] b = [ 1 1 ] c = [ 0 2 ] x = [ 4 2]
19
Operadores Lógicos
Operação Lógica Binária
Operação Lógica Unária
A op B
op A
Operador
Operação
&
E lógico
l
OU lógico
xor
Ou exclusivo lógico
~
Não lógico
20
Operadores Lógicos

O MATLAB utiliza a lógica positiva, ou
seja, assume-se o valor verdadeiro se ele
for diferente de zero e falso se ele for igual
a zero.
21
Operadores Lógicos
• Tabela da Verdade para Operadores Lógicos
Entradas
e
ou
xor
não
B
A&B
AlB
xor(A,B)
~A
0
0
0
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
A
22
Precedência dos operadores
1.
2.
3.
4.
5.
Os operadores aritméticos são avaliados
primeiro.
Os operadores relacionais são avaliados da
esquerda para a direita.
Todos os operadores ~ são avaliados.
Todos os operadores & são avaliados.
Todos os operadores I são avaliados.
OBS: Sempre use parênteses para indicar a ordem
correta desejada de avaliação de uma expressão.
23
Operadores Lógicos
Expressão
~A
AlB
BlC
3>4&1
3 > (4 & 1)
~C
AlB&C
A&C
B&C
Resultado
0
1
1
0
1
0
1
1
0
A = 1, B = 0 e C = -10
24
Operadores Lógicos -Exercícios
Expressão
~A
AlB
BlC
3>4&1
3 > (4 & 1)
~C
AlB&C
A&C
B&C
Resultado
0
1
1
0
1
0
1
1
0
25
Estruturas de Controle

Controle de Fluxo
O controle de fluxo é um recurso que permite que resultados
anteriores influenciem operações futuras. Como em outras
linguagens, o MatLab possui recursos que permitem o controle
de fluxo de execução de comandos, com base em estruturas
de tomada de decisões.
Será apresentado as seguintes estruturas de controle:
 if
 if-else
 switch
 while
 for
26
Estruturas de Controle

Simbologia
Inicio e fim de uma estrutura de uma controle
Símbolo de decisão
Indica que ações serão executadas
27
Estruturas de Controle

Algoritmo
Série de ações executadas em uma ordem
especifica.

Pseudocódigo
 Linguagem
artificial e informal de representar o
código de um programa.
 Útil para desenvolver algoritmos que serão
convertidos em programas estruturados no
Matlab.
28
Estruturas de Controle
if
Estrutura de seleção para escolha de cursos
de ação específicos.
A estrutura de seleção if executa uma ação
indicada só quando a condição é true
(Verdadeira); caso contrário, a ação é saltada.
29
Estruturas de Controle
if
Testa a condição
Verdadeira
Condição
Executa uma ação
Falsa
30
Estruturas de Controle

Pseudocódigo
Se a nota do estudante for maior ou igual que 7.0
Imprima “Aprovado”

Código no Matlab
if nota >= 7
fprintf(‘Aprovado’);
end
31
Estruturas de Controle
If-else
Testa a condição
Falsa
Executa uma ação
Verdadeira
Condição
Executa uma ação
32
Estruturas de Controle

Pseudocódigo
Se a nota do estudante for maior ou igual que 7.0
Imprima “Aprovado”
senão
Imprima “Reprovado”

Código no Matlab
if nota >= 7
fprintf(‘Aprovado’);
else
fprintf(‘Reprovado’);
end
33
Estruturas de controle
Laços são construções MATLAB que nos
permitem executar uma sequência de
declarações mais de uma vez.
Existem dois tipos de laços:
 while
 for
34
Estruturas de controle
while: é um bloco de declarações que se repete
indefinidamente, enquanto uma condição for
satisfeita.
A forma geral do while é:
while expressão
...
...
Bloco de código
...
end
35
Estruturas de Controle
while
Testa a condição
Verdadeira
Condição
Executa uma ação
Falsa
36
Estruturas de Controle

switch
 Estrutura
de seleção múltipla.
 Consiste de uma série de rótulos case e um
otherwise.
37
Estrutura de Controle
Verdadeiro
Case (‘a’)
Ação(ões) do case a
Falso
Verdadeiro
Case (‘b’)
Ação(ões) do case b
Falso
.
.
Falso
Otherwise
38
Estruturas de Controle

Laço for : Executa um bloco de declarações
durante um número especificado de vezes.
for indice = expressão
Declaração 1
....
Corpo
Declaração n
end
39
Estrutura de Controle
n: número de iterações do laço for
cont: variável de controle
cont = 1
Inicialização da variável de controle
cont = 2
cont = 3
cont <= n
Verdadeiro
Corpo do laço
cont = cont + 1
Falso
40
Estruturas de Controle

Exemplo: Calcular a soma dos 10 primeiros inteiros.
Soma  1  2  3  4  5  6  7  8  9  10
soma = 0;
% Inicializa a variável soma com zero
for k = 1:10
soma = soma + k;
end
fprintf('A soma dos dez primeiros inteiros eh: %.2f', soma);
41
Estruturas de Controle

Exemplo: Calcular o fatorial de um número n.
n = 5;
fatorial = 1;
% Inicializa a variável soma com zero
for k = 1:n
% Laço de repetição: n vezes
fatorial = fatorial*k; % Cálculo do fatorial
end
fprintf(‘O fatorial de %.2f eh %.2f', n, fatorial);
42
Estruturas de Controle

Exemplo: Calcular a soma dos 5 primeiros inteiros impares.
Soma  1  3  5  7  9
soma = 0;
% Inicializa a variável soma com zero
for k = 1:2:9
soma = soma + k;
end
fprintf('A soma dos 5 primeiros inteiros impares eh: %.2f', soma);
43
Estruturas de Controle
for X while

while: utilizado para repetir um trecho de
código quando não é desconhecido o número
de iterações do laço.

for: utilizado para repetir um trecho de código
quando é conhecido o número de iterações do
laço.
44
Estruturas de Controle

Break
 Usada
para controlar a operação dos laços
for e while
 Encerra
a execução do laço e passa o
controle para a próxima declaração logo após
o fim do laço.
45
Estruturas de Controle
% Uso do break
for k = 1:5
if k == 3;
break;
end
fprintf(‘k = %d\n’, k);
end
disp(‘Fim do laço!’);
46
Estruturas de Controle
k=1
k=2
Fim do laço!
47
Estruturas de Controle

Continue
 Usada
para controlar a operação dos laços
for e while
 Termina
a passagem corrente pelo laço e
retorna o controle para o inicio do laço.
48
Estruturas de Controle
% Uso do continue
for k = 1:5
if k == 3;
continue;
end
fprintf(‘k = %d\n’, k);
end
disp(‘Fim do laço!’);
49
Estruturas de Controle
k=1
k=2
k=4
k=5
Fim do laço!
50
Arquivos de Comando M-File
Geralmente, utiliza-se o prompt do MATLAB para
introduzir os comandos. Entretanto este
procedimento simples para execução de
comandos no prompt se torna altamente
ineficiente quando a complexidade do problema
aumenta. Em suma, podemos dizer que para
problemas simples podemos usar o prompt do
MATLAB e para os mais difíceis deve-se utilizar o
script-file ou M-file, que é também conhecido
como arquivo de comando ou arquivo M.
51
Arquivos de Comando M-File
Erro comum de Programação: Os nomes
dos arquivos de comando precisam
sempre terminar com a extensão ‘.m’.
Exemplos:
programa1.m, exemplo1.m, etc.
52
Arquivos de Comando M-File

Como Criar um Arquivo M (M-file)
 Para
criar um arquivo M-file, siga os seguintes
passos:
 Inicialmente, você deve abrir o programa
MATLAB, dando um duplo click no ícone do
MATLAB que está na área de trabalho.
 Selecione o menu File (dê um click).
 Selecione o item New e em seguida aponte
para M-file e dê um click.
53
Arquivos de Comando M-File
Exenplo de script-file.
% script-file: circulo.m
% Este programa calcula a área de um circulo
raio = 2.5;
area = pi*raio^2;
fprintf(‘Area do circulo = %.3f ', area);
54
Arquivos de Comando M-File

Como Executar um Arquivo M (M-file)
 Para
executar um arquivo M-file no MATLAB é preciso
gravar o arquivo correspondente. Para isto, selecione o
item Save Workspace As do menu File. Dê preferência
salvar o arquivo no diretório corrente do MATLAB, ou
seja, na pasta work. Para executar o arquivo M, digite
no prompt do MATLAB o nome do arquivo salvado
anteriormente, sem a extensão ‘.m’. Feito isso o
MATLAB gera o executável do programa.
55
Arquivos de Comando M-File
Para exemplificar, considere o arquivo
circulo.m. Digite no prompt do MATLAB o
nome do arquivo circulo. Será apresentado
o executável do programa.
>> circulo
Area do circulo = 19.635
56
Arquivos de Comando M-File
Resumindo, pode-se dizer que um programa
em MATLAB consiste na criação do arquivo
M-file utilizando-se o editor de texto e sua
respectiva chamada por linha de comando
no prompt do MATLAB.
57
Introdução a Funções MATLAB

Funções Predefinidas MATLAB
 Fornece
uma enorme variedade de funções
prontas para uso.
 Funções trigonométricas, logarítmicas, raízes.
 Funções hiperbólicas, funções de Bessel, etc.
As funções MATLAB podem devolver mais de
um resultado para o programa que as ativa.
58
Introdução a Funções MATLAB

Uso da função max
Retorna o valor máximo de um vetor de entrada,
podendo retornar a localização de onde ocorreu o
máximo.
maxval = max([1 2 -4 5])
maxval = 5
[maxval index] = max([1 2 -4 5])
maxval = 5
index = 4
59
Introdução a Funções MATLAB

Funções MATLAB com Matrizes como
entrada.
x = [ 0 pi/2 pi 3*pi/2 2*pi] % Entrada
y = sin(x)
% Saída
y = [ 0 1 0 -1 0]
% Resultado
60
Introdução a Funções MATLAB
Agora é com você!!!
x = [ 0 pi/2 pi 3*pi/2 2*pi]
y = cos(x)
61
Introdução a Funções MATLAB
Agora é com você!!!
Calcule os valores de sin x, cos x e tan x,
para x = 30º, 45º e 60º.
62
Introdução a Funções MATLAB

Funções Elementares
63
Introdução a Funções MATLAB
Funções Definidas pelo usuário.
function [outarg1, outarg2, ...] = fname(inarg1, inarg2, ...)
% H1 comentário
% Mais um comentário
...
(Código executável)
...
(return)

64
Introdução a Funções MATLAB
y
B
yb
d
A
C
ya
x
xa
xb
D: distancia entre os pontos A e B
65
Introdução a Funções MATLAB
function [resultado] = distancia2(xa,ya,xb,yb)
% DISTANCIA2 Calcula a distancia entre dois pontos
% Function DISTANCIA2 calcula a distancia entre dois pontos
% A(xa,ya) e B(xb,yb) no sistema de coordenadas cartesiano.
%
% Chamada a função
%
% res = distancia2(xa, ya, xb, yb)
%
% Definiçao das variaveis
% xa: abscissa do ponto A
% ya: ordenada do ponto A
% xb: abscissa do ponto B
% yb: ordenada do ponto B
% resultado: Distancia entre os pontos A e B.
66
Introdução a Funções MATLAB
% OBSERVAÇOES
% Data
Programador
Descriçao
% 05/10/07
Josenildo F. Galdino
Codigo Original
% Calculo da distancia
resultado = sqrt((xb - xa).^2 + (yb - ya).^2)
67
Introdução a Funções MATLAB
Uso da função distancia2.
% Script file: teste_distancia2.m
% Este programa testa a funçao distancia2
% Data
% 05/10/07
Programador
Descriçao
Josenildo F. Galdino Codigo Original
% Definiçao das variaveis:
% xa: abscissa do ponto A
% ya: ordenada do ponto A
% xb: abscissa do ponto B
% yb: ordenada do ponto B
% resultado: distancia entre os dois pontos A e B.
68
Introdução a Funções MATLAB
% Dados fornecidos pelo usuario
disp('Calcule a distancia entre os pontos A e B');
xa = input('Forneca a abscissa do ponto A: ');
ya = input('Forneca a ordenada do ponto A: ');
xb = input('Forneca a abscissa do ponto B: ');
yb = input('Forneca a ordenada do ponto B: ');
% Uso da funçao definida pelo programador
resultado = distancia2(xa, ya, xb, yb); % Chamada a funçao.
% Exibiçao do resultado
fprintf('A distancia entre os pontos A e B e %f\n', resultado);
69
Introdução a Funções MATLAB
>> teste_distancia2
Calcule a distancia entre os pontos A e B
Forneca a abscissa do ponto A: 1
Forneca a ordenada do ponto A: 1
Forneca a abscissa do ponto B: 2
Forneca a ordenada do ponto B: 2
resultado =
1.4142
A distancia entre os pontos A e B e 1.414214
>>
70
Toolboxes







Statistics Toolbox
Symbolic Math Toolbox
Partial Diferrential Equation Toolbox
Curve Fitting Toolbox
Signal Processing Toolbox
Control System Toolbox
Communication Toolbox
71
Symbolic Math Toolbox

O
Toolbox
de
Matemática
Simbólica
disponibiliza uma coleção de diversas funções
do MATLAB utilizadas para calcular operações
básicas, tais como: derivadas, limites, integrais,
expansão da serie de Taylor, e outras
operações. A manipulação simbólica no
MATLAB pode ser vista como uma evolução do
modo como você utiliza o MATLAB para
processar números.
72
Symbolic Math Toolbox

A grande vantagem de se utilizar tal
processo é que podemos obter resultados
mais exatos, eliminando-se assim a
imprecisão introduzida pelos valores
numéricos. Podemos resolver derivadas,
integrais,
equações
diferenciais
e
algébricas utilizando-se esta poderosa
ferramenta.
73
Symbolic Math Toolbox
EXPRESSÕES SIMBÓLICAS
Deve-se entender por Expressão simbólica as
expressões que contêm objetos simbólicos que
podem representar números, funções e operações
e variáveis.
Dica: As variáveis simbólicas não precisam de um
valor numérico. Esta variável simbólica representa
apenas um símbolo de uma expressão simbólica.
74
Symbolic Math Toolbox
EXPRESSÕES SIMBÓLICAS
Exemplos:
x
3
d
z
(5 x 4 )
dx
75
Symbolic Math Toolbox
O MATLAB disponibiliza várias funções que
trabalham com funções polinomiais e que podem ser
utilizadas para representar funções polinomiais.
Dentre elas, encontram-se as seguintes funções:
 collect
 expand
 factor
 simplify
 simple
76
Symbolic Math Toolbox
collect
Organiza os coeficientes

Sintaxe
collect( f )
mostra um polinômio f em sua variável simbólica, seja x, e
organiza todos os coeficientes com a mesma potência de x.
Um segundo argumento pode especificar a variável que se deve
organizar se houver mais de uma variável simbólica possível.
77
Symbolic Math Toolbox
collect(f)
1) Escreva a função y = (x+1)^3 na forma polinomial
>> clear
% Limpa a Janela de Comandos
>> x = sym('x'); % Define a variavel simbolica “x”
>> y = (x + 1)^3; % Define a função y = f(x)
>> collect(y);
% Organiza os coeficientes
>> pretty(ans)
% Exibe o resultado
x3 + 3x2 + 3x + 1
78
Symbolic Math Toolbox
Agora é com você!!!
Escreva a função y = (x + 1)(x + 2) na forma
polinomial.
79
Symbolic Math Toolbox

collect( f, nome da variável simbólica)
A função collect neste caso aceita um segundo argumento
que especifica que variável simbólica deve ser utilizada
para organizar o polinômio.
80
Symbolic Math Toolbox
collect(f, nome da variável simbólica)
2) Escreva a função f(x,z) = (x + 1)^3 + z na forma
polinomial.
>> x = sym('x');
% Define a variável simbólica x
>> z = sym(‘z’);
% Define a variável simbólica z
>> y = (x +1)^3 + z; % Define a função y = f(x,z)
>> collect(y,x);
% Organiza os coeficientes em x
>> pretty(ans)
% Exibe o resultado
x3 + 3 x2 + 3 x + 1 + z
81
Symbolic Math Toolbox
Agora é com você!!!
Escreva a função y = (x + 1)^3 + (z + 1)^2
na forma polinomial, em termos de z.
82
Symbolic Math Toolbox

expand
realiza a distribuição de produtos para polinômios
e aplica outras identidades que envolvem funções
de somas, identidades trigonométricas, exponenciais
e logaritmos.
Sintaxe

expand( f )
83
Symbolic Math Toolbox
expand(f)
3) Escreva a função y = (x+1)^3 na forma polinomial
>> clear
% Limpa a Janela de Comandos
>> x = sym('x'); % Define a variavel simbolica “x”
>> y = (x + 1)^3; % Define a função y = f(x)
>> expand(y);
% Realiza o produto polinomial
>> pretty(ans) % Exibe o resultado
x3 + 3x2 + 3x + 1
84
Symbolic Math Toolbox
expand X collect
Além de representar funções polinomiais a função é
bastante útil na manipulação de expressões simbólicas
trigonométricas, exponenciais, hiperbólicas, entre outras
funções. Esta é uma das características marcantes que
diferenciam a função expand da collect. A função
expand é bem mais robusta, porque trabalha com
muitos tipos de funções, enquanto a função collect é
restrita apenas a funções polinomiais. Podemos, dizer
que a função expand é uma evolução da função collect,
agregando-se novas funcionalidades.
85
Symbolic Math Toolbox
expand
4) Obtenha a forma expandida
trigonométrica cos(x + y).
da função
x = sym(‘x’);
% Cria a variável simbólica x.
y = sym(‘y’);
% Cria a variável simbólica y.
expand(cos(x+y)) % Realiza a operação
ans =
% Variável padrão do matlab
cos(x)*cos(y) - sin(x)*sin(y)
% Resultado
86
Symbolic Math Toolbox
Agora é com você!!!
Obtenha a forma expandida da função
exponencial exp(x + y).
87
Symbolic Math Toolbox
Factor
Fatoração

Sintaxe
factor(X)
Esta função obtém a forma fatorada de um polinômio.
Na sintaxe da função X, pode ser apenas a expressão
simbólica. Ou um array simbólico contendo vários
expressões simbólicas. No caso de utilizar um array, a
função factor retorna um array com as expressões
simbólicas correspondentes.
88
Symbolic Math Toolbox

Uso da Função factor
 Calcular
os fatores primos de um número
inteiro.
 Obter a forma polinomial fatorada.
 Simplificar expressões simbólicas.
89
Symbolic Math Toolbox
Factor(x)
5) Calcule os fatores dos seguintes números 15 e 50.
>> factor(15)
ans =
3 5
>> factor(50)
ans =
2 5
5
90
Symbolic Math Toolbox
Factor

Observação:
O maior valor inteiro que a função factor
aceita é um numero inteiro de até 16 dígitos,
se o número tiver uma quantidade de dígitos
superior a 16. Devemos usar o sym para criar
um elemento.
91
Symbolic Math Toolbox
Factor(x)
5) Calcule os fatores do número
>> factor(15)
ans =
3 5
>> factor(50)
ans =
2 5
5
92
Symbolic Math Toolbox
Factor(x)
5) Calcule os fatores do número 12345678901234567890
>> factor(sym('12345678901234567890'))
ans =
(2)*(3)^2*(5)*(101)*(3803)*(3607)*(27961)*(3541)
93
Symbolic Math Toolbox
6) Obtenha a forma fatorada da equação
y = x^3 +3*x^2 + 3*x + 1
>> x = sym('x');
% Cria a variável simbólica x.
>> y = x^3 + 3*x^2 + 3*x + 1 % Define a função y = f(x)
>> factor(y);
% Fatoração
>> pretty(ans)
% Exibe o resultado
(x + 1)^3
94
Symbolic Math Toolbox
Agora é com você!!!
Obtenha a forma fatorada da equação
y = x^2 + 3*x + 2
95
Symbolic Math Toolbox
Simplify
Simplificação simbólica.

Sintaxe:
R = simplify(S)
A função simplify é uma ferramenta poderosa, que em
geral aplica várias identidades algébricas que envolvem
somas, potência inteira, raízes quadradas e potência
fracionária, como também vários identidades que
envolvem funções trigonométricas, exponencial e funções
de Bessel, função gama, etc.
96
Symbolic Math Toolbox
7) Simplifique a seguinte expressão:
x3  8
y 4
x  16
>> x = sym('x');
% Cria a variável simbólica x.
>> y = (x^3 + 8)/(x^4 - 16); % Define a função y = f(x)
>> simplify(y);
% Simplificação simbólica
>> pretty(ans)
% Exibe o resultado
x^2 - 2x + 4
------------------x^3 - 2x^2 + 4x - 8
97
Symbolic Math Toolbox
Agora é com você!!!
x2
Simplifique a seguinte expressão: y  3
x 8
98
Symbolic Math Toolbox
8) Simplifique a seguinte expressão
y  cos ( x)  sin ( x)
2
2
>> x = sym(‘x’);
% Cria a variável simbólica x.
>> y = cos(x)^2 + sin(x)^2; % Define a função y = f(x)
>> simplify(y);
% Simplificação simbólica
>> pretty(ans)
% Exibe o resultado
1
99
Symbolic Math Toolbox
9) Simplifique a seguinte expressão:
log(x * y)
>> syms x y positive % Cria as variáveis simbólicas
x e y, ambas positivas.
>> simplify(log(x*y)); % Simplificação simbólica
>> pretty(ans)
% Exibe o resultado
log(x) + log(y)
100
Symbolic Math Toolbox
Simple
Busca a forma mais simplificada para a expressão simbólica.

Sintaxe:
r
= simple( S )
[r,how] = simple( S )
A função simple(S) tenta várias simplificações algébricas
diferentes na expressão simbólica S, exibe a representação de
menor comprimento para S. S é um sym. Se S for uma matriz, o
resultado indica a representação mais curta da matriz inteira
que necessariamente não é a representação mais curta de
cada elemento individual.
101
Symbolic Math Toolbox
10 ) Simplifique a expressão y = (x + 1)(x + 2)
>> x = sym(‘x’); % Cria a variável simbólica x.
>> simple((x+1)(x+2)) % Simplificação
ans =
x^2+3*x+2
102
Symbolic Math Toolbox
Agora é com você!!!
Simplifique a expressão
y  2 cos2 ( x)  sin 2 ( x)
103
Symbolic Math Toolbox
pretty
Esta função imprime uma expressão simbólica.

Pretty(expressão simbólica).
A grande vantagem do uso da função pretty quando trabalha-se
com matemática simbólica é que a exibição da expressão
simbólica é a mais clara possível.
Dica: Ao trabalhar com matemática simbólica, sempre use a
função pretty, para tornar mais legível a expressão simbólica
mostrada na tela.
104
Symbolic Math Toolbox

LIMITES
105
Symbolic Math Toolbox
Limites
% ---------------------------------------------------------------------------------------% Scripte file: limites.m
% Este programa calcula o limite de algumas funções.
% --------------------------------------------------------------------------------------% DESCRIÇAO
% --------------------------------------------------------------------------------------% DATA
PROGRAMADOR
DESCRIÇAO DO CODIGO
% 10/10/07
Josenildo F. Galdino
Código Original
%---------------------------------------------------------------------------------------
106
Symbolic Math Toolbox
syms x a;
f = 1/(x^2);
pretty(f);
limit(f,2)
% Cria as variáveis simbólicas x e a.
% Definição da função f(x)
% Exibição da função
% Calcula o limite quando x tende a 2.
f1 = (25*x^3 + 2)/(75*x^7 -2); % Definição da função f1(x)
pretty(f1)
% Exibição da função.
limit(f1)
% Calcula o limite quando x tende a 0.
107
Symbolic Math Toolbox
f2 = (25*x^3 + 2)/(75*x^7 -2); % Definição da função f2(x)
pretty(f2)
% Exibição da função
limit(f2)
% Calcula o limite quando x tende a 0.
f3 = (x^2 - 2)/(x - 2);
pretty(f3)
limit(f3,2)
% Definição da função f3(x)
% Exibição da função
% Calcula o limite quando x tende a 2.
f4 = (x^2 - a^2)/(x^2 + 2*a*x + a^2); % Definição da função f3(x)
pretty(f4)
% Exibição da função
limit(f4,a)
% Calcula o limite quando x tende a a.
108
Symbolic Math Toolbox
g = sin(2*x)/x;
pretty(g)
limit(g)
% Definição da função g(x)
% Exibição da função
% Calcula o limite quando x tende a 0.
g1 = sin(5*x)/x;
pretty(g1)
limit(g1)
% Definição da função g1(x)
% Exibição da função
% Calcula o limite quando x tende a 0.
109
Symbolic Math Toolbox
g2 = (sin(5*x) - sin(3*x))/x; % Definição da função g2(x)
pretty(g2)
% Exibição da função
limit(g2)
% Calcula o limite quando x tende a 0.
g3 = (1 - sqrt(1 - x^2))/(x^2); % Definição da função g3(x)
pretty(g3)
% Exibição da função
limit(g3)
% Calcula o limite quando x tende a 0.
110
Symbolic Math Toolbox

DERIVADAS
111
Symbolic Math Toolbox
DERIVADAS
>> syms x n;
% Cria a variável simbólica x.
>> p = x^3 + 4*x^2 -7*x -10; % Define a função f(x).
>> d = diff(p)
d=
3*x^2+8*x-7
>> e = diff(p,2)
e=
6*x+8
>> f = diff(p,3)
f=
6
% Calcula a derivada de f(x).
% Calcula a 2ª derivada de f(x).
% Calcula a 3ª derivada de f(x).
112
Symbolic Math Toolbox
DERIVADAS
syms x n
>> g = x^n;
>> h = diff(g)
h=
x^n*n/x
>> h = simplify(h)
h=
x^(n-1)*n
% Cria as variaveis simbólicas x e n.
% Define a função g(x).
% Calcula a derivada de g(x).
% Simplifica o resultado.
113
Symbolic Math Toolbox
DERIVADAS DE FUNÇÕESTRANSCENDENTAIS
>> syms x
% Cria as variaveis simbólicas x e n.
>> f1 = log(x);
% Define a função f1(x).
>> df1 = diff(f1) % Calcula a derivada de f1(x).
df1 =
1/x
>> f2 = (cos(x))^2; % Define a função f2(x).
>> df2 = diff(f2)
% Calcula a derivada de f2(x).
df2 =
-2*cos(x)*sin(x)
114
Symbolic Math Toolbox
DERIVADAS DE FUNÇÕES TRANSCENDENTAIS
>> f4 = cos(2*x);
>> df4 = diff(f4)
df4 =
-2*sin(2*x)
>> f5 = exp(-(x^2)/2);
>> df5 = diff(f5)
df5 =
-x*exp(-1/2*x^2)
115
Symbolic Math Toolbox

Calcule a derivada de f ( x ) 
x
x 1
>> syms x;
>> p = x/(x-1);
>> diff(p)
ans =
1/(x-1)-x/(x-1)^2
% Cria a variável simbólica x.
% Define a função f(x).
% Calcula a derivada de f(x).
>> simplify(ans)
ans =
-1/(x-1)^2
% Simplifica a expressão da derivada.
>> pretty(ans)
% Exibe a resposta no formato mais visivel.
1
- -------2
(x - 1)
116
Symbolic Math Toolbox

Calcule a derivada de f ( x)  2  x  x 2
em x = 1, ou seja, f ' (1)
117
Symbolic Math Toolbox
% Cálculo da derivada
syms x;
% Cria a variável simbólica x.
p = 2 + x + x^2; % Define a função f(x).
d = diff(p);
% Calcula a derivada de f(x).
pretty(d);
% Exibe o resultado da derivada
% Calculo da derivada em um ponto (x = 1)
g = [2 1];
polyval(g,1)
subs(d,1)
% Define o polinômio da derivada
% Calcula a derivada em x = 1
% Valor da função em x = 1
118
Symbolic Math Toolbox

INTEGRAIS
>> syms x n t
>> int(x^n)
ans =
x^(n+1)/(n+1)
% Cria as variáveis simbólicas x n t
% Calcula a integral de x^n
>> int(x^3 +4*x^2 + 7*x + 10) % Calcula da integral x^3 + 4x^2 + 7x + 10
ans =
1/4*x^4+4/3*x^3+7/2*x^2+10*x
>> int(x,1,t)
ans =
1/2*t^2-1/2
% Calculo da integral de x, no intervalo [ 1, t ].
119
Symbolic Math Toolbox
INTEGRAIS DE FUNÇÕES TRANSCENDENTAIS
>> syms x
% Cria a variável simbólica x
>> int(1/x)
% Calcula a integral de f(x) = 1/x.
ans =
log(x)
>> int(cos(x)) % Calcula a integral de f(x) = cos (x)
ans =
sin(x)
>> int(1/(1+x^2)) % Calcula a integral de f(x) = 1/(1 + x^2)
ans =
atan(x)
>> int(exp(-x^2)) % Calcula a integral de f(x) = exp(-x^2)
ans =
1/2*pi^(1/2)*erf(x)
120
Programas em MATLAB

Resolver a equação quadrática
2s  10s  12  0
2
121
Programas em MATLAB
% ----------------------------------------------------------------------------------------% Scripte file: quadratica.m
% Este programa calcula as raizes da equaçao quadratica, sendo
% fornecidos pelo usuario os coeficientes a, b e c da equaçao
% a*x^2 + b*x + c = 0
% --------------------------------------------------------------------------------------% DESCRIÇAO
% --------------------------------------------------------------------------------------% DATA
PROGRAMADOR
DESCRIÇAO DO CODIGO
% 10/10/07
Josenildo F. Galdino
Código Original
%---------------------------------------------------------------------------------------
122
Programas em MATLAB
% DEFINIÇAO DAS VARIAVEIS
% a - coeficiente do termo x^2
% b - coeficiente do termo x
% c - coeficiente do termo x^0 ou termo independente.
% x1 - raiz da equação quadrática
% x2 - raiz da equação quadrática
% m - variável intermediaria
% n - variável intermediaria
123
Programas em MATLAB
clc;
% Limpa a area de trabalho.
% Obtenção dos parâmetros
disp('Forneca os coeficientes da equaçao quadratica');
a = input('\nForneca o coeficiente a: ');
b = input('Forneça o coeficiente b: ');
c = input('Forneca o coeficiente c: ');
x = linspace(-12,12,300); % Gera 300 pontos entre -12 e 12.
y = a*x.^2 + b*x + c;
% Definição da função y = f(x)
124
Programas em MATLAB
% Cálculo das raízes
m = -b/(2*a);
n = sqrt(b^2 - 4*a*c)/(2*a);
fprintf('\nAs raizes da equacao quadratica sao:')
x1 = m + n
x2 = m - n
fprintf('\n');
125
Programas em MATLAB
% Exibição do gráfico
plot(x,y);
% Gráfico em 2-D.
title('\bf\itEquaçao Quadratica'); % Titulo do gráfico
xlabel('\bf\itx');
% Eixo horizontal
ylabel('\bf\ity');
% Eixo vertical
126
Programas em MATLAB
Forneca os coeficientes da equaçao quadratica
Forneca o coeficiente a: 2
Forneça o coeficiente b: 10
Forneca o coeficiente c: 12
As raizes da equaçao quadratica sao:
x1 =
-2
x2 =
-3
127
Programas em MATLAB
128
ANIMAÇÃO

Demonstração
Script-file: animacao.m
129
ANIMAÇÃO

Demonstração
Script-file: animacao1.m
130
ANIMAÇÃO

Demonstração
Script-file: animacao2.m
131
OBRIGADO!!!
132
Download

A * B - Universidade Federal de Campina Grande