Métodos de Série de Taylor

Teoria Completa

O que eram as Séries de Taylor mesmo?

Falaaaaa aí, já vimos até agora métodos bem tranquilinhos de resolução de EDO. Agora vamos ver uma família de métodos.

Lembra desse problema: achar y ( 2 ) , se:

2 y - 2 = x y ' y 1 = 3

Lembra? Bom, a gente aprendeu a resolver por Euler. Mas agora vamos aprender um método que pode ser infinitamente mais preciso que Euler! E vou te mostrar como resolver esse exercício com ele!

Que são os métodos de Série de Taylor (vamos chamar carinhosamente de ST). Bora relembrar o que são as ST.

Basicamente, a ideia é que : conhecendo as derivadas de uma função f em um ponto x 0 , nós podemos escrever essa função como um polinômio infinito:

f x = ∑ n = 0 ∞ f n x 0 n ! x - x 0 n = f x 0 + f ' x 0 x - x 0 + f ' ' x 0 2 x - x 0 2 + …

Hmmm... beleza, então podemos usar isso pra tudo?

ÉEEEEEEEH MAIS OU MENOS hahaha

Primeiro porque é difícil calcular derivadas de ordem n e porque temos que parar uma hora e outra, ficar fazendo cálculo até o infinito não vai rolar né, meu jovem!

E é por isso que nós acabamos parando em algum momento, fazendo com que nessa parada a gente calcule uma ST incompleta e nela acabamos levando uns errinhos junto. Quando acabamos a série no termo n , o erro fica:

E = f ( n + 1 ) ξ x n + 1 ! x - x 0 n + 1

Tipo assim, o ξ x é um número que tem que estar entre x 0 e x   (último valor no intervalo que é estudado, veremos melhor mais pra frente). O problema é que nós não conseguimos achar esse ξ x . Triste, eu sei... Mas daqui, podemos ver que quanto mais termos tivermos na expansão de Taylor, mais próximo estamos da função e, consequentemente, menor o erro.

Aí, a estratégia, quando queremos estimar o erro de truncamento, é encontrar um número k e muito provavelmente esse número será maior que f n + 1 ( t ) , para qualquer valor t que estiver entre nosso intervalo de entre x   e x 0 .

E olha que nem precisa ser tãaaaaaaao próximo assim, geralmente nós jogamos um M muito maior do que precisamos, mas o que vale é darmos uma margem de segurança né! Joga um intervalão sabe? Aí teremos uma faixa de valores tal que f ( x ) certamente está dentro. Agora, se o erro acabar sendo maior do que a questão está pendindo, é mais fácil adicionar outro termo na nossa sériezinha. O erro de truncamento é:

E = M n + 1 n + 1 ! x - x 0 n + 1

Onde M n + 1 = m á x f n + 1 x , x 0 ≤ x ≤ x n . Ou seja, M n + 1 é o valor máximo da derivada de ordem n + 1 da função, em que x pode assumir qualquer valor no intervalo [ x 0 ,   x n ] .

Recapitulando. A Série de Taylor em torno de x 0 é:

∑ n = 0 ∞ f n x 0 n ! x - x 0 n = f x 0 + f ' x 0 x - x 0 + f ' ' x 0 2 x - x 0 2 + …

E o erro:

E = M n + 1 n + 1 ! x - x 0 n + 1

Como usamos isso pra resolver EDO’s?

Tá tudo muito bom, tá tudo muito bem... Mas nosso real problema aqui é resolver EDO,e mais especificamente as do PVI, certo?

E agora, José?

y ' = f x , y y x 0 = y 0

Para x entre x 0 e x f = x 0 + n h , onde h = x n + 1 - x n é o passo, um Método de Série de Potências de ordem n , fazemos:

y k + 1 = y k + y k ' ⋅ h + y k ' ' 2 h 2 + … + y k n n ! h n

Então calma lá: A gente sabe calcular y k ' conhecendo y k e o t correspondente, é só fazer y k ' = f ( t , y k ) né. Tipo assim, fazemos ficar tudo em função de t .

Mas e pra calcular derivadas de ordem mais alta, tipo y ' ' , y ' ' ' e y n ? Ora, a gente deriva:

y ' = f t , y

y ' ' = ∂ f ∂ t t , y + y ' ∂ f ∂ y ( t , y )  

Eita, e agora?

Agora é só usar aquela regrinha láaaaa do cálculo 1, a nossa velha amiga Regra da Cadeia aqui. Daí tiramos:

y n ' ' = ∂ f ∂ t t , y n + y n ' ∂ f ∂ y ( t , y n )  

Como já descobrimos y n ' , conseguimos obter y n ' ' .

Eu sei que usar a Regra da Cadeia em funções de mais de uma variável é meio complicado, então eu vou dar uma ajudinha. E como é difícil usarmos um Método de ST de ordem maior que 2, raramente vamos precisar da terceira derivada:

y 3 = ∂ 2 f ∂ t 2 t , y + 2 y ' ∂ 2 f ∂ y ∂ t t , y + y ' ' ∂ f ∂ y t , y + y ' 2 ∂ 2 f ∂ y 2 ( t , y )

