Buscar

01-taylor-4p

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

DCC008 - Cálculo Numérico
Polinômios de Taylor
Bernardo Martins Rocha
Departamento de Ciência da Computação
Universidade Federal de Juiz de Fora
bernardomartinsrocha@ice.ufjf.br
Conteúdo
I Introdução
I Definição do polinômio de Taylor
I Propriedades
I Exemplos
I Algoritmo de Horner
I Erro
I Exemplos
I Aproximação de Derivada
2 / 67
Introdução
Algumas funções matemáticas ditas "elementares"não são tão
elementares assim quando tentamos avalia-las.
Se p é uma função polinomial,
p(x) = a0 + a1x+ a2x
2 + . . .+ anx
n
então p pode ser avaliado facilmente para qualquer número x.
Entretanto o mesmo não é verdadeiro para funções como ex,
sin (x), cos (x), log (x). Tente calcular essas funções sem usar a
calculadora para qualquer x.
Estamos interessados em reduzir a avaliação de funções f(x) por
funções que sejam mais fáceis de se avaliar.
3 / 67
Introdução
Já vimos que polinômios são funções fáceis de se avaliar, pois
precisamos apenas de realizar operações de adição e multiplicação.
Sendo assim estamos interessados em aproximar a função f(x) por
uma função polinomial f̂(x) que seja fácil de avaliar.
Uma das aproximações polinomiais mais usadas são os polinômios
de Taylor.
Vamos estudar agora como encontrar estas funções polinomiais que
aproximam f(x).
4 / 67
Polinômio de Taylor
A fim de encontrar um polinômio que aproxima uma função, vamos
antes analisar algumas propriedades de polinômios.
Considere o polinômio p(x) = a0 + a1x+ a2x2 + . . .+ anxn.
É interessante observar que os coeficientes ai, i = 0, . . . , n, podem
ser escritos em termos de valores de p e de suas várias derivadas
(p′, p′′, ...) em x = 0.
Para começar observe que
p(0) = a0
Derivando p(x) temos
p′(x) = a1 + 2a2x+ . . .+ nanxn−1
e portanto
p′(0) = a1
5 / 67
Polinômio de Taylor
Derivando novamente
p′′(x) = 2a2 + 6a3x+ . . .+ n(n− 1)anxn−2
e portanto
p′′(0) = 2a2
Denotando a k-ésima derivada de p(x) por p(k)(x), de forma geral
teremos a seguinte relação
p(k)(0) = k! ak
Lembrando que 0! = 1 e que p(0) = p, temos
ak =
p(k)(0)
k!
, 0 ≤ k ≤ n
6 / 67
Polinômio de Taylor
Se tivéssemos começado com uma função p como um polinômio
em (x− a),
p(x) = a0 + a1(x− a) + a2(x− a)2 + . . .+ an(x− a)n
procedendo da mesma forma como anteriormente, temos
p(x) = a0 + a1(x− a) + a2(x− a)2 + . . .+ an(x− a)n
p(a) = a0
p′(x) = a1 + 2a2(x− a) + . . .+ nan(x− a)n−1
p′(a) = a1
p′′(x) = 2a2 + 6a3(x− a) + . . .+ n(n− 1)an(x− a)n−2
p′′(a) = 2a2
. . .
de forma geral, temos
ak =
p(k)(a)
k!
7 / 67
Polinômio de Taylor
Suponha agora que f(x) seja uma função (não necessariamente um
polinômio) tal que f (1)(a), f (2)(a), ..., f (n)(a), existam. Seja
ak =
f (k)(a)
k!
, 0 ≤ k ≤ n (1)
então o polinômio de Taylor de grau n para f(x) em a é
definido como
Pn,a(x) = a0 + a1(x− a) + a2(x− a)2 + . . .+ an(x− a)n (2)
Obs: vamos simplificar a notação e escrever apenas Pn(x)
8 / 67
Polinômio de Taylor
O polinômio de Taylor foi definido tal que
P (k)n (a) = f
(k)(a), para 0 ≤ k ≤ n
observe
P (0)n (x) = a0 + a1(x− a) + . . .+ an(x− a)n
P (1)n (x) = a1 + 2a2(x− a) + . . .+ nan(x− a)n−1
P (2)n (x) = 2a2 + 6a3(x− a) + . . .+ n(n− 1)an(x− a)n−2
P (3)n (x) = 6a3 + 24a4(x− a) + . . .+ n(n− 1)(n− 2)an(x− a)n−3
...
P (n)n (x) = n! an
9 / 67
Polinômio de Taylor
Lembrando que
ak =
f (k)(a)
k!
substituindo os coeficientes ak e avaliando as expressões anteriores
em x = a temos
P (0)n (a) = a0 = f
(0)(a)
P (1)n (a) = a1 = f
(1)(a)
P (2)n (a) = 2a2 = 2
f (2)(a)
2! = f
(2)(a)
P (3)n (a) = 6a3 = 6
f (3)(a)
3! = f
(3)(a)
...
P (n)n (a) = n! an = n!
f (n)(a)
n! = f
(n)(a)
E assim confirmamos que
P (k)n (a) = f
(k)(a), para 0 ≤ k ≤ n
10 / 67
Polinômio de Taylor
Usando a relação
ak =
f (k)(a)
k!
vamos escrever o polinômio de Taylor de grau n da seguinte forma
Pn(x) = f(a) + f
′(a)(x− a) + f ′′(a) (x−a)22 + . . .+ f (n)(a)
(x−a)n
n!
11 / 67
Exemplos
Exemplo 1
Encontrar o polinômio de Taylor de grau 1 (linear) que aproxima a
função f(x) = ex em torno do ponto 0.
Solução Exemplo 1
Temos
f(x) = ex ⇒ f ′(x) = ex
portanto o polinômio de Taylor linear é dado por
P1(x) = f(a) + f
′(a)(x− a)
= f(0) + f ′(0)(x− 0)
= e0 + e0(x− 0)
= 1 + x
12 / 67
Exemplos
Exemplo 1 - Observação Geométrica
Equação da reta
y − y0 = m(x− x0)
Como o coeficiente angular da reta tangente ao gráfico de
y = f(x) no ponto (x0, f(x0)) é f ′(x0) = m, temos a seguinte eq.
para a reta tangente
y − f(x0) = f ′(x0)(x− x0)
Comparando com nossa aproximação
P1(x)− f(a) = f ′(a)(x− a)
vemos que neste exemplo a função aproximadora é a reta tangente
a curva f(x) no ponto x = a.
13 / 67
Exemplos
Solução Exemplo 1
2.0 1.5 1.0 0.5 0.0 0.5 1.0 1.5 2.0
1
0
1
2
3
4
5
6
7
8
ex
P1 (x)
14 / 67
Exemplos
Solução Exemplo 1 (Zoom)
0.4 0.2 0.0 0.2 0.4
0.5
1.0
1.5
ex
P1 (x)
15 / 67
Exemplos
Exemplo 2
Determinar o polinômio de Taylor de grau 2 (quadrático) para
f(x) = ex em torno do ponto a = 0.
Solução Exemplo 2
Lembrando que
f(x) = ex ⇒ f ′(x) = ex ⇒ f ′′(x) = ex
então
P2(x) = f(a) + f
′(a)(x− a) + f ′′(a) (x−a)22
= f(0) + f ′(0)(x− 0) + f ′′(0) (x−0)22
= e0 + e0(x− 0) + e0 (x−0)22
= 1 + x+ x
2
2
16 / 67
Exemplos
Solução Exemplo 2
2.0 1.5 1.0 0.5 0.0 0.5 1.0 1.5 2.01
0
1
2
3
4
5
6
7
8
ex
P1 (x)
P2 (x)
17 / 67
Exemplos
2.0 1.5 1.0 0.5 0.0 0.5 1.0 1.5 2.01
0
1
2
3
4
5
6
7
8
ex
P1 (x)
P2 (x)
P3 (x)
P4 (x)
P5 (x)
18 / 67
Exemplos
Exemplo 3
Encontre a fórmula geral da aproximação usando polinômio de
Taylor para a função f(x) = sin (x) em torno do ponto a = 0.
Solução Exemplo 3
Note que
f(x) = sin (x) ⇒ f(a) = 0
f ′(x) = cos (x) ⇒ f ′(a) = 1
f ′′(x) = − sin (x) ⇒ f ′′(a) = 0
f ′′′(x) = − cos (x) ⇒ f ′′′(a) = −1
f (4)(x) = sin (x) ⇒ f (4)(a) = 0
A partir desse ponto as derivadas repetem em ciclo de 4.
19 / 67
Exemplos
Solução Exemplo 3
Os coeficientes do polinômio de Taylor
ak =
sin(k) (0)
k!
para k = 0, 1, 2, . . . são dados por 0, 1, 0,− 13! , 0, 15! , 0,− 17! , 0, 19! , . . .
portanto o polinômio de Taylor é dado por
Pn(x) = x−
x3
3!
+
x5
5!
− x
7
7!
+ . . .+ (−1)n x
2n+1
(2n+ 1)!
Considerando n como o número de termos, tem-se que
P2n+1(x) =
n∑
k=0
(−1)k x
2k+1
(2k + 1)!
Obs: P2n+1 = P2n+2. 20 / 67
Exemplos
Solução Exemplo 3
4 3 2 1 0 1 2 3 48
6
4
2
0
2
4
6
8
sinx
P1 (x)
P3 (x)
P5 (x)
P7 (x)
21 / 67
Exemplos
Exercício
Verifique que o polinômio de Taylor de grau 2n para f(x) = cos (x)
em a = 0 é dado por
P2n(x) = 1−
x2
2!
+
x4
4!
− x
6
6!
+ . . .+ (−1)n x
2n
(2n)!
Exercício
Verifique que o polinômio de Taylor de grau n para f(x) = ex em
a = 0 é dado por
Pn(x) = 1 +
x
1!
+
x2
2!
+
x3
3!
+ . . .+
xn
(n)!
22 / 67
Exemplo de Implementação em C
double exp_taylor(int n, double x)
{
int i;
double fat=1.0, term=1.0, sum=term;
for(i=1; i<=n; i++)
{
fat = fat * i;
term = term * x;
sum = sum + term/fat;
}
return sum;
}
23 / 67
Exemplo de Implementação em C
int main ()
{
int n;
double x;
scanf("%d", &n);
scanf("%lf", &x);
printf("exp(x) = %e\n", exp(x) );
printf("taylor = %e\n", exp_taylor(n, x) );
return 0;
}
24 / 67
Exemplo de Implementação em C
n = 5
x = 0.25
exp(x) = 1.284025e+00
taylor = 1.284025e+00
n = 25
x = 2.5
exp(x) = 1.218249e+01
taylor = 1.218249e+01
n = 25
x = 10
exp(x) = 2.202647e+04
taylor = 2.202608e+04
n = 25
x = 20
exp(x) = 4.851652e+08
taylor = 4.307370e+08
n = 5
x = -0.25
exp(x) = 7.788008e-01
taylor = 7.788005e-01
n = 25
x = -2.5
exp(x) = 8.208500e-02
taylor = 8.208500e-02
n = 25
x = -10
exp(x) = 4.539993e-05
taylor = -1.804113e-01 (***)
n = 25
x = -20
exp(x) = 2.061154e-09
taylor = -9.494844e+06 (***)
25 / 67
Exemplo de Implementação em Python
def exp_taylor(n, x):
fat = 1.0
term = 1.0
sum = term
i = 1
while i <= n:
fat = fat * i
term = term * x
sum = sum + term/fat
i = i + 1
return sum
if __name__ == "__main__":
n = int(raw_input("digite n"))
x = float(raw_input("digite x"))
print exp_taylor(n, x) 26 / 67
Exemplos
Exemplo 4
Encontre o valor de f(6) sabendo que f(4) = 125, f ′(4) = 74,
f ′′(4) = 30, f′′′(4) = 6, e que todas as outras derivadas de ordem
alta são nulas.
Solução Exemplo 4
Vamos usar uma aproximação por polinômio de Taylor de grau 3
P3(x) = f(a) + f
′(a)(x− a) + f ′′(a) (x−a)22! + f ′′′(a)
(x−a)3
3!
Como temos os valores da função e suas derivadas em x = 4
usaremos este ponto para aproximar f(6), portanto
f(6) ≈ P3(6) = f(4) + f ′(4)(6− 4) + f ′′(4) (6−4)
2
2! + f
′′′(4) (6−4)
3
3!
= 125 + 74 · 2 + 30 · 42 + 6 · 86
= 125 + 148 + 60 + 8
= 341
27 / 67
Polinômio de Taylor
Algumas propriedades da aproximação por polinômio de Taylor:
I Quanto maior o grau do polinômio, melhor a aproximação.
I A medida que nos afastamos do ponto x = a, a aproximação
piora.
I O polinômio de Taylor Pn(x) só precisa do valor da função e
de suas derivadas em um ponto a. Não é preciso conhecer a
expressão analítica de suas derivadas.
28 / 67
Exemplos
Exemplo 5
Como calcular o valor de
√
13 numa ilha deserta, sem usar
calculadora?
Solução Exemplo 5
Aproximar f(x) =
√
x perto de a usando polinômios de Taylor.
Neste caso vamos usar um polinômio linear e vamos escolher o
ponto a = 9 (poderia ser a = 16).
Temos
f(x) =
√
x = x1/2 ⇒ f ′(x) = 1
2
√
x
logo
P1(x) = f(a) + f
′(a)(x− a) = √a+ 1
2
√
a
(x− a)
29 / 67
Exemplos
Solução Exemplo 5
Substituindo a = 9 em P1(x) temos
P1(x) =
√
9 + 1
2
√
9
(x− 9)
Sendo assim, avaliando em x = 13 para obter o valor de
√
13
obtemos
P1(13) =
√
9 +
1
2
√
9
(13− 9) = 3 + 4
6
= 3.6666
O valor exato de
√
13 é 3.6055.
30 / 67
Exemplos
Exemplo 6
Calcular o valor de 7
√
1.1 (R : 1.013708856).
Solução Exemplo 6
A função que queremos avaliar é f(x) = 7
√
x. Vamos usar um
polinômio de Taylor linear em torno de a = 1. Derivando
f(x) = x1/7 ⇒ f ′(x) = 1
7
7
√
x6
Assim temos a seguinte aproximação
7
√
x ≈ f(a) + f ′(a)(x− a) = 7
√
1 +
1
7
7
√
16
(x− 1)
e para x = 1.1 temos
7
√
1.1 ≈ 1 + 1.1− 1
7
= 1.01428
31 / 67
Exemplos
Exemplo 7
Calcular o valor de exp(0.2).
Solução Exemplo 7
A função que queremos avaliar é f(x) = ex = exp (x). Vamos usar
um polinômio de Taylor (i) linear e (ii) quadrático em torno do
ponto a = 0. Calculando as derivadas
f(x) = ex ⇒ f ′(x) = f ′′(x) = ex
assim temos as seguintes aproximações
P1(x) = f(a) + f
′(a)(x− a)
= e0 + e0(x− 0)
= 1 + x
P2(x) = f(a) + f
′(a)(x− a) + f ′′(a) (x−a)22
= e0 + e0(x− 0) + e0 (x−0)2
= 1 + x+ x
2
2
32 / 67
Exemplos
Solução Exemplo 7
Sabemos que o valor real da expressão exp (0.2) é 1.2214. Temos
as seguintes funções aproximadoras
P1(x) = 1 + x
P2(x) = 1 + x+
x2
2
que quando avaliadas em x = 0.2 fornecem
P1(0.2) = 1 + 0.2 = 1.2
P2(0.2) = 1 + 0.2 +
0.22
2
= 1 + 0.2 + 0.042
= 1 + 0.2 + 0.02 = 1.22
33 / 67
Exemplos
Exemplo 8
Encontre uma aproximação para log (x).
Solução Exemplo 8
O polinômio de Taylor para log (x) tem que ser calculado em algum
ponto a 6= 0 já que a função não está definida neste ponto. Vamos
usar então a = 1 para começar. Calculando as derivadas temos
f ′(x) =
1
x
⇒ f ′(1) = 1
f ′′(x) = − 1
x2
⇒ f ′′(1) = −1
f ′′′(x) =
2
x3
⇒ f ′′′(1) = 2
f (4)(x) = − 6
x4
⇒ f (4)(1) = −6
De forma geral, para k = 1, . . . , n, temos
f (k)(x) =
(−1)k−1(k − 1)!
xk
⇒ f (k)(1) = (−1)k−1(k − 1)!
34 / 67
Exemplos
Solução Exemplo 8
Portanto temos
Pn(x) = f(1) + (x− 1)f ′(1) +
(x− 1)
2
f ′′(1) + . . .+
(x− 1)n
n!
f (n)(1)
= 0 + (x− 1)− (x− 1)
2
+
(x− 1)3
6
2 + . . .+
(x− 1)n
n!
(−1)n−1(n− 1)!
assim
Pn(x) = (x− 1)−
(x− 1)2
2
+
(x− 1)3
3
+ . . .+ (−1)n−1 (x− 1)
n
n
É mais simples considerar f(x) = log (1 + x) e criar o polinômio de
Taylor em torno do ponto a = 0. Neste caso teríamos
Pn(x) = x−
x2
2
+
x3
3
− x
4
4
+ . . .+ (−1)n−1x
n
n
35 / 67
Algoritmo de Horner
Uma tarefa computacional extremamente importante é a avaliação
de polinômios, isto é: dado um ponto x qualquer, calcular o valor
de p(x).
A forma mais direta de fazer isto é:
p(x) = a0 + a1x+ a2x
2 + a3x
3 (3)
Essa expressão pode ser reformulada como
p(x) = ((a3x+ a2)x+ a1)x+ a0 (4)
Temos então o seguinte número de operações aritméticas:
I para n = 4, Eq. (3) faz 10 multiplicações e 4 adições
I para n = 4, Eq. (4) faz 4 multiplicações e 4 adições
I para n = 20, Eq. (3) faz 210 multiplicações e 20 adições
I para n = 20, Eq. (4) faz 20 multiplicações e 20 adições
36 / 67
Algoritmo de Horner
Para
p(x) = ((a3x+ a2)x+ a1)x+ a0
podemos usar o seguinte esquema prático
a3 a2 a1 a0
+ x · b3 x · b2 x · b1
b3 b2 b1 b0
portanto p(x) = b0. Para avaliar um polinômio de grau n
p(x) = a0 + a1x+ a2x
2 + . . .+ anx
n
podemos usar a seguinte fórmula
bn = an
bi = ai + x · bi+1, para i = n− 1, . . . , 2, 1, 0
37 / 67
Algoritmo de Horner
Se os valores intermediários de bi não são de interesse, podemos
usar apenas uma variável b para implementar o algoritmo.
entrada: a0, a1, ..., an, x
saída: p(x)
b = an ;
para i = n− 1 até 0 faça
b = ai + x · b ;
fim-para
retorne b;
38 / 67
Erro
Precisamos saber qual o erro cometido ao aproximar a função f(x)
pelo polinômio de Taylor Pn(x).
Vamos representar o erro por Rn(x).
Se f(x) é uma função para a qual Pn(x) existe, definimos o erro
(ou resto) Rn(x) por Rn(x) = f(x)− Pn(x). Ou seja
f(x) = Pn(x) +Rn(x)
= f(a) + f ′(a)(x− a) + . . .+ f (n)(a)(x− a)
n
n!
+Rn(x)
Gostaríamos de ter uma expressão para Rn(x) cujo tamanho seja
fácil de se estimar.
Através do Teorema de Taylor iremos encontrar algumas
expressões para o erro Rn(x).
39 / 67
Teorema de Taylor
Teorema (Teorema de Taylor)
Suponha que as derivadas f (1), ..., f (n+1) estejam definidas e
sejam contínuas em um intervalo [a, x], então temos que
Rn(x) = f(x)− Pn(x) =
∫ x
a
f (n+1)(t)
(x− t)n
n!
dt
onde
Pn(x) = f(a) + f
′(a)(x− a) + . . .+ f (n)(a)(x− a)
n
n!
40 / 67
Teorema de Taylor
Para a demonstração do teorema iremos utilizar:
Integração por partes:
∫ b
a
u dv = uv
∣∣∣
b
a
−
∫ b
a
v du
Teorema Fundamental do Cálculo (TFC), que diz que se f(x) é
definida em [a, b] que admite uma anti-derivada g(x) em [a, b], isto
é f(x) = g′(x), então
∫ b
a
f(x) dx = g(b)− g(a)
41 / 67
Teorema de Taylor
Prova
Para encontrar a expressão do erro na forma integral, vamos
começar com o caso n = 0:
f(x) = f(a) +R0(x)
pelo Teorema Fundamental do Cálculo, podemos escrever
R0(x) = f(x)− f(a) =
∫ x
a
f ′(t) dt
portanto
f(x) = f(a) +
∫ x
a
f ′(t) dt
42 / 67
Teorema de Taylor
Prova (cont.)
Vamos usar integração por partes no termo da integral
u = f ′(t) ⇒ du = f ′′(t) dt
dv = 1 dt ⇐ v = t− x
assim temos
∫ x
a
f ′(t) dt = f ′(t)(t− x)
∣∣∣∣∣
x
a
−
∫ x
a
f ′′(t)(t− x) dt
=
[
f ′(x)(x− x)− f ′(a)(a− x)
]
−
∫ x
a
f ′′(t)(t− x) dt
= −f ′(a)(a− x)−
∫ x
a
f ′′(t)(t− x) dt
= f ′(a)(x− a) +
∫ x
a
f ′′(t)(x− t) dt
43 / 67
Teorema de Taylor
Prova (cont.)
Logo
f(x) = f(a) + f ′(a)(x− a)︸ ︷︷ ︸
P1(x)
+
∫ x
a
f ′′(t)(x− t) dt
Portanto
R1(x) =
∫ x
a
f ′′(t)(x− t) dt
Para encontrar R2(x), usamos integração por partes novamente no
termo com a integral. Para isso escolhemos
u = f ′′(t) ⇒ du = f ′′′(t) dt
dv = (x− t) dt ⇐ v = −(x− t)
2
2
44 / 67
Teorema de Taylor
Prova (cont.)
Assim
∫ x
a
f ′′(t)(x− t) dt = −f ′′(t)(x− t)
2
2
∣∣∣∣∣
x
a
+
∫ x
a
f ′′′(t) (x−t)
2
2 dt
= f ′′(a)
(x− a)2
2
+
∫ x
a
f ′′′(t)
(x− t)2
2
dt
Desta forma
f(x) = f(a) + f ′(a)(x− a) + f ′′(a) (x−a)22︸ ︷︷ ︸
P2(x)
+
∫ x
a
f ′′′(t)
(x− t)2
2
dt
︸ ︷︷ ︸
R2(x)
ou seja
R2(x) =
∫ x
a
f ′′′(t)
(x− t)2
2
dt
45 / 67
Teorema de Taylor
Prova (cont.)
Considerando que f (n+1) é contínua em [a, x] por hipótese do
teorema, podemos mostrar por indução que
Rn(x) =
∫ x
a
f (n+1)(t)
(x− t)n
n!
dt (5)
46 / 67
Teorema de Taylor
É possível ainda obter as seguintes expressões para o erro:
Forma de Cauchy
Rn(x) = f
(n+1)(t)
(x− t)n
n!
(x− a), t ∈ (a, x) (6)
Forma de Lagrange
Rn(x) = f
(n+1)(t)
(x− a)(n+1)
(n+ 1)!
, t ∈ (a, x) (7)
Essas expressões são muito úteis para se obter estimativas para o
erro de uma aproximação usando o polinômio de Taylor.
47 / 67
Estimativa do erro
A forma do erro de Lagrange
Rn(x) = f
(n+1)(t)
(x− a)(n+1)
(n+ 1)!
(8)
é muitoparecida com o próximo termo do polinômio de Taylor. A
única diferença é o valor t na fórmula. t é algum valor entre a e x,
que não conhecemos.
Obs: t é um valor que no desenvolvimento da forma do erro de
Lagrange surge da aplicação do Teorema do Valor Médio.
Para estimar o erro, precisamos analisar os valores de f (n+1)(t)
para todo a < t < x e usar o maior deles. Ou, usar algum outro
valor que com certeza é maior do que todos eles.
48 / 67
Exemplos
Exemplo 1
Seja f(x) = sin (x). Encontre o polinômio de Taylor cúbico em
torno do ponto a = 0, em seguida encontre um limitante superior
para este no ponto x = π4 e calcule o erro.
Solução Exemplo 1
Para f(x) = sin (x) com a = 0 já vimos que o polinômio cúbico de
Taylor é
P3(x) = x−
x3
6
Pela fórmula do erro de Lagrange, sabemos que
R3(x) = f
(4)(t)
(x− a)4
4!
= sin (t)
x4
24
49 / 67
Exemplos
Solução Exemplo 1
Portanto para o limitante superior temos
|R3(x)| ≤ max
∣∣∣∣∣
sin (t)x4
24
∣∣∣∣∣, para t ∈ [0, π/4]
≤
∣∣∣∣∣
sin (π4 )(
π
4 )
4
24
∣∣∣∣∣ ≤ 0.0112
Avaliando P3(x) em π4 temos
P3(
π
4 ) =
π
4 −
π
4
3
6
= 0.7046
O valor real é sin (π4 ) =
√
2
2 = 0.7071, logo o erro cometido é
|0.7071− 0.7046| = 0.0024.
50 / 67
Exemplos
Exemplo 2
Obtenha o limitante superior do erro para e0.5 quando esta
expressão é aproximada por um polinômio de Taylor de grau 4 para
ex em torno do ponto 0.
Solução Exemplo 2
Pela fórmula de Lagrange do erro temos
R4(x) = f
(n+1)(t)
(x− 0)5
5!
= et
x5
120
, para algum t ∈ [0, 0.5]
assim quando aproximamos e0.5 o erro está limitado por
|R4(x)| ≤ max
∣∣∣∣∣
etx5
120
∣∣∣∣∣ ≤
∣∣∣∣∣
e0.50.55
120
∣∣∣∣∣ ≤ 2
0.55
120
= 0.00052
51 / 67
Exemplos
Solução Exemplo 2
Neste caso a aproximação de Taylor é
P4(x) = 1 + x+
x2
2
+
x3
6
+
x4
24
e portanto
e0.5 ≈ 1 + 0.5 + 0.5
2
2
+
0.53
6
+
0.54
24
= 1.6484
O valor real é e0.5 = 1.6487, e vemos novamente que o erro é
menor do que o estimado, pois |1.6487− 1.6484| = 0.0003.
52 / 67
Exemplos
Exemplo 3
Seja f(x) = sin (x) e a = 0. Determine n para que o erro ao se
aproximar f(x) por um polinômio de Taylor seja menor do que
10−7 para −π4 ≤ x ≤ π4 .
Solução Exemplo 3
Pela fórmula do erro temos que
R2n+1(x) = sin (x)− P2n+1(x) = f (2n+2)(t)
(x− 0)2n+2
(2n+ 2)!
= (−1)n+1 sin (t) x
2n+2
(2n+ 2)!
Queremos saber qual o valor de n garante que
|R2n+1(x)| ≤ 10−7, para x ∈ [−π/4, π/4]
53 / 67
Exemplos
Solução Exemplo 3
Então
|R2n+1(x)| =
∣∣∣∣∣(−1)
n+1 sin (t)
x2n+2
(2n+ 2)!
∣∣∣∣∣ <
(π4 )
2n+2
(2n+ 2)!
< 10−7
analisando temos
n = 1⇒ (2 + 2)! = 24 ⇒ (
π
4 )
4
4!
≈ 0.15× 10−1
n = 2⇒ (4 + 2)! = 720 ⇒ (
π
4 )
6
6!
≈ 0.326× 10−3
n = 3⇒ (6 + 2)! = 40320 ⇒ (
π
4 )
8
8!
≈ 3.590860× 10−6
n = 4⇒ (8 + 2)! = 3628800 ⇒ (
π
4 )
10
10!
≈ 2.461137× 10−8
54 / 67
Exemplos
Solução Exemplo 3
ou seja, para que
(π4 )
2n+2
(2n+ 2)!
< 10−7
temos que n ≥ 4. Portanto, precisamos usar um polinômio de
Taylor de grau maior ou igual a 9 para atingir a precisão desejada.
55 / 67
Exemplos
Exemplo 4
Seja f(x) = ex e a = 0. Determine n para que o erro ao se
aproximar f(x) por um polinômio de Taylor seja menor do que
10−5 para −1 ≤ x ≤ 1.
Solução Exemplo 4
Ou seja queremos saber, qual n satisfaz
|Rn(x)| ≤ 10−5, x ∈ [−1, 1]
Neste caso temos que o erro é dado por
|Rn(x)| =
∣∣∣∣∣f
(n+1)(t)
(x− 0)n+1
(n+ 1)!
∣∣∣∣∣ =
∣∣∣∣∣
etxn+1
(n+ 1)!
∣∣∣∣∣
56 / 67
Exemplos
Solução Exemplo 4
Assim
|Rn(x)| =
∣∣∣∣∣
etxn+1
(n+ 1)!
∣∣∣∣∣ ≤
e1|xn+1|
(n+ 1)!
<
3
(n+ 1)!
< 10−5
ou seja
3 < 10−5(n+ 1)! ⇒ (n+ 1)! > 3 · 105
⇒ (n+ 1)! > 300000
Analisando
7! = 5040, 8! = 40430, 9! = 362880
concluímos que se n ≥ 8, então (n+ 1)! > 300000 o que garante
que o erro satisfaz |Rn(x)| < 10−5.
57 / 67
Aproximação de Derivada
Considere que uma função f(x), cuja expressão é desconhecida,
seja fornecida por meio de um conjunto de pontos (x0, f(x0)),
(x1, f(x1)), ..., (xn, f(xn)).
Como calcular f ′(xi) ?
Podemos usar polinômio de Taylor para aproximar as derivadas da
função.
58 / 67
Aproximação de Derivada
Para calcular a derivada f ′(xi) em cada ponto xi, vamos usar um
polinômio de Taylor linear em torno do ponto xi.
I Diferença Progressiva: x = xi+1
f(xi+1) = f(xi) + f
′(xi)
h︷ ︸︸ ︷
(xi+1 − xi)
f ′(xi) =
f(xi+1)− f(xi)
h
I Diferença Regressiva: x = xi−1
f(xi−1) = f(xi) + f ′(xi)
−h︷ ︸︸ ︷
(xi−1 − xi)
f ′(xi) =
f(xi)− f(xi−1)
h
59 / 67
Aproximação de Derivada
I Diferença Central: x = xi+1 e x = xi−1
f(xi+1) = f(xi) + f
′(xi)h
f(xi−1) = f(xi)− f ′(xi)h
subtraindo, temos
f(xi+1)− f(xi−1) = 2hf ′(xi)
que resulta em
f ′(xi) =
f(xi+1)− f(xi−1)
2h
60 / 67
Aproximação de Derivada
I A diferença central é mais precisa para aproximar a derivada.
I As derivadas de alta ordem são calculadas de forma similar.
I Quanto mais pontos em um intervalo [a, b], ou seja, quanto
menor o espaçamento h entre eles, melhor a qualidade da
aproximação.
61 / 67
Aproximação de Derivada
Exemplo 5
Calcule f ′(1.3) para f(x) = log (x) usando diferença progressiva e
central para h = 0.01 e h = 0.001.
Solução Exemplo 5
Usando h = 0.01, com diferença progressiva temos
f ′(1.3) ≈ log (1.31)− log (1.30)
0.01
= 0.76628
Com diferença central temos
f ′(1.3) ≈ log (1.31)− log (1.29)
2 · 0.01 = 0.76924
62 / 67
Aproximação de Derivada
Solução Exemplo 5
Usando h = 0.001, com diferença progressiva temos
f ′(1.3) ≈ log (1.301)− log (1.300)
0.001
= 0.76893
com diferença central temos
f ′(1.3) ≈ log (1.301)− log (1.299)
2 · 0.001 = 0.76923
Podemos calcular o valor real usando a derivada de f(x), pois neste
caso conhecemos a expressão da função. O resultado é
f ′(x) =
1
x
⇒ f ′(1.3) = 0.76923
63 / 67
Aproximação de Derivada
Exemplo em Python
from pylab import *
def f(x):
return exp(x)*sin(x)
def df(x):
return exp(x)*sin(x) + exp(x)*cos(x)
def aprox(f,x,h):
return (f(x+h)-f(x))/h
def aproxCentral(f,x,h):
return (f(x+h)-f(x-h))/(2*h)
64 / 67
Aproximação de Derivada
Exemplo em Python
if __name__ == "__main__":
hh = 0.001
xx = arange(-2, 2, hh)
yy = df(xx)
# diferenca progressiva e central
h = 0.01
x = arange(-2,2, h)
d1 = aprox(f,x,h)
d2 = aproxCentral(f,x,h)
# exibe grafico
plot(xx, yy, label=’Derivada Analitica’)
plot(x, d1, ’o’, label=’Aprox. Diferenca Progressiva’)
plot(x, d2, ’^’, label=’Aprox. Diferenca Central’)
show()
65 / 67
Aproximação de Derivada
Exemplo em Python (h=0.1)
2.0 1.5 1.0 0.5 0.0 0.5 1.0 1.5 2.0
1
0
1
2
3
4
5
Derivada Analitica
Aprox. Diferenca Progressiva
Aprox. Diferenca Central
66 / 67
Aproximação de Derivada
Exemplo em Python (h=0.05)
−2.0 −1.5 −1.0 −0.5 0.0 0.5 1.0 1.5 2.0
−1
0
1
2
3
4
5
Derivada Analitica
Aprox. Diferenca Progressiva
Aprox. Diferenca Central
67 / 67

Continue navegando