Polinômio de Taylor
A ferramenta mais útil na caixa de ferramentas do analista numérico
Vamos lá?
Os problemas que surgem em computação científica são complicados porque as funções de interesse acabam sendo complicadas mesmo. E se fosse possível trocar qualquer função por um polinômio? Tudo seria mais simples, né? Essa é esperança que os polinômios de Taylor nos trazem.
- 1
- 2
Duas funções são tidas como parecidas se...
As mais diversas funções podem aparecem em problemas de computação científica. Algumas serão simples, mas outras certamente serão complicadas. Entretanto, para muitas aplicações pode ser suficiente e desejável utilizar uma aproximação razoável para a função, se esta aproximação se mostrar mais simples de ser manipulada que a função original.
Por exemplo, suponha que você não tem uma calculadora (ou celular!) à mão e precise computar o valor de $\cos(0.2).$ Não há uma forma óbvia ou imediata de avaliar a função cosseno para $x=0.2.$ Porém se você souber que $\cos x \approx 1 - {x^2\over 2},$ então ainda há esperança! De fato, $1-{(0.2)^2\over 2}$ pode ser facilmente calculado e vale $0.98.$ Este valor coincide com $\cos(0.2)$ até a quarta casa decimal.
Em geral, dada uma função $f,$ queremos encontrar uma função simples que a aproxime, pelo menos na vizinhança de um ponto $x_0$ fixo. Claro que diferentes maneiras de definir o que significa uma função ser simples e o que significa aproximar darão origem a diferentes soluções para esse problema. Uma possibilidade é considerar polinômios, por serem funções construídas apenas com operações aritméticas. Como critério de aproximação, podemos pedir que a função original e o polinômio tenham os mesmos valores de função e derivadas, até certo grau. Estas duas escolhas levam aos polinômios de Taylor .
Seja $f$ uma função real, com $n$ derivadas contínuas, $x_0$ um ponto fixo, e defina $T_n$ o polinômio de grau menor ou igual a $n,$ satisfazendo \begin{align*} T_n(x_0) & = f(x_0), \\ T_n'(x_0) & = f'(x_0), \\ & \vdots \\ T_n^{(n)}(x_0) & = f^{(n)}(x_0). \end{align*} $T_n$ é dito o polinômio de Taylor para $f$ em torno de $x_0.$
Para determinar $T_n$ é conveniente expressá-lo como $$ T_n(x) = c_0 + c_1(x-x_0) + c_2(x-x_0)^2 + \cdots + c_n (x-x_0)^n. $$ É preciso computar sucessivas derivadas de $T_n,$ afim de impor as condições de aproximação acima. Veja que se $1\lt j\le k$ temos que $$ {d^j \over dx^j}(x-x_0)^k = k(k-1)\cdots(k-j+1)(x-x_0)^{k-j}. $$ Portanto, $$ \left.{d^j \over dx^j}(x-x_0)^k\right|_{x=x_0} = \left\{ \begin{array}{ll} 0,\; & j \lt k\\ k! & j = k\\ 0, & j \gt k \end{array} \right. $$ Isto é suficiente para determinar todos os coeficientes do polinômio $T_n$ como $$ c_k = {f^{(k)}(x_0)\over k!}, \; 0\le k \le n. $$ Finalmente, o polinômio de Taylor é dado por \begin{equation} T_n(x) = f(x_0) + f'(x_0)(x-x_0) + {f''(x_0)\over 2!}(x-x_0)^2 + \cdots + {f^{(n)}(x_0)\over n!}(x-x_0)^n. \end{equation} Se for importante explicitar o ponto $x_0$ utilizado na construção do polinômio, pode-se usar também a notação $T_n(x;x_0).$
A figura abaixo exibe sucessivos polinômios de Taylor (em vermelho) para uma função (em preto).
Perceba que quão maior é o grau do polinômio, melhor ele aproxima a função. Porém, mesmo considerando um polinômio de grau 7, fica evidente que a aproximação só pode ser tomada como satisfatória até a metade do intervalo exibido. O teorema abaixo apresenta uma expressão para o erro de aproximação.
Teorema de Taylor: Seja $f:[x_0,x]\rightarrow \R$ tal que $f',f'', \ldots, f^{(n)}$ existem em $[x_0,x].$ Suponha ainda que $f^{(n)}$ é contínua em $[x_0,x]$ e diferenciável em $(x_0,x).$ Então existe $\xi\in(x_0,x)$ tal que $$ f(x) = T_n(x;x_0) + {f^{(n+1)}(\xi)\over (n+1)!}(x-x_0)^{n+1}. $$
Deste teorema percebemos que quanto menor é $|x-x_0|,$ melhor é a aproximação de $f(x)$ por $T_n(x).$ Logo, para conseguir uma aproximação razoável no intervalo inteiro, ou consideramos polinômios de grau cada vez maiores, ou escolhemos um ponto $x_0$ mais adequado para construir os polinômios. A figura abaixo exibe os primeiros sete polinômios de Taylor, construídos agora em torno do centro do intervalo.
Claramente a escolha de $x_0$ no centro do intervalo de interesse foi mais adequada.
Ao longo deste curso on-line, os polinômios de Taylor serão usados várias vezes, por exemplo em métodos para resolução de equações não lineares, no cálculo de aproximações numéricas para derivadas, ou em métodos numéricos para equações diferenciais.
1. Construa o polinômio de Taylor de grau $n$ para as funções abaixo, em torno do ponto $x_0$ indicado.
- $f(x) = (1-x)^{-1},$ $x_0 = 0.$
- $f(x) = e^x,$ $x_0 = 0.$
- $f(x) = \sqrt{x},$ $x_0 = 1.$
(a) $T_n(x;0) = 1+x+x^2+\cdots+x^n.$
(b) $T_n(x;0)= 1+x+{x^2\over 2!} + {x^3\over 3!}+\cdots+{x^n\over n!}.$
(c) $T_n(x;1) = 1 + {1\over 2}(x-1) - {1\over 4}(x-1)^2 + \cdots + {(-1)^{n+1}\over 2}{1\cdot 3 \cdots (2n-1)\over 2^n}(x-1)^n.$
2. Suponha que $f$ é um polinômio de grau $n$ e seja $T_k(x;a)$ o polinômio de Taylor de ordem $k$ para a função $f,$ construído em torno de $a.$ Para cada afirmação abaixo, demonstre-a ou apresente um contraexemplo.
- $T_k(x;x_0) = T_k(x;x_1),$ para todo $x\ \in \R,$ $x_0\neq x_1$ e $0 \le k \lt n.$
- $T_k(x;x_0) = T_k(x;x_1),$ para todo $x\ \in \R,$ $x_0\neq x_1$ e $k \gt n.$
- $T_k(x;x_0) = T_\ell(x;x_0),$ para todo $x\ \in \R$ e $n \le k \lt \ell.$
Se estiver inseguro sobre as afirmações acima, faça alguns experimentos exploratórios primeiro. Por exemplo, será que as afirmações acima seriam verdadeiras ou falsas no caso de $n=3$ e $f(x)=x^3-2x+1?$
3. Considere a função $f$ definida por $f(x) = \exp(4x/5) + \exp(5-x).$
- Apresente a expressão analítica para $T_n(x;x_0).$
- Construa um programa que avalie $T_n(x;x_0).$
- Para $x_0=0,$ determine empiricamente o menor $k$ para o qual $|f(x) - T_k(x;x_0)| \lt 0.5,$ para todo $x \in [0,5].$
- Repita o item anterior, mas agora considerando $x_0 = 2.5.$
4. Deduza que $$ T_n(x+h;x) = f(x) + f'(x)h + {f''(x)\over 2!}h^2 + \cdots + {f^{(n)}(x)\over n!}h^n. $$