SlideShare uma empresa Scribd logo
29/10/2007 Galdino, J.F 1
UNIVERSIDADE FEDERAL DE CAMPINA GRANDE
4ª Semana Matemática
Introdução a Programação no MATLAB
2
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: josenildofg@gmail.com
3
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
4
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.
5
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
6
7
Janela de Comandos MATLAB
Janela de Histórico de Comandos
Espaço de Lançamento
Navegador de Diretório Corrente
Navegador de Ajuda
8
Introdução ao Matlab
 Informação do Sistema:
>>computer
>>version
>>ver
>>license
9
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.141592653589793e
+000
16 dígitos + expoente
format short g 3.1416 short ou short e
format long g 3.14159265358979 long ou long e
10
Introdução ao Matlab
MATLAB comand pi Comentários
format hex 400921fb54442d18 Hexadecimal, ponto
flutuante
format bank 3.14 2 digitos decimais
format + + positivo(+),
negativo(-) ou zero(0)
format rat 355/113 razão aproximada
11
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
12
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
13
Operadores Aritméticos
5
D 







2
3
C







1
0
2
1
-
B







1
2
0
1
A
14
Operadores Aritméticos
 A + B
0 2
2 2
 A – B
2 -2
2 0
 A + C
Operação ilegal
 A + D
6 5
7 6
15
Operadores Aritméticos
 A * B
-1 2
2 5
 A * C
3
8
 A .* B
-1 0
0 1
 A .* C
Operação ilegal
16
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
17
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
18
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.
19
Operadores Relacionais
Expressão Resultado
5 > 3 1
´AC’ > ‘BA´ 0 1
a > b 1 0
1 + j <= 2 + 3*j 1
x >= [3 8] 1 0
a > c 0 1
2 + j == 1+ j 0
5 + j ~= 2 + j 1
a = [2 1] b = [ 1 1 ] c = [ 0 2 ] x = [ 4 2]
20
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
21
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.
22
Operadores Lógicos
Entradas e ou xor não
A B A & B A l B 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
• Tabela da Verdade para Operadores Lógicos
23
Precedência dos operadores
1. Os operadores aritméticos são avaliados primeiro.
2. Os operadores relacionais são avaliados da
esquerda para a direita.
3. Todos os operadores ~ são avaliados.
4. Todos os operadores & são avaliados.
5. 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.
24
Operadores Lógicos
Expressão Resultado
~A 0
A l B 1
B l C 1
3 > 4 & 1 0
3 > (4 & 1) 1
~C 0
A l B & C 1
A & C 1
B & C 0
A = 1, B = 0 e C = -10
25
Operadores Lógicos -Exercícios
Expressão
~A
A l B
B l C
3 > 4 & 1
3 > (4 & 1)
~C
A l B & C
A & C
B & C
Resultado
0
1
1
0
1
0
1
1
0
26
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
27
Estruturas de Controle
 Simbologia
Símbolo de decisão
Indica que ações serão executadas
Inicio e fim de uma estrutura de uma controle
28
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.
29
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.
30
Estruturas de Controle
if
Condição
Verdadeira
Falsa
Executa uma ação
Testa a condição
31
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
32
Estruturas de Controle
If-else
Condição
Verdadeira
Falsa
Executa uma ação
Testa a condição
Executa uma ação
33
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
34
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
35
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
36
Estruturas de Controle
while
Condição
Verdadeira
Falsa
Executa uma ação
Testa a condição
37
Estruturas de Controle
 switch
Estrutura de seleção múltipla.
Consiste de uma série de rótulos case e um
otherwise.
38
Estrutura de Controle
Case (‘a’)
Falso
Verdadeiro
Ação(ões) do case a
Ação(ões) do case b
Case (‘b’)
Otherwise
Verdadeiro
Falso
.
.
Falso
39
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
40
Estrutura de Controle
cont = 1
cont <= n
Falso
Verdadeiro
Corpo do laço cont = cont + 1
n: número de iterações do laço for
cont: variável de controle
Inicialização da variável de controle
cont = 2
cont = 3
41
Estruturas de Controle
 Exemplo: Calcular a soma dos 10 primeiros inteiros.
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);
10
9
8
7
6
5
4
3
2
1 









