Considere
o ponto para expansão do polinômio de Taylor.
(opcional) Para
, encontre a aproximação por polinômio de Taylor que garante um erro menor do que
para todo
. Usando esta aproximação, escreva um programa que calcule
. Compare o resultado de sua função com o resultado da função
da linguagem de programação que você utiliza.
(opcional) Para
Passo 1
O que o enunciado pede (resumido e bem claro):
- Encontrar uma aproximação por polinômio de Taylor para
que garanta erro menor que para todo . - Usar essa aproximação para escrever um programa que calcule
. - Comparar o resultado dessa função com a função padrão
da linguagem (vou usar Python).
Informações dadas e consideradas:
- O intervalo onde queremos controlar o erro é
. - A tolerância desejada para o erro é
. - O ponto de expansão
foi genérico; por simplicidade e porque é o mais comum para essa tarefa, vou escolher (série de Maclaurin). Isso não reduz generalidade para o intervalo pedido e torna as fórmulas mais simples.
Passo 2
Definição útil: polinômio de Taylor e resto (forma de Lagrange).
- O polinômio de Taylor de ordem
de uma função em torno de é
- O resto (erro) na forma de Lagrange é dado por
para algum
entre
e
. Ou seja, o erro em truncar a série depois de
termos é exatamente esse termo (com
desconhecido), e podemos usar um majorante substituindo
por um valor máximo conhecido num dado intervalo.
Explicação didática: isso significa que, para controlar o erro, precisamos controlar o tamanho de
no intervalo considerado e o fator
. Para
, todas as derivadas são simples e iguais a
, então fica bem prático.
Passo 3
Especializando para
com expansão em
:
- Todas as derivadas são
. - O polinômio de grau
(Maclaurin) é
- O resto em forma de Lagrange para
é
para algum
entre
e
.
Interpretação: o resto depende de
(que varia entre
e
), mas podemos obter um majorante fácil usando
.
Passo 4
Majorante do resto em todo o intervalo
:
- Para
temos , logo . - Também, para
entre e temos . - Portanto um majorante uniforme para o resto é
Conclusão útil: se conseguirmos
então garantimos erro menor que
em todo
.
Passo 5
Encontrar o menor
que satisfaça a desigualdade
.
Vou testar valores de
subindo:
- Para
: . Então
- Para
: . Então
Portanto o menor
que satisfaz a condição é
.
Explicação amistosa: eu fui testando o fator fatorial porque cresce muito rápido; 10! ainda não era suficiente, 11! já dá folga. Isso é típico: para funções com derivadas que não crescem muito (como
aqui), o crescimento do fatorial domina e o resto cai rápido.
Passo 6
Escrever o polinômio explícito de grau
(a aproximação que garante o erro desejado):
Comentário prático: na programação, em vez de calcular cada
do zero, é eficiente atualizar o termo multiplicando pelo
sequencialmente (reduz erro de arredondamento e trabalho).
Passo 7
Valor numérico do majorante do erro:
que é menor que
. Logo a aproximação com
atende ao requisito.
Passo 8
Programa em Python para calcular
usando
. Implementação simples e eficiente (uso de atualização do termo para evitar recomputar fatoriais):
import math
def exp_approx(x):
# aproxima exp(x) por soma dos termos até k=10
term = 1.0 # termo k=0
s = term
for k in range(1, 11): # k = 1..10
term *= x / k # atualiza para x^k / k! a partir do anterior
s += term
return s
# comparação em alguns pontos
for x in (-1.0, -0.5, 0.0, 0.5, 1.0):
approx = exp_approx(x)
exact = math.exp(x)
err = abs(approx - exact)
print(f"x={x:>5}: approx={approx:.12f}, exact={exact:.12f}, abs_error={err:.12e}")
Explicação do código (passo a passo, amigável):
- Inicializamos o termo
com (pois ). - Para cada
de até atualizamos o termo por . Isso produz o novo com custo O(1) por iteração. - Acumulamos na soma
. Ao final, . - A comparação com
mostra o erro absoluto numérico.
Passo 9
O que esperar ao rodar o programa e interpretação dos resultados:
- Teoricamente, para qualquer
o erro absoluto ficará abaixo de . - Ao executar o trecho de comparação acima, você verá linhas parecidas com (valores indicativos):
Esses valores são exemplos típicos: todos menores que
e o máximo observado próximo de
fica próximo do majorante
.
Comentário final e incentivo: deu trabalho achar o
certo, mas o truque foi usar o resto de Lagrange e um majorante simples
. Na prova, faça o mesmo: escreva a forma do resto, majorante pelo máximo da derivada no intervalo, e resolva para
. Você consegue!
Resposta
Programa em Python: função indicada em Passo 8 (implementação de