View
213
Download
0
Category
Preview:
Citation preview
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 MatlabMATLAB 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 MatlabMATLAB 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éticosForma 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
5D
23
C
1 0 2 1-
B
1 20 1
A
14
Operadores Aritméticos
A + B
0 22 2
A – B
2 -2 2 0
A + C
Operação ilegal
A + D
6 57 6
15
Operadores Aritméticos A * B
-1 2 2 5
A * C
38
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 0Inf 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 1a > b 1 01 + j <= 2 + 3*j 1x >= [3 8] 1 0a > c 0 12 + j == 1+ j 05 + j ~= 2 + j 1
a = [2 1] b = [ 1 1 ] c = [ 0 2 ] x = [ 4 2]
20
Operadores LógicosOperaçã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ógicosExpressão Resultado
~A 0A l B 1B l C 13 > 4 & 1 03 > (4 & 1) 1~C 0A l B & C 1 A & C 1B & C 0
A = 1, B = 0 e C = -10
25
Operadores Lógicos -Exercícios
Expressão~AA l BB l C3 > 4 & 13 > (4 & 1)~CA l B & CA & CB & C
Resultado011010110
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ódigoLinguagem 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 Controleif 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 Controleif
CondiçãoVerdadeira
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.0Imprima “Aprovado”
Código no Matlab if nota >= 7
fprintf(‘Aprovado’);end
32
Estruturas de Controle
If-else
CondiçãoVerdadeiraFalsa
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 controlewhile: é 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 Controlewhile
CondiçãoVerdadeira
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 bCase (‘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ãoDeclaração 1
.... Corpo Declaração n
end
40
Estrutura de Controle
cont = 1
cont <= n
Falso
VerdadeiroCorpo 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 zerofor k = 1:10
soma = soma + k;end
fprintf('A soma dos dez primeiros inteiros eh: %.2f', soma);
10987654321 Soma
42
Estruturas de Controle Exemplo: Calcular o fatorial de um número n.
n = 5;fatorial = 1; % Inicializa a variável soma com
zerofor k = 1:n % Laço de repetição: n vezes
fatorial = fatorial*k; % Cálculo do fatorialend
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 zerofor k = 1:2:9
soma = soma + k;end
fprintf('A soma dos 5 primeiros inteiros impares eh: %.2f', soma);
97531 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;endfprintf(‘k = %d\n’, k);
end disp(‘Fim do laço!’);
47
Estruturas de Controle
k = 1k = 2Fim 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;endfprintf(‘k = %d\n’, k);
end disp(‘Fim do laço!’);
50
Estruturas de Controle
k = 1k = 2k = 4k = 5Fim 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 circuloraio = 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.
>> circuloArea 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 MATLABFornece 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 deum 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 = 5index = 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] % Entraday = sin(x) % Saíday = [ 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 MATLABfunction [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 MATLABUso 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 usuariodisp('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 programadorresultado = distancia2(xa, ya, xb, yb); % Chamada a funçao.
% Exibiçao do resultadofprintf('A distancia entre os pontos A e B e %f\n', resultado);
70
Introdução a Funções MATLAB>> teste_distancia2Calcule a distancia entre os pontos A e BForneca a abscissa do ponto A: 1Forneca a ordenada do ponto A: 1Forneca a abscissa do ponto B: 2Forneca 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 ToolboxEXPRESSÕ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: 3x )5( 4xdxdz
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:
collectexpand factorsimplifysimple
77
Symbolic Math Toolboxcollect
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 Toolboxcollect(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 Toolboxcollect(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)^2na 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 Toolboxexpand(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 Toolboxexpand
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 matlabcos(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 ToolboxFactor
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 ToolboxFactor(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 ToolboxFactor(x)
5) Calcule os fatores do número
>> factor(15)ans = 3 5
>> factor(50)ans = 2 5 5
93
Symbolic Math ToolboxFactor(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 ToolboxSimplify
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
168
4
3
xxy
98
Symbolic Math Toolbox
Agora é com você!!!
Simplifique a seguinte expressão:
82
3
xxy
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 22 xxy
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( yx
101
Symbolic Math ToolboxSimple
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çãoans = x^2+3*x+2
103
Symbolic Math Toolbox
Agora é com você!!!
Simplifique a expressão
)(sin)(cos2 22 xxy
104
Symbolic Math Toolboxpretty
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 ToolboxLimites
% ----------------------------------------------------------------------------------------% 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çãolimit(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çãolimit(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çãolimit(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çãolimit(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çãolimit(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çãolimit(g3) % Calcula o limite quando x tende a 0.
111
Symbolic Math Toolbox
DERIVADAS
112
Symbolic Math ToolboxDERIVADAS
>> 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 ToolboxDERIVADASsyms 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 ToolboxDERIVADAS 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)(
xxxf
>> 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,
22)( xxxf )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 derivadapolyval(g,1) % Calcula a derivada em x = 1subs(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^nans =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 ToolboxINTEGRAIS 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
012102 2 ss
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 MATLABclc; % 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 - nfprintf('\n');
126
Programas em MATLAB
% Exibição do gráfico
plot(x,y); % Gráfico em 2-D.title('\bf\itEquaçao Quadratica'); % Titulo do gráficoxlabel('\bf\itx'); % Eixo horizontalylabel('\bf\ity'); % Eixo vertical
127
Programas em MATLABForneca os coeficientes da equaçao quadratica
Forneca o coeficiente a: 2Forneça o coeficiente b: 10Forneca o coeficiente c: 12
As raizes da equaçao quadratica sao:x1 =
-2x2 =
-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!!!
Recommended