Soma
42
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);
43
Estruturas de Controle
 Exemplo: Calcular a soma dos 5 primeiros inteiros impares.
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);
9
7
5
3
1 




Soma
44
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.
45
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.
46
Estruturas de Controle
% Uso do break
for k = 1:5
if k == 3;
break;
end
fprintf(‘k = %dn’, k);
end
disp(‘Fim do laço!’);
47
Estruturas de Controle
k = 1
k = 2
Fim do laço!
48
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.
49
Estruturas de Controle
% Uso do continue
for k = 1:5
if k == 3;
continue;
end
fprintf(‘k = %dn’, k);
end
disp(‘Fim do laço!’);
50
Estruturas de Controle
k = 1
k = 2
k = 4
k = 5
Fim do laço!
51
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.
52
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.
53
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.
54
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);
55
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.
56
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
57
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.
58
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.
59
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
60
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
61
Introdução a Funções MATLAB
Agora é com você!!!
x = [ 0 pi/2 pi 3*pi/2 2*pi]
y = cos(x)
62
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º.
63
Introdução a Funções MATLAB
 Funções Elementares
64
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)
65
Introdução a Funções MATLAB
x
y
xa xb
ya
yb
A
B
d
D: distancia entre os pontos A e B
C
66
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.
67
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)
68
Introdução a Funções MATLAB
Uso da função distancia2.
% Script file: teste_distancia2.m
% Este programa testa a funçao distancia2
% Data Programador Descriçao
% 05/10/07 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.
69
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 %fn', resultado);
70
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
>>
71
Toolboxes
 Statistics Toolbox
 Symbolic Math Toolbox
 Partial Diferrential Equation Toolbox
 Curve Fitting Toolbox
 Signal Processing Toolbox
 Control System Toolbox
 Communication Toolbox
72
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.
73
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.
74
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.
75
Symbolic Math Toolbox
EXPRESSÕES SIMBÓLICAS
Exemplos:
3
x )
5
( 4
x
dx
d
z 
76
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
77
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.
78
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
79
Symbolic Math Toolbox
Agora é com você!!!
Escreva a função y = (x + 1)(x + 2) na forma
polinomial.
80
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.
81
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
82
Symbolic Math Toolbox
Agora é com você!!!
Escreva a função y = (x + 1)^3 + (z + 1)^2
na forma polinomial, em termos de z.
83
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 )
84
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
85
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.
86
Symbolic Math Toolbox
expand
4) Obtenha a forma expandida da função
trigonométrica cos(x + y).
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
87
Symbolic Math Toolbox
Agora é com você!!!
Obtenha a forma expandida da função
exponencial exp(x + y).
88
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.
89
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.
90
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
91
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.
92
Symbolic Math Toolbox
Factor(x)
5) Calcule os fatores do número
>> factor(15)
ans =
3 5
>> factor(50)
ans =
2 5 5
93
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)
94
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
95
Symbolic Math Toolbox
Agora é com você!!!
Obtenha a forma fatorada da equação
y = x^2 + 3*x + 2
96
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.
97
Symbolic Math Toolbox
7) Simplifique a seguinte expressão:
>> 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
16
8
4
3



x
x
y
98
Symbolic Math Toolbox
Agora é com você!!!
Simplifique a seguinte expressão:
8
2
3