Bem grande né. É por causa dessas fórmulas de derivadas que o Método de ST não é o mais usado: ele tem uma ótima precisão, mas é complicado calcular tantas derivadas.

Estimamos o erro em cada passo com a fórmula:

E ( x n ) = M n + 1 n + 1 ! h n + 1

Onde M n + 1 = m á x f n + 1 x , x 0 ≤ x ≤ x n .

Exemplo: se f x = e x e n = 2 , com 0 ≤ x ≤ 2 :

M 3 =   m á x f 3 x = m á x e x , com 0 ≤ x ≤ 2

M 3 = e 2

Eita, vimos muita coisa, então pra fixar:

y k + 1 = y k + y k ' ⋅ h + y k ' ' 2 h 2 + … + y k n n ! h n

E calculamos as derivadas de y k derivando: y ' = f ( t , y )

Bom, promessa é dívida, vamos resolver: achar, pelo método de Taylor de ordem 1, y ( 2 ) com passo h = 0,5 , se:

2 y - 2 = x y ' y 1 = 3

Bom, então estamos trabalhando no intervalo [ 1 ,   2 ] em x . E a relação de recorrência por Taylor de ordem 1 é:

y k + 1 = y k + y k ' ⋅ h

Onde:

y ' = f x , y = 2 y - 2 x

E

y ' ' = f ' x , y = - 2 y + 2 x 2 + y ' 2 x = - 2 y + 2 x 2 + 2 y - 2 x 2 x

y ' ' = 2 y - 2 x 2

Então, no nosso caso, temos:

y k + 1 = y k + 2 y k - 2 x k ⋅ ( 0,5 ) + 2 y k - 2 2 x k 2 0,5 2

E queremos y 2 , já que para chegar em x = 2 , partindo de x = 1 a um passo h = 0,5 , precisamos fazer duas iterações apenas. Pois de x 0 = 1 para x 1 = 1,5 , é uma iteração e de x 1 = 1,5 para x 2 = 2 é uma outra iteração. Então, vamos lá:

y 1 = y 0 + 2 y 0 - 2 x 0 ⋅ 0,5 + 2 y 0 - 2 2 x 0 2 0,25 = 3 + 2 3 - 2 1 ⋅ 0,5 + ( 2 ) ( 3 ) - 2 2 ⋅ 0,25

y 1 = 5,5

Continuando:

y 2 = y 1 + 2 y 1 - 2 x 1 ⋅ 0,5 + 2 y 1 - 2 2 x 1 2 0,25 = 3 + 2 5,5 - 2 1,5 ⋅ 0,5 + ( 2 ) ( 5,5 ) - 2 4,5 ⋅ 0,25

y 2 = 6,5

Obs: O Método de Euler é igual ao Método de ST de ordem 1. Já que, pegando o Taylor de ordem 1, temos a relação de recorrência:

y k + 1 = y k + y k ' ⋅ h

Que é exatamente a relação de Euler!

Algoritmo

O bizu pros computeiros implementarem o Método de ST de ordem 2

  1. Defina o passo h
  2. Defina o intervalo em que vamos estimar f : [ x 0 , x f = x 0 + n ⋅ h ]
  3. Pegamos a expressão
  4. y n ' ' = ∂ f ∂ t t , y n + y n ' ∂ f ∂ y ( t , y n )  

    Calculamos ∂ f ∂ t e ∂ f ∂ y na mão mesmo

  5. Pegamos um vetor y onde vamos guardar os valores de f e fazemos y 0 = y 0 .
  6. Pra i entre 1   e N fazemos y i = y i - 1 + h f x 0 + i - 1 h , y i + y i - 1 ' ' 2 h 2 . O y i ' ' sai da expressão que achamos no passo 3.

Bora pros exercícios fazer conta.

Expandir

Exercício Resolvido #1

Ruggiero, M. A. e Lopes, V. L. R. Cálculo Numérico: aspectos teóricos e computacionais. 2 ed.São Paulo: Pearson Makron Books, 1996. Cápitulo 8. Exercício 22.(Adaptado)

Apresente a fórmula de iteração para o método de Taylor de ordem 2 aplicado ao PVI:

y ' + y = x y 0 = 0

Sendo h = 0.1

MOSTRAR SOLUÇÃO COMPLETA

Passo 1

Aqui nem temos que fazer tantas contas assim! Ele só nos pediu a fórmula de iteração!

Lembrando que no caso geral ela é:

y n + 1 = y n + y n ' ⋅ h + y n ' ' 2 h 2

Passo 2

Vamos calcular as derivadas necessárias:

y n ' = x n - y n

y ' ' = 1 - y '

y n ' ' = 1 - y n ' = 1 - x n - y n = y n - x n + 1

Daí, a fórmula de iteração fica:

y n + 1 = y n + 0.1 x n - y n + 0.005 y n - x n + 1 = 0.905 y n + 0.095 x n + 0.005