






Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
... uso do Toolbox de Matemática Simbólica do MATLAB®, o Symbolic Math Toolbox. ... Além da criação de expressões usando a função sym(), a função syms pode ...
Tipologia: Notas de estudo
1 / 12
Esta página não é visível na pré-visualização
Não perca as partes importantes!







Balanceamento .................................................................................................................... 1 O pacote simbólico .............................................................................................................. 1 PI ..................................................................................................................................... 4 Equações algébricas ............................................................................................................. 5 Distributiva ........................................................................................................................ 5 Fatoração ........................................................................................................................... 5 Fatoração com múltiplas variáveis .......................................................................................... 5 Simplificação ...................................................................................................................... 6 Equações do segundo grau .................................................................................................... 6 Limite ............................................................................................................................... 7 Derivadas ........................................................................................................................... 8 Integrais ............................................................................................................................. 9 Mais condições ................................................................................................................. 10 Integrais definidas ............................................................................................................. 10 Séries de Taylor ................................................................................................................ 11 Soma simbólica - Série geométrica ....................................................................................... 11 Frações parciais ................................................................................................................. 12
Nesta aula, veremos o uso do Toolbox de Matemática Simbólica do MATLAB®, o Symbolic Math Toolbox.
Balanceamento
A partir das equações abaixo:
O pacote simbólico
É um pacote comprado à parte, que usa um paradigma diferente do normalmente usado no MATLAB®. Por padrão, o MATLAB® usa cálculos numéricos, com valores aproximados. No Toolbox de matemática simbólica, os cálculos são exatos.
clear all; close all; clc; format compact
Como exemplo de limitação da matemática numérica, vemos a comparação abaixo. Sendo eps
eps
ans = 2.2204e-
A comparação abaixo ainda é entendida como verdadeira em matemática numérica:
1 + eps/2 == 1
ans = 1
Um exemplo é o fatorial de 52:
factorial(52)
ans = 8.0658e+
Para encontrar todas as casas do fatorial, usamos a função sym():
sym('factorial(52)')
ans = 80658175170943878571660636856403766975289505440883277824000000000000
Uma potência grande de 2, também mostra a diferença:
disp('- Numérico:') 2^
disp('- Simbólico:') sym('2^100')
Além disso, o pacote simbólico pode trabalhar com variáveis:
expr1 = sym('x^2 + sin(x)') expr2 = sym('a*x + b')
expr1 = sin(x) + x^ expr2 = b + a*x
Repare que as variáveis criadas representam expressões matemáticas, e a classe das variáveis é diferente:
whos expr1 expr
Name Size Bytes Class Attributes
expr1 1x1 112 sym expr2 1x1 112 sym
Podemos também realizar operações matemáticas com as expressões:
expr3 = expr1 / expr
expr3 = (sin(x) + x^2)/(b + a*x)
Funções de visualização podem ser usadas para melhorar a exibição dos resultados:
Repare que a variável "b" foi substituída pelo valor 17. Além disso, outros valores simbólicos podem ser usados na substituição:
subs(expr2,b,2ax)
ans = 3ax
Para substituir mais de um valor, usa-se células na função subs() :
subs(expr2,{a,b},{7,-1}) e = subs(expr2,{a,b,x},{7,-1,10})
ans = 7*x - 1 e = 69
Repare que, mesmo substituindo todas as variáveis, o retorno da função ainda é uma variável simbólica:
whos e
Name Size Bytes Class Attributes
e 1x1 112 sym
Para converter o resultado para um número, usamos a função double()
double(e)
ans = 69
PI
Para usar o \pi em substituições, podemos fazer de duas formas. Na primeira, a substituição é feita com o numérico 3,14..., na segunda, o valor exato de pi é usado. O recomendado é sempre usar aspas:
sym(pi+1) sym('pi+1')
ans = 1165754695714211/ ans = pi + 1
A função subs() pode ser usada para substituir todas as variáveis que possuem definição numérica no workspace, para isso, basta não passar nenhum parâmetro adicional:
expr b = 17 % Numérico subs(expr2)
expr2 = b + a*x
b = 17 ans = a*x + 17
Equações algébricas
O toolbox de matemática simbólica pode ser usado para manipulações algébricas.
syms x
Distributiva
Seja a expressão:
expr1 = x*(x+1)
expr1 = x*(x + 1)
Para fazer a distribuição de x, usa-se a função expand() :
expr2 = expand(expr1)
expr2 = x^2 + x
Fatoração
Seja a expressão
expr
expr2 = x^2 + x
Vemos que x é um fator comum, por isso pode ser fatorado:
factor(expr2)
ans = [ x, x + 1]
Para retornar à forma retornada pela função expand() , usamos a função prod() :
prod(factor(expr2))
ans = x*(x + 1)
Fatoração com múltiplas variáveis
Para casos onde temos mais de uma variável, a função collect() faz a fatoração para a variável escolhida. Seja a expressão abaixo:
ax^2 + bx + c
Para resolver, usa-se a função solve() , que aplica Bhaskara e nos retorna um vetor com os valores exatos das raízes:
solve(eq2grau)
ans = -(b + (b^2 - 4ac)^(1/2))/(2a) -(b - (b^2 - 4ac)^(1/2))/(2a)
Limite
Podemos usar operações de cálculo também de forma simbólica. Por exemplo, para calcular o limite abaixo:
Podemos fazer numericamente, mas recebemos um NaN:
sin(0)/
ans = NaN
Sabemos por L'Hopital que o limite resulta em 1. Ao aplicar um número que se aproxima de zero, temos:
format long sin(0.000001)/0. format
ans =
Vemos que o número se aproxima de 1, mas isto não é uma prova que ele é 1. Se ao invés disso usarmos a matemática simbólica, temos uma resolução exata:
syms x limit(sin(x)/x)
ans =
1
Outro exemplo é o limite de:
limit((1+1/x)^x,x,inf)
ans =
exp(1)
Derivadas
Podemos também resolver derivadas. Para isto, usamos a função diff() :
syms a b x diff(ax^2 + sin(bx),x)
ans =
2ax + bcos(bx)
Para derivadas de ordem superior, basta incluir mais um parâmetro:
disp('- Segunda ordem:') diff(ax^2 + sin(bx),x,2) disp('- Terceira ordem:') diff(ax^2 + sin(bx),x,3) disp('- Quarta ordem:') diff(ax^2 + sin(bx),x,4) disp('- Quinta ordem:') diff(ax^2 + sin(bx),x,5)
ans =
2a - b^2sin(b*x)
ans =
-b^3cos(bx)
ans =
b^4sin(bx)
ans =
b^5cos(bx)
int(x^a,x)
ans =
x^(a + 1)/(a + 1)
Para ver todas as condições passadas:
assumptions(a)
ans =
0 < a
Mais condições
Sabemos que cos(2 \pi x) = 1 , para x E inteiros, mas o MATLAB® não retorna esta condição naturalmente:
simplify(cos(2pix))
ans =
cos(2pix)
Incluindo a condição de que x E inteiros, temos:
assume(x,'integer') simplify(cos(2pix))
ans =
1
Integrais definidas
Para passar intervalos onde a integral será definida:
int(x^a,x,0,3)
ans =
(3*3^a)/(a + 1)
Podemos combinar condições de variaveis com operadores lógicos:
assume((a > 0) & (a < 2)) assumptions(a)
ans =
[ 0 < a, a < 2]
Séries de Taylor
Para a série abaixo:
taylor(exp(x),x,'Order',5)
ans =
x^4/24 + x^3/6 + x^2/2 + x + 1
Soma simbólica - Série geométrica
Para a série abaixo:
symsum((1/2)^x,x,0,inf)
ans =
2
syms r symsum(r^x,x,0,inf)
ans =
piecewise([1 <= r, Inf], [abs(r) < 1, -1/(r - 1)])