x
x
y
99
Symbolic Math Toolbox
8) Simplifique a seguinte expressão
>> 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
)
(
sin
)
(
cos 2
2
x
x
y 

100
Symbolic Math Toolbox
9) Simplifique a seguinte expressão:
>> 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)
)
*
log( y
x
101
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.
102
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
103
Symbolic Math Toolbox
Agora é com você!!!
Simplifique a expressão )
(
sin
)
(
cos
2 2
2
x
x
y 

104
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.
105
Symbolic Math Toolbox
 LIMITES
106
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
%---------------------------------------------------------------------------------------
107
Symbolic Math Toolbox
syms x a; % Cria as variáveis simbólicas x e a.
f = 1/(x^2); % Definição da função f(x)
pretty(f); % Exibição da função
limit(f,2) % 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.
108
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); % Definição da função f3(x)
pretty(f3) % Exibição da função
limit(f3,2) % 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.
109
Symbolic Math Toolbox
g = sin(2*x)/x; % Definição da função g(x)
pretty(g) % Exibição da função
limit(g) % Calcula o limite quando x tende a 0.
g1 = sin(5*x)/x; % Definição da função g1(x)
pretty(g1) % Exibição da função
limit(g1) % Calcula o limite quando x tende a 0.
110
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.
111
Symbolic Math Toolbox
 DERIVADAS
112
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) % Calcula a derivada de f(x).
d =
3*x^2+8*x-7
>> e = diff(p,2) % Calcula a 2ª derivada de f(x).
e =
6*x+8
>> f = diff(p,3) % Calcula a 3ª derivada de f(x).
f =
6
113
Symbolic Math Toolbox
DERIVADAS
syms x n % Cria as variaveis simbólicas x e n.
>> g = x^n; % Define a função g(x).
>> h = diff(g) % Calcula a derivada de g(x).
h =
x^n*n/x
>> h = simplify(h) % Simplifica o resultado.
h =
x^(n-1)*n
114
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)
115
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)
116
Symbolic Math Toolbox
 Calcule a derivada de
1
)
(


x
x
x
f
>> syms x; % Cria a variável simbólica x.
>> p = x/(x-1); % Define a função f(x).
>> diff(p) % Calcula a derivada de f(x).
ans =
1/(x-1)-x/(x-1)^2
>> simplify(ans) % Simplifica a expressão da derivada.
ans =
-1/(x-1)^2
>> pretty(ans) % Exibe a resposta no formato mais visivel.
1
- --------
2
(x - 1)
117
Symbolic Math Toolbox
 Calcule a derivada de
em x = 1, ou seja,
2
2
)
( x
x
x
f 


)
1
(
'
f
118
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]; % Define o polinômio da derivada
polyval(g,1) % Calcula a derivada em x = 1
subs(d,1) % Valor da função em x = 1
119
Symbolic Math Toolbox
 INTEGRAIS
>> syms x n t % Cria as variáveis simbólicas x n t
>> int(x^n) % Calcula a integral de x^n
ans =
x^(n+1)/(n+1)
>> 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) % Calculo da integral de x, no intervalo [ 1, t ].
ans =
1/2*t^2-1/2
120
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)
121
Programas em MATLAB
 Resolver a equação quadrática
0
12
10
2 2


 s
s
122
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
%---------------------------------------------------------------------------------------
123
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
124
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)
125
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');
126
Programas em MATLAB
% Exibição do gráfico
plot(x,y); % Gráfico em 2-D.
title('bfitEquaçao Quadratica'); % Titulo do gráfico
xlabel('bfitx'); % Eixo horizontal
ylabel('bfity'); % Eixo vertical
127
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
128
Programas em MATLAB
129
ANIMAÇÃO
 Demonstração
Script-file: animacao.m
130
ANIMAÇÃO
 Demonstração
Script-file: animacao1.m
131
ANIMAÇÃO
 Demonstração
Script-file: animacao2.m
132
OBRIGADO!!!

Mais conteúdo relacionado

PPTX
Visualg
PPTX
Introdução ao matlab
PDF
Apostila_MATLAB.pdf
PDF
Apostila matlab
PDF
apostila matlab
PPTX
Introducao a Lógica de Programação
PDF
Algoritmos e programação
Visualg
Introdução ao matlab
Apostila_MATLAB.pdf
Apostila matlab
apostila matlab
Introducao a Lógica de Programação
Algoritmos e programação

Semelhante a Curso Básico de MATLAB: Principais funções..ppt (20)

PDF
Apostila curso matlab
PDF
Matlab1
PPTX
Matlab – curso básico (1)
PPT
C aula introdutoria, programacao iniciante.ppt
PDF
F ferrari ccechinel-introducao-a-algoritmos
PDF
F ferrari ccechinel-introducao-a-algoritmos
PDF
F ferrari ccechinel-introducao-a-algoritmos
PDF
F ferrari ccechinel-introducao-a-algoritmos
PPT
aula__tecnica_de_programação_algoritmo.ppt
PPT
minicurso_Matlab_ssssssssssssssasdasdOctave.ppt
PDF
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
PDF
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
PDF
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
PDF
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
DOC
Matlab basico
PDF
Apostila de treinamento de Octave parte 1
PDF
Apostila matlab
PDF
Apostila 20 matlab
PDF
Minicurso Matlab IVSEE 2013 UERJ
PDF
Aula01
Apostila curso matlab
Matlab1
Matlab – curso básico (1)
C aula introdutoria, programacao iniciante.ppt
F ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmos
aula__tecnica_de_programação_algoritmo.ppt
minicurso_Matlab_ssssssssssssssasdasdOctave.ppt
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Matlab basico
Apostila de treinamento de Octave parte 1
Apostila matlab
Apostila 20 matlab
Minicurso Matlab IVSEE 2013 UERJ
Aula01
Anúncio

Último (20)

PPT
Acidentes de trabalho e esposição riscovdfv
PDF
Ideal para decisões que exigem dados recentes e confiáveis.
PPTX
Apresentação PF MACAVE no curso de mestrado em Ciencias florestais
PPTX
Integração SMS introdutorio 111111111111
PPTX
Portfólio Dexo Recursos Humanos docosia
PPTX
Introdução à Agronomia - 5 fatos sobre a agronomia
PPT
DIFERENTES TIPOS DE SOLO NA AGRICULTURA.
PPTX
Introdução à Agronomia - Profissionais x Desafios de Mercado x Agricultura
PPTX
Trabalho sobre Distancia de Visibilidade do Curso de Engenharia
PPTX
Apresentação de brainstorm geométrica colorida.pptx
PDF
Boas práticas em rebobinamento trifásico .pdf
PPTX
TR_Seguranca em Elevadores de Obras.pptx
PDF
Material referente a introdução a instr.
PDF
Beige Dark Grey Vintage Victorian Project History Presentation_20250221_19084...
PDF
PROJETO DE PESQUISA PRONTO BIOMEDICINA 2025 ABNT.pdf
PPTX
11 Métodos de prevenção individual e coletiva.pptx
PPTX
TREINAMENTO DE NORMA REGULAMENTADORA NR2
PDF
Aula 12-13 e 14 - UC2 NR 23 Combate a Incêndios.pdf
PPT
NR 18 Condições e Meio Ambiente de Trabalho na Indústria da Construção.ppt
PDF
eletronica-basica_capitulo_01_2017_1s.pdf
Acidentes de trabalho e esposição riscovdfv
Ideal para decisões que exigem dados recentes e confiáveis.
Apresentação PF MACAVE no curso de mestrado em Ciencias florestais
Integração SMS introdutorio 111111111111
Portfólio Dexo Recursos Humanos docosia
Introdução à Agronomia - 5 fatos sobre a agronomia
DIFERENTES TIPOS DE SOLO NA AGRICULTURA.
Introdução à Agronomia - Profissionais x Desafios de Mercado x Agricultura
Trabalho sobre Distancia de Visibilidade do Curso de Engenharia
Apresentação de brainstorm geométrica colorida.pptx
Boas práticas em rebobinamento trifásico .pdf
TR_Seguranca em Elevadores de Obras.pptx
Material referente a introdução a instr.
Beige Dark Grey Vintage Victorian Project History Presentation_20250221_19084...
PROJETO DE PESQUISA PRONTO BIOMEDICINA 2025 ABNT.pdf
11 Métodos de prevenção individual e coletiva.pptx
TREINAMENTO DE NORMA REGULAMENTADORA NR2
Aula 12-13 e 14 - UC2 NR 23 Combate a Incêndios.pdf
NR 18 Condições e Meio Ambiente de Trabalho na Indústria da Construção.ppt
eletronica-basica_capitulo_01_2017_1s.pdf
Anúncio

Curso Básico de MATLAB: Principais funções..ppt

  • 1. 29/10/2007 Galdino, J.F 1 UNIVERSIDADE FEDERAL DE CAMPINA GRANDE 4ª Semana Matemática Introdução a Programação no MATLAB
  • 2. 2 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: josenildofg@gmail.com
  • 3. 3 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
  • 4. 4 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.
  • 5. 5 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
  • 6. 6
  • 7. 7 Janela de Comandos MATLAB Janela de Histórico de Comandos Espaço de Lançamento Navegador de Diretório Corrente Navegador de Ajuda
  • 8. 8 Introdução ao Matlab  Informação do Sistema: >>computer >>version >>ver >>license
  • 9. 9 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.141592653589793e +000 16 dígitos + expoente format short g 3.1416 short ou short e format long g 3.14159265358979 long ou long e
  • 10. 10 Introdução ao Matlab MATLAB comand pi Comentários format hex 400921fb54442d18 Hexadecimal, ponto flutuante format bank 3.14 2 digitos decimais format + + positivo(+), negativo(-) ou zero(0) format rat 355/113 razão aproximada
  • 11. 11 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
  • 12. 12 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
  • 14. 14 Operadores Aritméticos  A + B 0 2 2 2  A – B 2 -2 2 0  A + C Operação ilegal  A + D 6 5 7 6
  • 15. 15 Operadores Aritméticos  A * B -1 2 2 5  A * C 3 8  A .* B -1 0 0 1  A .* C Operação ilegal
  • 16. 16 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
  • 17. 17 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
  • 18. 18 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.
  • 19. 19 Operadores Relacionais Expressão Resultado 5 > 3 1 ´AC’ > ‘BA´ 0 1 a > b 1 0 1 + j <= 2 + 3*j 1 x >= [3 8] 1 0 a > c 0 1 2 + j == 1+ j 0 5 + j ~= 2 + j 1 a = [2 1] b = [ 1 1 ] c = [ 0 2 ] x = [ 4 2]
  • 20. 20 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
  • 21. 21 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.
  • 22. 22 Operadores Lógicos Entradas e ou xor não A B A & B A l B 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 • Tabela da Verdade para Operadores Lógicos
  • 23. 23 Precedência dos operadores 1. Os operadores aritméticos são avaliados primeiro. 2. Os operadores relacionais são avaliados da esquerda para a direita. 3. Todos os operadores ~ são avaliados. 4. Todos os operadores & são avaliados. 5. 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.
  • 24. 24 Operadores Lógicos Expressão Resultado ~A 0 A l B 1 B l C 1 3 > 4 & 1 0 3 > (4 & 1) 1 ~C 0 A l B & C 1 A & C 1 B & C 0 A = 1, B = 0 e C = -10
  • 25. 25 Operadores Lógicos -Exercícios Expressão ~A A l B B l C 3 > 4 & 1 3 > (4 & 1) ~C A l B & C A & C B & C Resultado 0 1 1 0 1 0 1 1 0
  • 26. 26 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
  • 27. 27 Estruturas de Controle  Simbologia Símbolo de decisão Indica que ações serão executadas Inicio e fim de uma estrutura de uma controle
  • 28. 28 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.
  • 29. 29 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.
  • 31. 31 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
  • 32. 32 Estruturas de Controle If-else Condição Verdadeira Falsa Executa uma ação Testa a condição Executa uma ação
  • 33. 33 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
  • 34. 34 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
  • 35. 35 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
  • 37. 37 Estruturas de Controle  switch Estrutura de seleção múltipla. Consiste de uma série de rótulos case e um otherwise.
  • 38. 38 Estrutura de Controle Case (‘a’) Falso Verdadeiro Ação(ões) do case a Ação(ões) do case b Case (‘b’) Otherwise Verdadeiro Falso . . Falso
  • 39. 39 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
  • 40. 40 Estrutura de Controle cont = 1 cont <= n Falso Verdadeiro Corpo do laço cont = cont + 1 n: número de iterações do laço for cont: variável de controle Inicialização da variável de controle cont = 2 cont = 3
  • 41. 41 Estruturas de Controle  Exemplo: Calcular a soma dos 10 primeiros inteiros. 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); 10 9 8 7 6 5 4 3 2 1           Soma
  • 42. 42 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);
  • 43. 43 Estruturas de Controle  Exemplo: Calcular a soma dos 5 primeiros inteiros impares. 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); 9 7 5 3 1      Soma
  • 44. 44 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.
  • 45. 45 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.
  • 46. 46 Estruturas de Controle % Uso do break for k = 1:5 if k == 3; break; end fprintf(‘k = %dn’, k); end disp(‘Fim do laço!’);
  • 47. 47 Estruturas de Controle k = 1 k = 2 Fim do laço!
  • 48. 48 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.
  • 49. 49 Estruturas de Controle % Uso do continue for k = 1:5 if k == 3; continue; end fprintf(‘k = %dn’, k); end disp(‘Fim do laço!’);
  • 50. 50 Estruturas de Controle k = 1 k = 2 k = 4 k = 5 Fim do laço!
  • 51. 51 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.
  • 52. 52 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.
  • 53. 53 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.
  • 54. 54 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);
  • 55. 55 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.
  • 56. 56 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
  • 57. 57 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.
  • 58. 58 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.
  • 59. 59 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
  • 60. 60 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
  • 61. 61 Introdução a Funções MATLAB Agora é com você!!! x = [ 0 pi/2 pi 3*pi/2 2*pi] y = cos(x)
  • 62. 62 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º.
  • 63. 63 Introdução a Funções MATLAB  Funções Elementares
  • 64. 64 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)
  • 65. 65 Introdução a Funções MATLAB x y xa xb ya yb A B d D: distancia entre os pontos A e B C
  • 66. 66 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.
  • 67. 67 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)
  • 68. 68 Introdução a Funções MATLAB Uso da função distancia2. % Script file: teste_distancia2.m % Este programa testa a funçao distancia2 % Data Programador Descriçao % 05/10/07 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.
  • 69. 69 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 %fn', resultado);
  • 70. 70 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 >>
  • 71. 71 Toolboxes  Statistics Toolbox  Symbolic Math Toolbox  Partial Diferrential Equation Toolbox  Curve Fitting Toolbox  Signal Processing Toolbox  Control System Toolbox  Communication Toolbox
  • 72. 72 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.
  • 73. 73 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.
  • 74. 74 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.
  • 75. 75 Symbolic Math Toolbox EXPRESSÕES SIMBÓLICAS Exemplos: 3 x ) 5 ( 4 x dx d z 
  • 76. 76 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
  • 77. 77 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.
  • 78. 78 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
  • 79. 79 Symbolic Math Toolbox Agora é com você!!! Escreva a função y = (x + 1)(x + 2) na forma polinomial.
  • 80. 80 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.
  • 81. 81 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
  • 82. 82 Symbolic Math Toolbox Agora é com você!!! Escreva a função y = (x + 1)^3 + (z + 1)^2 na forma polinomial, em termos de z.
  • 83. 83 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 )
  • 84. 84 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
  • 85. 85 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.
  • 86. 86 Symbolic Math Toolbox expand 4) Obtenha a forma expandida da função trigonométrica cos(x + y). 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
  • 87. 87 Symbolic Math Toolbox Agora é com você!!! Obtenha a forma expandida da função exponencial exp(x + y).
  • 88. 88 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.
  • 89. 89 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.
  • 90. 90 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
  • 91. 91 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.
  • 92. 92 Symbolic Math Toolbox Factor(x) 5) Calcule os fatores do número >> factor(15) ans = 3 5 >> factor(50) ans = 2 5 5
  • 93. 93 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)
  • 94. 94 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
  • 95. 95 Symbolic Math Toolbox Agora é com você!!! Obtenha a forma fatorada da equação y = x^2 + 3*x + 2
  • 96. 96 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.
  • 97. 97 Symbolic Math Toolbox 7) Simplifique a seguinte expressão: >> 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 16 8 4 3    x x y
  • 98. 98 Symbolic Math Toolbox Agora é com você!!! Simplifique a seguinte expressão: 8 2 3    x x y
  • 99. 99 Symbolic Math Toolbox 8) Simplifique a seguinte expressão >> 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 ) ( sin ) ( cos 2 2 x x y  
  • 100. 100 Symbolic Math Toolbox 9) Simplifique a seguinte expressão: >> 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) ) * log( y x
  • 101. 101 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.
  • 102. 102 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
  • 103. 103 Symbolic Math Toolbox Agora é com você!!! Simplifique a expressão ) ( sin ) ( cos 2 2 2 x x y  
  • 104. 104 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.
  • 106. 106 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 %---------------------------------------------------------------------------------------
  • 107. 107 Symbolic Math Toolbox syms x a; % Cria as variáveis simbólicas x e a. f = 1/(x^2); % Definição da função f(x) pretty(f); % Exibição da função limit(f,2) % 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.
  • 108. 108 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); % Definição da função f3(x) pretty(f3) % Exibição da função limit(f3,2) % 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.
  • 109. 109 Symbolic Math Toolbox g = sin(2*x)/x; % Definição da função g(x) pretty(g) % Exibição da função limit(g) % Calcula o limite quando x tende a 0. g1 = sin(5*x)/x; % Definição da função g1(x) pretty(g1) % Exibição da função limit(g1) % Calcula o limite quando x tende a 0.
  • 110. 110 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.
  • 112. 112 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) % Calcula a derivada de f(x). d = 3*x^2+8*x-7 >> e = diff(p,2) % Calcula a 2ª derivada de f(x). e = 6*x+8 >> f = diff(p,3) % Calcula a 3ª derivada de f(x). f = 6
  • 113. 113 Symbolic Math Toolbox DERIVADAS syms x n % Cria as variaveis simbólicas x e n. >> g = x^n; % Define a função g(x). >> h = diff(g) % Calcula a derivada de g(x). h = x^n*n/x >> h = simplify(h) % Simplifica o resultado. h = x^(n-1)*n
  • 114. 114 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)
  • 115. 115 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)
  • 116. 116 Symbolic Math Toolbox  Calcule a derivada de 1 ) (   x x x f >> syms x; % Cria a variável simbólica x. >> p = x/(x-1); % Define a função f(x). >> diff(p) % Calcula a derivada de f(x). ans = 1/(x-1)-x/(x-1)^2 >> simplify(ans) % Simplifica a expressão da derivada. ans = -1/(x-1)^2 >> pretty(ans) % Exibe a resposta no formato mais visivel. 1 - -------- 2 (x - 1)
  • 117. 117 Symbolic Math Toolbox  Calcule a derivada de em x = 1, ou seja, 2 2 ) ( x x x f    ) 1 ( ' f
  • 118. 118 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]; % Define o polinômio da derivada polyval(g,1) % Calcula a derivada em x = 1 subs(d,1) % Valor da função em x = 1
  • 119. 119 Symbolic Math Toolbox  INTEGRAIS >> syms x n t % Cria as variáveis simbólicas x n t >> int(x^n) % Calcula a integral de x^n ans = x^(n+1)/(n+1) >> 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) % Calculo da integral de x, no intervalo [ 1, t ]. ans = 1/2*t^2-1/2
  • 120. 120 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)
  • 121. 121 Programas em MATLAB  Resolver a equação quadrática 0 12 10 2 2    s s
  • 122. 122 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 %---------------------------------------------------------------------------------------
  • 123. 123 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
  • 124. 124 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)
  • 125. 125 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');
  • 126. 126 Programas em MATLAB % Exibição do gráfico plot(x,y); % Gráfico em 2-D. title('bfitEquaçao Quadratica'); % Titulo do gráfico xlabel('bfitx'); % Eixo horizontal ylabel('bfity'); % Eixo vertical
  • 127. 127 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