CM098 - Análise Numérica III Notas de Aula Saulo P Oliveira Departamento de Matemática Universidade Federal do Paraná Primeiro Semestre de 018 Sumário Aula 1: Métodos Numéricos para PVIs 3 11 Métodos de passo simples 3 1 Método de Euler explícito 4 Aula : Existência e Unicidade de solução de PVIs Aula 3: Polinômio de Taylor e ordem de convergência 9 31 Ordem de convergência 11 Aula 4: Método da série de Taylor 1 Aula 5: Análise de erros do método da série de Taylor 14 51 Erro local 14 Aula : Métodos de Runge-Kutta 1 1 Expansão de Taylor D 1 Métodos de Runge-Kutta de primeira ordem RK1) 17 Aula 7: Métodos de Runge-Kutta de segunda ordem RK) 19 Aula 8: Método de Euler modificado 1 Aula 9: Método de Runge-Kutta de quarta ordem 3 Aula 10: Métodos de Runge-Kutta adaptativos 5 Aula 11: Métodos de passos múltiplos 8 111 Fórmula de Adams-Basfort 8 Aula 1: Fórmula de Adams-Moulton 34 11 Fórmula de Adams-Moulton de um passo k = 1) 34 1 Fórmula de Adams-Moulton de dois passos k = ) 34 13 Fórmula de Adams-Moulton: caso geral 35 Aula 13: Implementação dos métodos de passos múltiplos 37 1
Aula 14: Consistência, Estabilidade e Convergência 38 141 Estabilidade 39 Aula 15: Consistência dos métodos de passos múltiplos 41 151 Condição alternativa de consistência 4 Aula 1: Convergência dos métodos de passos múltiplos 44 Aula 17: Sistemas de EDOs 4 Aula 18: Sistemas rígidos de equações 48 Aula 19: Problemas de Valores de Contorno 49 Aula 0: Fórmulas de diferenças finitas 53 Aula 1: Métodos de diferenças finitas 54 Aula : Métodos de diferenças finitas continuação) 57 Aula 3: Métodos de projeção 59 31 Método de Galerkin 59 3 Método de colocação 0 Aula 4: Representação vetorial dos métodos de projeção 1 Aula 5: Funções polinomiais de Lagrange por partes 4 Aula : Interpolação polinomial por partes Aula 7: Funções splines cúbicas 8 Aula 8: Splines cúbicas naturais 70 Aula 9: B-Splines cúbicas 7 Aula 30: Método de Colocação com B-Splines cúbicas 75 Apendice A: Erro de truncamento global 77 Referências 79
Aula 1: Métodos Numéricos para PVIs O objetivo da primeira parte desta disciplina é aproximar a solução de problemas de valor inicial PVI) na forma { x t) = ft, xt)) xt 0 ) = x 0 11) Em vez de obter a solução xt) de 11) para todo t t 0, vamos fixar T > 0 e escoler N pontos adicionais t 1,, t N tais que t 0 < t 1 < t N = T Estes pontos formam uma partição do intervalo [t 0, T ] Fig 1): 1 3 4 5 7 8 9 10 Figura 1: Partição do intervalo [t 0, T ] Por simplicidade, vamos sempre considerar 1 que a partição é uniforme, ou seja, Neste caso, t n+1 t n =, 0 n N 1 T t 0 = t N t 0 = t N t N 1 ) + t N 1 t 0 = + t N 1 t 0 = + t N 1 t N ) + t N t 0 = + t N 1 t 0 = + t N t N 3 ) + t N 3 t 0 = 3 + t N 3 t 0 = = N + t N N t 0 = N, = = T t 0 N Vamos estudar métodos numéricos que fornecem X 0, X 1,, X N tais que { Xn xt n ), 1 n N X 0 = xt 0 ) = x 0 A primeira classe de métodos que veremos para calcular estas aproximações é a dos métodos de passo simples 11 Métodos de passo simples Nos métodos de passo simples, as aproximações X n xt n ) são definidas do seguinte modo: { Xn+1 = ΦX n+1, X n, ), n 0 X 0 = x 0 1) Estes métodos podem ser classificados em Métodos explícitos, se Φ não depende de X n+1 ; Métodos implícitos, caso contrário 1 Exceto quando tratarmos de métodos de Runge-Kutta adaptativos Aula 9) 3
1 Método de Euler explícito O método de Euler explícito é o mais básico dos métodos de passo simples, e pode ser deduzido de diversas maneiras Veremos a seguir duas delas: 11 Dedução por meio do Teorema Fundamental do Cálculo Vamos integrar a equação do PVI 11) de t = t n a t = t n+1 : tn+1 t n x t) dt = Pelo Teorema Fundamental do Cálculo, tn+1 t n ft, xt)) dt xt n+1 ) xt n ) = tn+1 t n ft, xt)) dt Definindo a função composta gt) = ft, xt)), podemos escrever a equação acima na forma xt n+1 ) = xt n ) + tn+1 t n gt) dt 13) Se = t n+1 t n for suficientemente pequeno, podemos aproximar gt) em [t n, t n+1 ] pela função constante g n t) = gt n ): tn+1 t n gt) dt tn+1 t n g n t) dt = gt n ) tn+1 Assim, xt) em 13) pode ser aproximado da seguinte maneira: t n dt = gt n )t n+1 t n ) = gt n ) xt n+1 ) xt n ) + gt n ) xt n ) + ft n, xt n )) 14) Isto motiva propor ΦX n+1, X n, ) = X n + ft n, X n ) em 1), ou seja, { Xn+1 = X n + ft n, X n ), n 0 X 0 = x 0 15) Estas equações definem o método de Euler explícito 1 Dedução por meio da fórmula de Taylor Se a solução x = xt) de 11) é uma função m vezes diferenciável, temos pela fórmula de Taylor que xt + ) = xt) + x t) + x t) + + n d n x n! dx t) + r n), n r n ) lim = 0 0 n Como xt) é ao menos uma vez diferenciável lembre-se que x t) = ft, xt))), temos que Em particular, xt + ) = xt) + x t) + r 1 ), que é a mesma aproximação obtida em 14) r 1 ) lim 0 = 0 xt n+1 ) = xt n + ) = xt n ) + x t n ) + r 1 ) = xt n ) + ft n, xt n )) + r 1 ) xt n ) + ft n, xt n )), 4
13 Exemplo Exemplo 11 :: Faça duas iterações do método de Euler explícito para aproximar x1/), sendo xt) a solução do PVI { x t) = xt) x0) = 1 Como ft, xt)) = xt), segue que ft, x) = x Além disso, temos que logo = T t 0 = 1/ 0 = 1 4, t 0 = 0, t 1 = = 1 4, t = = 1 assim, Segue de 15) que X 0 = x0) = 1 X n+1 = X n + ft n, X n ) = X n + 1 4 X n) = X n + X n = X 1 = 3 X 0 = 3 1) = 3/, X = 3 X 1 = 3 1 + 1 ) X n = 3 X n, ) 3 = 9/4 = 5 Para saber se X = 5 é uma boa aproximação para xt ) = x1/), note que a solução exata é xt) = e t, de modo que ) 1 x = e = 7183 Assim, o erro é dado por X xt ) = e 5 047 Em geral, se aproximamos x1/) com N passos do método de Euler explícito, teremos de modo que X N = = 1/ 0 N X 0 = 1 = 1 N X n+1 = X n + ft n, X n ) = X n + 1 N X n) = X n + 1 N X n = 1 + 1 ) X n, N 1 + 1 ) X N 1 = 1 + 1 )[ 1 + 1 ] )X N = 1 + 1 ) X N = = 1 + 1 ) N X N N, N N N N N ou seja, X N = 1 + 1 ) N X 0 = 1 + 1 ) N 1) = 1 + 1 ) N N N N Por exemplo se N = 100, então X N = 7048, com erro X N xt N ) 0013 Além disso, lim X N = lim 1 + 1 ) N = e = x1/) N N N 5
Aula : Existência e Unicidade de solução de PVIs Esta aula trata de aspectos teóricos das equações diferenciais ordinárias que influenciam na aproximação numérica destas equações O exemplo a seguir ilustra a importância destes aspectos Exemplo 1 : Faça 0 iterações do método de Euler explícito 15) para aproximar x), sendo xt) a solução do PVI { x t) = 1 + x t) 1) x0) = 0 Como ft, xt)) = 1+x t), ft, x) = 1+x Além disso, temos que = T t 0 )/0 = 0)/0 = 1/10 Assim, X 0 = x0) = 0 e, para n 0, Passemos às iterações: X n+1 = X n + ft n, X n ) = X n + 011 + X n) X 1 = X 0 + 1/10)1 + X 0) = 0 + 011 + 0 ) = 01 X = X 1 + 1/10)1 + X 1) = 01 + 011 + 01 ) = 01 + 01101) = 01 + 0101 = 001 X 3 = X + 1/10)1 + X ) = 001 + 011 + 001 ) = 001 + 01104041) = 03050401 X 0 = 95949, porém, dx 1 + x = dt + C = xt) = tant + c), e de x0) = 0 segue que xt) = tant), logo x) = tan) = 185 No exemplo anterior, o aumento do valor de N fez com que X N se aproximasse mais de xt N ) Entretanto, se por exemplo dobrarmos o valor de N para aproximar o problema 1), encontraríamos O que aconteceu? X N = X 40 303 10 5 Note pela Fig que á um ponto no intervalo [t 0, T ] = [0, ] em que a solução é indefinida: lim t π/ xt) A sequência gerada pelo método de Euler explícito foi incapaz de lidar com este ponto em que não á existência de solução Especificamente, como ft, x) 0, a sequência X n é crescente com X 0 = 0, de modo que X n 0 n, deixando de prever os valores negativos de xt) para x > π/ Este exemplo ilustra que não devemos aplicar o método de Euler explícito e em geral, nenum método numérico) para aproximar a solução de PVIs em intervalos [t 0, T ] em que a existência e/ou unicidade de solução não for garantida Para verificar a existência e unicidade de solução, usamos o seguinte teorema Teoremas 1 e de [10, Sec 81]): Teorema 1 : Se f : IR IR é uma função contínua no conjunto A = {t, x) IR t t 0 α e x x 0 β}, ) então a solução do PVI 11) existe para todo t t 0 γ, sendo γ dado por γ = min{α, β/m}, M = max ft, x) 3) t,x) A Além disso, se f = ft, x) é de classe C 1 em A, então a solução x = xt) é única no intervalo t t 0 γ
100 xt) X n 50 0 50 100 1 0 1 3 4 Figura : Solução exata e aproximada do Exemplo A lina tracejada em vermelo) corresponde ao ponto x = π/, em que a solução não existe OBS: Note que t t 0 γ implica t t 0 γ, ou seja, t t 0 + γ Assim, o Teorema 1 garante a existência e unicidade em [0, T ] no caso em que T = t 0 + γ Exemplo : Usando o Teorema 1, encontre o maior valor possível de T tal que o problema 1) tena solução única no intervalo [0, T ] Temos que ft, x) = 1+x é de classe C 1 no conjunto A definido em ) para quaisquer α, β IR Como o Teorema 1 garante a existência e unicidade em [0, T ] com T = t 0 +γ = γ, devemos escoler α, β tais que γ = min α, max t,x) A β 1 + x = min α, max x β β 1 + x = min { α, } β 1 + β seja o maior possível Vamos primeiro escoler α Note que, como γ = min {α, β/1 + β )}, Se α β/1 + β ), então γ = β/1 + β ); Se α < β/1 + β ), então γ = α < β/1 + β ), ou seja vide Fig 3), γ = γα) = { α, α β/1 + β ), β/1 + β ), α > β/1 + β ) Portanto, devemos ter α β/1 + β ), por exemplo α = β/1 + β ) Assim, o maior valor de γ é da forma γ = β 1 + β Basta acar o valor de β que maximiza γ Seja gx) = x/1 + x ) Temos que g x) = 1)1 + x ) x)x) 1 + x ) = 1 x 1 + x ), de modo que g x) = 0 se x = ±1 Como β 0, temos que β = 1 é um candidato a máximo de γ = gβ) Note que Se β > 1, então g β) < 0, ou seja, g é decrescente Logo, gβ) < g1) para todo β > 1; Se 0 β < 1, então g β) > 0, ou seja, g é crescente Logo, g1) > gβ) para todo 0 β < 1; 7
1 3 1 Figura 3: Relação entre os parâmetros γ e α Portanto, max β 0 gβ) = g1) = 1/1 + 1 ) = 1/, ou seja, o maior valor possível de γ, segundo o Teorema 1, é γ = 1/ OBS: Neste exemplo conecemos a solução exata xt) = tant)), que é bem definida em [0, T ] para qualquer T < π/ Assim, poderíamos por exemplo escoler γ = 3/ > 1/, para o qual a existência e unicidade ainda é válida Isto enfatiza que o Teorema 1 fornece uma condição suficiente, mas não necessária O Teorema 3 de [10, Sec 81] fornece outra condição suficiente para a existência e unicidade: Teorema : Se f : IR IR é uma função contínua e tal que ft, x 1 ) ft, x ) L x 1 x t [a, b], x 1, x IR, 4) então a solução do PVI 11) existe e é única para todo t [a, b] Exemplo 3 : Estude, por meio do Teorema, a existência e unicidade de solução do problema { x t) = t + senxt))) 5) x0) = 3 Para este problema, temos ft, x) = t + senx)), logo ft, x 1 ) ft, x ) = t + senx 1 )) t + senx )) = t + senx 1 ) + t + senx ))t + senx 1 ) t senx )) = t + senx 1 ) + senx ))senx 1 ) senx )) = t + senx 1 ) + senx ) cosξ) x 1 x para algum ξ entre x 1 e x pelo Teorema do Valor Médio) Como cosξ) 1 e t + senx 1 ) + senx ) t + senx 1 ) + senx ) t +, segue que, dado T > 0 fixo porém arbitrário, ft, x 1 ) ft, x ) L x 1 x t [0, T ], sendo L = T + Portanto, a solução do PVI 5) existe e é única para todo t [0, T ], para qualquer T > 0 8
Aula 3: Polinômio de Taylor e ordem de convergência Vamos revisar a aproximação de uma função f por polinômios de Taylor Por simplicidade, vamos inicialmente assumir que f é infinitamente diferenciável Seja P m o espaço vetorial dos polinômios de grau m Um caso particular do polinômio de Taylor de grau m é o polinômio de Maclaurin de grau m, que satisfaz as seguintes condições: p m 0) = f0) p m x) = a 0 + a 1 x + a x + + a m x m P m, p m0) = f 0) p m0) = f 0) p m) m 0) = f m) 0), f m) x) = m f x x) m Estas m + 1 condições permitem determinar as m + 1 incógnitas a 0, a 1,, a m em p m x): p m x) = a 0 + a 1 x + a x + + a m x m 1 p m 0) = a 0 + 0 + 0 + + 0 = a 0 = a 0 = f0) p mx) = 1)a 1 + a x + 3a 3 x + + ma m x m 1 p m0) = a 1 + 0 + 0 + + 0 = a 1 = a 1 = f 0) p mx) = )1)a + 3))a 3 x + 4)3)a 4 x + + m)m 1)a m x m p m0) =!a + 0 + 0 + + 0 =!a = a = f 0)/! p mx) = 3))1)a 3 + 4)3))a 4 x + 5)4)3)a 5 x + + m)m 1)m )a m x m 3 p m0) = 3!a 3 + 0 + 0 + + 0 = 3!a 3 = a 3 = f 0)/3! p m) m 0) = m!a m = a m = f m) 0)/m! Portanto, a k = f k) 0)/k! 0 k m), ou seja, p m x) = f0) + f 0)x + 1! f 0)x + + 1 m! f m) 0)x m = m k=0 f k) 0) x k k! O mesmo procedimento poderia ser utilizado para determinar o polinômio de Taylor de grau m de f em torno de x = a: o objetivo seria determinar a 0,, a m tais que o polinômio p m,a x) = a 0 + a 1 x + a x + + a m x m P m satisfaça as condições p k) m,aa) = f k) a), 0 k m Estas condições resultam no seguinte sistema de equações para os coeficientes do polinômio: p m a) = a 0 + a 1 a + a a + + a m a m 1 = fa) p ma) = 1)a 1 + a a + 3a 3 a + + ma m a m 1 = f a) p ma) =!a + 3))a 3 a + 4)3)a 4 a + + m)m 1)a m a m = f a) p ma) = 3!a 3 + 4)3))a 4 a + + m)m 1)m )a m a m 3 = f a) p m) m a) = m!a m = f m) a), 9
ou na forma matricial, 1 a a a 3 a m 1 0 1! a 3a 3 a m! m 1)! am 1 3! 0 0! a 1! 3a 4!! a m! m )! am 4! 0 0 0 3! a m! 1! m 3)! am 3 m! 0 0 0 0 m 1)! a 1! 0 0 0 0 0 m! a 0 a 1 a a 3 a m 1 a m = fa) f a) f a) f a) f m 1) a) f m) a) Embora seja um sistema triangular portanto fácil de ser resolvido), as expressões dos coeficientes a k vão se tornando mais complicadas à medida que k diminui: a m = f m) a)/m! m 1)!a m 1 + m!aa m = f m 1) a) = a m 1 = f m 1) a)/m 1)! af m) a)/m 1)! Para simplificar os coeficientes, vamos escrever p m,a x) em termos de outra base: Neste caso, p m,a x) = a 0 + a 1 x a) + a x a) + + a m x a) m p m x) = a 0 + a 1 x a) + a x a) + + a m x a) m 1 p m a) = a 0 + 0 + 0 + + 0 = a 0 = a 0 = fa) p mx) = 1)a 1 + a x a) + 3a 3 x a) + + ma m x a) m 1 p ma) = a 1 + 0 + 0 + + 0 = a 1 = a 1 = f a) p mx) = )1)a + 3))a 3 x a) + 4)3)a 4 x a) + + m)m 1)a m x a) m p ma) =!a + 0 + 0 + + 0 =!a = a = f a)/! p m) m a) = m!a m = a m = f m) a)/m!, o que resulta numa expressão análoga à do polinômio de Maclaurin: p m,a x) = fa) + f a)x a) + f a)! x a) + + f m) a) x a) m = m! m k=0 f k) a) x a) k 31) k! As condições p k) m,aa) = f k) a) para todo 0 k m fazem com que o polinômio de Taylor p k) m,ax) seja o polinômio de grau m que melor aproxima fx) na vizinança de x = a Fig 4) O erro da aproximação de fx) por p m,ax) k) é descrito pela fórmula de Taylor com resto de Lagrange: fx) = fa) + f a)x a) + f a)! x a) + + f m) a) x a) m + f m+1) ξ) m! m + 1)! x a)m+1, 3) sendo ξ entre a e x Esta fórmula é válida no caso em que f é uma função de classe C m e m + 1 vezes diferenciável Por outro lado, na situação menos restritiva) em que f é uma função m vezes diferenciável, vale a seguinte fórmula de Taylor: fx) = fa) + f a)x a) + 1! f a)x a) + + 1 m! f m) a)x a) m + r m ), 10 r m ) lim 0 = 0, m
15 15 X 1 X 1 05 fx) p 0 x) p 1 x) p x) 0 3 1 0 1 3 05 fx) p 0,1 x) p 1,1 x) p,1 x) 0 3 1 0 1 3 Figura 4: Aproximação de fx) = cosx) + x pelos polinômios de Maclaurin esquerda) e de Taylor com a = 1 direita) 31 Ordem de convergência Segundo [10, Sec 1], dadas duas funções f e g, dizemos que se fx) = Ogx)) x x ) C > 0, ɛ > 0 fx) C gx) x, x x ɛ Daqui em diante, com a expressão fx) = Ogx)) sem referência a x ) subentende-se que x = 0, ou seja, fx) = Ogx)) se Exemplo C > 0, ɛ > 0 fx) C gx) x, x ɛ 33) 31 : Mostre que se fx) = x 4 + 3x + x + x 5, então fx) = Ox) Devemos encontrar C > 0 e ɛ > 0 tais que fx) C x x, x ɛ Note que fx) = x 4 + 3x + x + x 5 x 4 + 3 x + x + x 5, logo basta encontrar ɛ > 0 tal que x n x para todo x ɛ e n 1 Como sabemos das potências de números reais que, dados n > m, podemos escoler ɛ = 1 Neste caso, b n > b m > 1, b > 1 e b n < b m < 1, 0 b < 1, fx) x + 3 x + x + x = 7 x Portanto, 33) vale com C = 7, ɛ = 1, gx) = x, ou seja, fx) = Ox) Note que, em geral, C 7 e ɛ 1 OBS: Pela fórmula de Taylor com resto de Lagrange 3), o erro de aproximação do polinômio de Maclaurin satisfaz fx) p m x) = Ox m+1 ) no caso em que f é de classe C m+1 De fato, segue do teorema de Weierstrass [1] que M > 0 f m+1) x) M x IR, de modo que fx) p m x) = fx) p m,0 x) = 1 m + 1)! f m+1) ξ)x 0) m+1 ou seja, 33) vale com C = M/m + 1)!, gx) = x m+1 e ɛ qualquer 11 M x m+1 m + 1)!
Aula 4: Método da série de Taylor O polinômio de Taylor de grau m da solução xt) do PVI 11) em torno do ponto a = t n é dada por p m,tn t) = xt n ) + x t n )t t n ) + 1! x t n )t t n ) + + 1 m! xm) t n )t t n ) m Observando que x t) = ft, xt)) e tomando em particular t = t n+1, obtemos p m,tn t n+1 ) = xt n ) + ft n, xt n )) + 1! f t n, xt n )) + + 1 m! f m 1) t n, xt n )) m Note que p m,tn t n+1 ) xt n+1 ) Dada a aproximação X n xt n ) no instante t n, consideramos a seguinte aproximação de xt n+1 ): xt n+1 ) p m,tn t n+1 ) = xt n ) + ft n, xt n )) + f t n, xt n )) + + 1! m! f m 1) t n, xt n )) m X n + ft n, X n ) + 1! f t n, X n ) + + 1 m! f m 1) t n, X n )) m Esta aproximação define o método da série de Taylor de ordem m: { Xn+1 = X n + ft n, X n ) + 1! f t n, X n ) + + 1 m! f m 1) t n, X n )) m X 0 = x 0 41) Exemplo 41 : Deduza a equação do método da série de Taylor de terceira ordem para a equação x t) = cost) senxt)) + t Observando a regra de derivação de funções compostas, obtemos ft, xt)) = cost) senxt)) + t f t, xt)) = sent) senxt)) ) + t = sent) cosxt))x t) + t = sent) cosxt))ft, xt)) + t f t, xt)) = cost) cosxt))ft, xt)) ) + = cost) cosxt)) ) ft, xt)) cosxt))f t, xt)) + = cost) + senxt))x t)ft, xt)) cosxt))f t, xt)) + = cost) + senxt))ft, xt)) cosxt))f t, xt)) + Note acima que expressamos f k) t n, xt)) em termos das derivadas de ordem inferior e em termos de ft, xt))) Isto permitirá escrever estes termos de maneira recursiva O próximo passo é avaliar t, xt)) em t n, X n ), ft n, X n ) = cost n ) senx n ) + t n f t n, X n ) = sent n ) cosx n )ft n, X n ) + t n f t n, X n ) = cost n ) + senx n )ft n, X n ) cosx n )f t n, X n ) +, de modo que a equação do método é dada por X n+1 = X n + ft n, X n ) + f t n, X n )! + f t n, X n ) 3 3! = X n + cost n ) senx n ) + t n) + sent n) cosx n )ft n, X n ) + t n! + cost n) + senx n )ft n, X n ) cosx n )f t n, X n ) + 3 3! 1
Por clareza, e para utilizar a relação recursiva entre as derivadas, convém escrever esta equação com o auxílio de passos intermediários: F 1 = cost n ) senx n ) + t n F = sent n ) cosx n )F 1 + t n F 3 = cost n ) + senx n )F 1 cosx n )F + X n+1 = X n + F 1 + 1! F + 1 3! F 3 3 Exemplo 4 : Deduza a equação do método da série de Taylor de terceira ordem para a equação x t) = 1 + xt) Analogamente ao exemplo anterior, Assim, ft, xt)) = 1 + xt) f t, xt)) = 0 + xt)x t) = xt)ft, xt)) f t, xt)) = x t)ft, xt)) + xt)f t, xt)) = ft, xt)) + xt)f t, xt)) de obtemos o conjunto de equações F 1 = 1 + Xn F = X n F 1 ft n, X n ) = 1 + X n f t n, X n ) = 0 + X n ft n, X n ) f t n, X n ) = ft n, X n ) + X n f t n, X n ), F 3 = F 1 + X n F X n+1 = X n + F 1 + 1! F + 1 3! F 3 3 Exemplo 43 : Aplique dois passos do método da série de Taylor de segunda ordem para aproximar x000), sendo xt) a solução do PVI 1) Temos do exemplo anterior que o método de segunda ordem é dado por F 1 = 1 + Xn F = X n F 1 X n+1 = X n + F 1 + 1! F Como X 0 = 0, temos no primeiro passo que F 1 = 1 e F = 0, logo X 1 = No segundo passo, temos F 1 = 1 + e F = F 1 = 1 + ), logo X = + 1 + ) + 1 1 + ) = + 3 + 5 Substituindo = 00 0)/ = 001, encontramos X = 00000001 Avaliando a solução exata xt) = tant), obtemos x00) = tan00) = 000007093 OBS: O método de primeira ordem Euler explícito) X n+1 = X n + F 1 resultaria em X 1 = e X = + 1 + ) = + 3 = 000001 13
Aula 5: Análise de erros do método da série de Taylor Vamos estudar o comportamento do erro de aproximação e n = xt n ) X n O primeiro passo é decompor e n na forma e n = xt n ) xt n, t n 1, X n 1 ) + xt n, t n 1, X n 1 ) X n e n = [xt n ) xt n )] + [ xt n ) X n ] = ẽ n + e loc n, sendo xt) = xt, t n 1, X n 1 ) a solução do PVI auxiliar { x t) = ft, xt)) xt n 1 ) = X n 1 51) Obtemos no Apêndice A que, se f t, x) x M t, x) [t 0, T ] IR, 5) então o erro total e n satisfaz e n δ emt t0) 1, δ = max M 0 j n eloc n 53) OBS: A condição 5) garante a validade do Teorema, de modo que a solução xt) do PVI 11) existe e é única para qualquer t 0, x 0 ) [t 0, T ] IR Mostraremos a seguir que e loc n = O m+1 ), de modo que δ C m+1 e assim segue de 53) que e n C m+1 emt t 0) 1 M = C M emt t 0) 1) m = C m, ou seja, e n = O m ) Considere, por exemplo, m = 3 Se o espaçamento da mala decresce de = 10 1 para = 10 uma casa decimal), então o erro, que era inferior a C10 1 ) 3 = 10 3 C, torna-se inferior a 10 C decai três casas decimais) Além disso, como m 1, temos em particular que lim e n = 0 0 n N), 0 ou seja, o método é convergente 51 Erro local O erro e loc n é relacionado ao erro cometido na passagem de X n 1 para X n assumindo que não ouve erros nos passos anteriores ou seja, se X j = xt j ) para todo j < n) Se isso fosse verdade, teríamos em particular X n 1 = xt n 1 ) e assim xt) torna-se a solução do PVI { x t) = ft, xt)) 54) xt n 1 ) = xt n 1 ) Como xt) trivialmente satisfaz o PVI 54) teríamos, pela existência e unicidade de solução que xt) = xt), ou seja, e n = e loc n Por este motivo a parcela e loc n do erro e n recebe a seguinte denominação: 14
Definição 51 : Seja xt) = xt, t n 1, X n 1 ) a solução do PVI auxiliar 51) Denominamos a expressão = xt n, t n 1, X n 1 ) X n e loc n o erro local da aproximação X n = xt n ) Lema 51 : A expressão e loc n = xt n, t n 1, X n 1 ) X n satisfaz e loc n = O m+1 ) para todo n Note que, pela equação que define o método, X n = X n 1 + ft n, X n 1 ) + f t n, X n 1 )! Por outro lado, pela fórmula de Taylor com resto de Lagrange para xt), + + f m 1) t n, X n 1 ) m 55) m! xt) = xt n 1 ) + x t n 1 )t t n 1 ) + + xm) t n 1 ) t t n 1 ) m + xm+1) t) m! m + 1)! t t n 1) m+1, com t entre t n 1 e t Em particular se t = t n, xt n ) = xt n 1 ) + x t n 1 ) + + xm) t n 1 ) m + xm+1) t) m! m + 1)! t) m+1 t n 1 t t n ) Usando o fato que x = f, xt n ) = xt n 1 ) + ft n 1, xt n 1 )) + + f m 1) t n 1, xt n 1 )) m! Finalmente, pela condição inicial de 51), xt n ) = X n 1 + ft n 1, X n 1 ) + + f m 1) t n 1, X n 1 ) m! Segue de 55) e 5) que m + f m 1) t, x t)) m+1 m + 1)! m + f m) t, x t)) m+1 5) m + 1)! xt n ) = X n + g), g) = f m) t, x t)) m+1, m + 1)! ou seja, e loc n = g) Assumindo adicionalmente que L > 0 f m) t, x) L t, x) [t 0, T ] IR, 57) segue que, para todo n 0 e = T t 0 )/N T t 0, g) C m+1, C = L m + 1)! ou seja, e loc n = g) = O m+1 ) 15
Aula : Métodos de Runge-Kutta O defeito do método da série de Taylor é depender das derivadas da função f Isto dificulta uma implementação computacional universal para o método ou seja, o algoritmo escrito para um PVI em geral não pode ser aproveitado em outro PVI) Os métodos de Runge-Kutta de ordem m RKm) são métodos de passo simples com erro local de ordem O m+1 ), como o método da série de Taylor de ordem m, mas sem envolver derivadas da função f Se f 1 x) = Ogx)), f x) = Ogx)) e f = f 1 ± f então fx) = Ogx)), ou seja, Ogx)) ± Ogx)) = Ogx)) Tendo em vista esta propriedade, vamos construir os métodos de RKm na forma X n+1 = X T m n+1 + O m+1 ), 1) sendo Xn T m a sequência de aproximações gerada pelo método da série de Taylor de ordem m Deste modo o erro local dos métodos na forma 1) é dado por 1 Expansão de Taylor D e loc n = xt n, t n 1, X n 1 ) X n = xt n, t n 1, X n 1 ) Xn T m O m+1 ) = O m+1 ) O m+1 ) = O m+1 ) Vamos utilizar a expansão de Taylor bidimensional na dedução dos métodos de Runge-Kutta de ordem 1 e Esta expansão, por sua vez, será deduzida a partir das expansões de Taylor unidimensionais de ordem 0 e 1 em torno de a = 0: gx) = g0) + g x)x, ) gx) = g0) + g 0)x + 1 g x)x, 3) sendo que, para x > 0, temos 0 x x e o valor de x não necessariamente é o mesmo em ) e 3)) Para definir a expansão de Taylor de uma função f = ft, x) em torno de a, b), definimos gs) = fa + s v 1, b + s v ), v = v 1, v ) = 1 s t a, x b), s = t a, x b) 4) Esta função representa um perfil da função f sobre a reta que passa por a, b) e t, x) Fig 5) s * a,b) t,x) v Figura 5: Reta sobre a qual é tomada o perfil de ft, x) para a dedução da expansão de Taylor D 1
Segue da definição da função auxilar gs) em 4) que g0) = fa, b) e gs ) = ft, x) Além disso, sua derivada é dada por g s) = f t a + s v 1, b + s v )a + s v 1 ) + f x a + s v 1, b + s v )b + s v ) = f t a + s v 1, b + s v )v 1 + f x a + s v 1, b + s v )v 5) Tomando x = s em ) e observando que s v = t a, x b), obtemos ft, x) = fa, b) + f t a + s v 1, b + s v )v 1 s + f x a + s v 1, b + s v )v s = fa, b) + f t ā, b)t a) + f x ā, b)x b), ) com ā, b) = a + s v 1, b + s v ) para algum 0 s s Normalizando s por meio de λ = s/s, temos ā, b) = a + λt a), b + λx b)), 0 λ 1 Esta é a expansão de ordem zero com resto de Lagrange Para obter a expansão de primeira ordem, vamos utilizar a equação 3), que por sua vez depende da derivada de 5): ) g f s) = t a + s v 1, b + s v )v 1 + f t x a + s v 1, b + s v )v v 1 ) f + x t a + s v 1, b + s v )v 1 + f x a + s v 1, b + s v )v v = f t a + s v 1, b + s v )v 1 + f t x a + s v 1, b + s v )v 1 v + f x a + s v 1, b + s v )v, 7) assumindo-se que f é de classe C Segue de 3), 4) com s = 0 e 5) com s = s que ft, x) = fa, b) + f t + 1 f a, b)t a) + a, b)x b) x f t ā, b)t a) + f t x ā, b)t a)x b) + f x ā, b)x b) ), 8) em que, novamente, ā, b) = a + λt a), b + λx b)) para algum 0 λ 1 As expansões ) e 8) serão usadas nos casos particulares em que a, b) = t n, X n ) e t, x) = t n + α, X n + β), que resultam em f ft n + α, X n + β) = ft n, X n ) + f ft n + α, X n + β) = ft n, X n ) + + f t t, X)α + f com t, X) = t n + λα, X n + λβ) para algum 0 λ 1 t t, X)α + f t, X)β x t t n, X n )α + f x t n, X n )β ), 9) ) t x t, X)αβ + f t, X)β, 10) x Métodos de Runge-Kutta de primeira ordem RK1) A princípio, não á motivo para modificar o o método da série de Taylor de ordem 1, X T 1 n+1 = X n + ft n, X n ), 17 )
que corresponde ao método de Euler explícito, pois este método não envolve derivadas da função f Assim, a escola mais natural para 1) é dada por X n+1 = X T 1 n+1 = X n + ft n, X n ), para o qual X n+1 = X T 1 n+1 + 0 = X T 1 n+1 + O 1+1 ) Iso faz com que o método de Euler explícito seja também um caso particular da classe de métodos RK1 Outra possibilidade de escola para 1) é X n+1 = X n + ft n+1, X n+1 ) = X T 1 n+1 + [ft n+1, X n+1 ) ft n, X n )] 11) Segue que, se α = 1 e β = ft n+1, X n+1 ) ou seja, t = t n+1 e x = X n+1 ) em 9), então f ft n+1, X n+1 ) = ft n, X n ) + t t, X) + f ) x t, X)ft n+1, X n+1 ), com t, X) = t n +λ, X n +λft n+1, X n+1 )) = λt n, X n )+1 λ)t n+1, X n+1 ) para algum 0 λ 1 Se f C 1, então segue do Teorema de Weierstrass que ft, x) M M > 0 tal que f t t, x) M t, x) [t n, t n+1] [X n, X n+1], f t, x) x M logo segue de 11) que X n+1 Xn+1 T 1 = [ft n+1, X n+1 ) ft n, X n )] satisfaz [ft n+1, X n+1 ) ft n, X n )] f t t, X) + f x t, X)ft n+1, X n+1 ) M + M ), ou seja, X n+1 = X T 1 n+1 + O ) O método 11) é denominado método de Euler implícito 18
Aula 7: Métodos de Runge-Kutta de segunda ordem RK) Vamos deduzir um dos métodos RK a partir do método da série de Taylor de segunda ordem X T n+1 = X n + ft n, X n ) + f t n, X n ) 71) Vamos substituir f t n, X n ) por uma expressão que envolve derivadas parciais da função f Por exemplo, se ft, x) = gt) + x, então Por outro lado, f t t, x) = g t), f t, x) = x 7) x f t, xt)) = gt) + x t)) = g t) + xt)x t) = g t) + xt)ft, xt)) 73) Comparando 7) e 73), temos que f t, xt)) = f t f t, xt)) + t, xt)) ft, xt)) 74) x Esta expressão vale para quaisquer funções diferenciáveis f e x, e corresponde à regra da cadeia aplicada à função composta gt) = ft, xt)) Portanto, podemos re-escrever 71) na forma [ Xn+1 T = X n + ft n, X n ) + f t t n, X n ) + f ] x t n, X n ) ft n, X n ) 75) Falta eliminar as derivadas parciais f/ t e f/ x Para isto, vamos utilizar 10), e para evidenciar a semelança entre 75) e 10), vamos escrever 75) na forma Xn+1 T = X n + ft n, X n ) + ft n, X n ) + [ f t t n, X n ) + f ] x t n, X n ) ft n, X n ) = X n + ft n, X n ) + [ f ft n, X n ) + t t n, X n ) + f )] x t n, X n )ft n, X n ) 7) A expressão 7) motiva escoler α = 1 logo t = t n + = t n+1 ) e β = ft n, X n ) em 10): ft n+1, X n + ft n, X n )) = ft n, X n ) + f t t n, X n ) + f x t n, X n )ft n, X n ) 77) ) + f t t, X) + f t x t, X)ft n, X n ) + f x t, X)ft n, X n ), sendo que t, X) = t n +λ, X n +λft n+1, X n+1 )) = t n, X n )+λ1, ft n, X n )) para algum 0 λ 1 Assim, a aproximação X n+1 = X n + ft n, X n ) + ft n+1, X n + ft n, X n )) 78) satisfaz X n+1 = Xn+1 T + g) com g) = ft n+1, X n + ft n, X n )) ft n, X n ) f t t n, X n ) f ) x t n, X n ) ft n, X n ) ) = 3 f 4 t t, X) + f t x t, X)ft n, X n ) + f x t, X)ft n, X n ) 19
Se f C, então segue do Teorema de Weierstrass que ft, x) M f t, x) t M M > 0 tal que f t, x) t x M f t, x) x M t, x) B, sendo B o conjunto fecado Assim, B = {t, x) IR t, x) = t n, X n ) + λ1, ft n, X n )), 0 λ 1} g) 3 4 M + M + M 3) = MM + 1) 3, 4 ou seja, g) = O 3 ) Portanto o método definido por 78) satisfaz X n+1 = Xn+1 T + O +1 ), ou seja, é um método da classe RK Analogamente ao método da série de Taylor, este método pode ser escrito na forma F 1 = ft n, X n ) F = ft n+1, X n + F 1 ) 79) X n+1 = X n + 1F 1 + 1F Este método é conecido como método de Heun 0
Aula 8: Método de Euler modificado Vimos que o método da série de Taylor de segunda ordem pode ser escrito na forma 75), e para deduzir o método de Heun, dividimos a segunda parcela do lado direito de 75) em duas parcelas iguais, e adicionamos uma delas à terceira parcela Agora vamos adicionar sem dividir em duas) a segunda parcela na terceira parcela, e vamos colocar o fator / para dentro dela: [ n+1 = X n + ft n, X n ) + f t t n, X n ) + [ = X n + ft n, X n ) + X T f x t n, X n ) ft n, X n ) f t t n, X n ) 1 + f x t n, X n ) ft n, X n ) ] 81) )] Comparando esta expressão com 10), convém escoler α = 1/ e β = ft n, X n )/: f t n +, X n + ) f ft n, X n ) = ft n, X n ) + t t n, X n ) 1 + f x t n, X n ) ft ) n, X n ) + f t t, X) 1 4 + f t x t, X) ft n, X n ) + f 4 x t, X) ft ) n, X n ), 8) 4 sendo t, X) = t n + λ/, X n + λft n+1, X n+1 )/), com 0 λ 1 Segue de 81) e 8) que Xn+1 T = X n + f t n +, X n + ) ft n, X n ) g), ) g) = 3 f 8 t t, X) + f t x t, X)ft n, X n ) + f x t, X)ft n, X n ) Se f C, podemos seguir o mesmo procedimento da seção anterior para verificar que g) = O 3 ) Assim, o método definido pela equação X n+1 = X n + f t n +, X n + ) ft n, X n ) 83) satisfaz X n+1 = Xn+1 T + O 3 ), ou seja, é um método da classe RK Este método é conecido como método de Euler modificado Este método foi proposto por Runge em 1895 [4] Outros métodos da classe RK podem ser obtidos considerando um passo fracionário t = t n+α = t n + α 0 < α 1), o que corresponde a escoler β = αft n, X n ) na expansão 10): f t n + α, X n + αft n, X n )) = ft n, X n ) + α + α f t t n, X n ) + f ) x t n, X n )ft n, X n ) ) f t t, X) + f t x t, X)ft n, X n ) + f x t, X)ft n, X n ), com t, X) = t n + λα, X n + λαft n+1, X n+1 )), com 0 λ 1 Esta nova combinação de termos na fórmula de Taylor sugere reescrever a equação 81) da seguinte forma: [ Xn+1 T = X n + ft n, X n ) + f t t n, X n ) + ] f x t n, X n ) ft n, X n ) = X n + [ ft n, X n ) + f t t n, X n ) + f ] x t n, X n )ft n, X n ) 85) = X n + [ αft n, X n ) + f α t t n, X n )α + f ] x t n, X n )αft n, X n ) = X n + [ α 1)ft n, X n ) + ft n, X n ) + f α t t n, X n )α + f ] x t n, X n )αft n, X n ) = X n + 1 1 ) ft n, X n ) + [ f ft n, X n ) + α α α t t n, X n ) + f )] x t n, X n )ft n, X n ) 1 84)
Segue de 85) e 84) que Xn+1 T = X n + α g) = α3 4 ) ft n, X n ) + α f t n + α, X n + αft n, X n )) g), ) f t t, X) + f t x t, X)ft n, X n ) + f x t, X)ft n, X n ) Analogamente ao método de Euler modificado, o método X n+1 = X n + 1 1 ) ft n, X n ) + 1 α α f t n + α, X n + αft n, X n )) satisfaz X n+1 = Xn+1 T + O 3 ), ou seja, também é um método da classe RK Ele é usualmente escrito por meio dos parâmetros auxiliares β = α, ω = 1/α e ω 1 = 1 ω : F 1 = ft n, X n ) F = ft n + α, X n + βf 1 ) X n+1 = X n + ω 1 F 1 + ω F, ω 1 + ω = 1 α = β = 1 ω As equações 8) constituem a forma geral dos métodos de Runge-Kutta de segunda ordem Note que ω 1 = 0 e ω 1 = 1/ correspondem aos métodos de Euler modificado e de Heun, respectivamente 8)
Aula 9: Método de Runge-Kutta de quarta ordem A dedução de métodos de Runge-Kutta RKm a partir dos métodos da série de Taylor de ordem m torna-se complexa quando m 3 Para estas classes de métodos, convém mostrar diretamente sem recorrer a Xn+1, T m apesar de recorrer à expansão de Taylor da solução exata) que o erro local tem ordem O m+1 ) Butcer [] provou que se o método F 1 = ft n, X n ) F = ft n + c, X n + a 1 F 1 ) F 3 = ft n + c 3, X n + a 31 F 1 + a 3 F ) F 4 = ft n + c 4, X n + a 31 F 1 + a 4 F + a 43 F 3 ) X n+1 = X n + b 1 F 1 + b F + b 3 F 3 + b 4 F 4 tem um erro local de ordem O 4+1 ), então os coeficientes C 1,, b 4 satisfazem as seguintes equações: b 1 + b + b 3 + b 4 = 1 b 3 a 3 c + b 4 a 4 c + a 43 c 3 ) = 1 b c + b 3 c 4 + b 4 c 4 = 1 b 3 c 3 a 3 c + b 4 c 4 a 4 c + a 43 c 3 ) = 1 c = a 1 8 c b c + b 3 c 4 + b 4 c 4 = 1 b 3 3 a 3 c + b 4 a 4 c + a 43 c 3) = 1 3 = a 31 + a 3 1 b c 3 + b 3 c 3 4 + b 4 c 3 4 = c 1 b 4 4 a 43 a 3 c = 1 4 = a 41 + a 4 + a 43 4 Uma das soluções deste sistema é c = 1/ c 3 = 1/ c 4 = 1 a 1 = 1/ a 31 = 0 a 3 = 1/ a 41 = 0 a 4 = 0 a 43 = 1 b 1 = 1/ b = / b 3 = / b 4 = 1/, que resulta no método de Runge-Kutta clássico de quarta ordem RK4), proposto por Kutta em 1901 [4]: F 1 = ft n, X n ) F = ft n + /, X n + F 1 /) F 3 = ft n + /, X n + F /) F 4 = ft n +, X n + F 3 ) X n+1 = X n + F 1 + F + F 3 + F 4 )/, 91) 9) Exemplo 91 : Use um passo do método RK4 para aproximar x00), sendo xt) a solução do PVI { x t) = 1 + xt) x0) = 0 Temos X 0 = 0, t 0 = 0, T = 00 e = T t 0 )/1 = 00 Assim, F 1 = ft n, X n ) = 00)1 + 0 ) = 00 F = ft n + /, X n + F 1 /) = 001 + 00/) ) = 00000 F 3 = ft n + /, X n + F /) = 001 + 00000/) ) = 000000004000 F 4 = ft n +, X n + F 3 ) = 001 + 000000004000 ) = 000008001004000471 X n+1 = X n + F 1 + F + F 3 + F 4 )/ = 00000707400097 3
Note que tan00) = 000007093404, ou seja, o método RK4 acertou 10 casas decimais Em geral, os métodos de Runge-Kutta explícitos com k termos são escritos na forma ) i 1 F i = f t n + c i, X n + a ij F j 1 i k) j=1 93) X n+1 = X n + b i F i, i=1 com c 1 = 0 Os coeficientes acima são organizados de acordo com a seguinte tabela conecida como tabela de Butcer): c 1 c a 1 c 3 a 31 a 3 c k a k1 a k a kk 1 b 1 b b k 1 b k Por exemplo, a tabela de Butcer correspondente ao método RK4 é dada por 0 1/ 1/ 1/ 0 1/ 1 0 0 1 1/ / / 1/ Butcer [3] provou que o erro local de um método de Runge-Kutta explícito com k termos não necessariamente é da ordem O k+1 ): k 4 5 7 8 9+ ordem O 4+1 ) O 4+1 ) O 5+1 ) O +1 ) O +1 ) O k 1 ) 4
Aula 10: Métodos de Runge-Kutta adaptativos Nesta aula vamos considerar métodos de passo simples em que o comprimento de passo é variável, ou seja, t n+1 = t n + n Nestes métodos devemos estabelecer um critério para a escola de cada n Um exemplo de situação em que vale a pena usar comprimento de passo variável é quando a derivada da solução é elevada num ponto t [t 0, T ] Fig ) 1 xt) 1 xt) 05 X n 05 X n 0 0 05 05 1 0 1 3 1 0 1 3 Figura : Comparação da função xt) = tan0x )) com a aproximação X n supondo que X n = xt n )) para uma partição uniforme esquerda) e uma partição não-uniforme concentrada em torno de t = direita) As partições são exibidas abaixo dos gráficos Note que a partição nãouniforme usa menos pontos onde a função varia lentamente e mais pontos onde ela varia rapidamente Quando não conecemos de antemão a localização dos) pontos) t, uma alternativa é selecionar, na passagem de X n para X n+1, o valor de n tal que e n+1 = xt n+1 ) X n+1 = xt n + n ) X n+1 δ, sendo δ uma tolerância máxima escolida para o erro de aproximação Os métodos de passo simples adaptativos calculam iterativamente o valor de n, partindo de uma estimativa inicial 0 e ajustando-o até que a tolerância máxima seja atingida Dada a seguinte generalização do método de passo simples 1), { Xn+1 = ΦX n+1, X n, t n+1, t n ), n 0 101) X 0 = x 0, uma versão adaptativa deste método é dada pelo seguinte algoritmo: 1: Dados de entrada: t 0, x 0, T, δ, 0 : X 0 x 0 ; 3: n 0; 4: wile t n < T do 5: 0 ; : X Φ X, Xn, t n +, t n ); 7: ẽ xt n + ) X; 8: wile ẽ > δ do 9: /; 10: X Φ X, Xn, t n +, t n ); 11: ẽ xt n + ) X; 1: end wile 13: X n+1 X; 14: t n+1 t n + ; 15: n n + 1; 1: end wile 5
O defeito deste algoritmo é que ele depende da solução exata ver linas 7 e 11) Para contornar este problema, devemos substituir o erro exato ẽ por uma aproximação do erro ε que não dependa de xt n + ) No jargão de métodos adaptativos, a função ou algoritmo que fornece ε é denominado estimador do erro, enquanto a técnica de obtenção de estimadores é denominada análise a posteriori Seja 101) um método de Runge-Kutta de ordem m 1 Uma forma de definir um estimador de erro é aproximar xt n + ) por um método melor que o método 101) Em particular, podemos considerar ε = Ỹ X, Ỹ = Φ X, X n, t n +, t n ), 10) sendo { Xn+1 = ΦX n+1, X n, t n+1, t n ), n 0 X 0 = x 0, 103) algum método de Runge-Kutta de ordem m O estimador 10) resolve o problema da dependência da solução exata, mas cria outro problema: aumentamos o custo computacional ao calcular a solução aproximada duas vezes Para amenizar este custo, escolemos para 101) e 103) dois métodos de Runge-Kutta que possuam cálculos intermediários compartilados Mais precisamente, m X n+1 = ΦX n+1, X n, t n+1, t n ) = X n + b i F i, ) i 1 i=1 F i = f t n + c i, a ij F j 1 i m) X n+1 = ΦX m j=1 n+1, X n, t n+1, t n ) = X n + bi F i, i=1 Os coeficientes são escolidos de modo que os dois métodos sejam idênticos a menos dos coeficientes b i e b i, e que e loc n = O m ) no primeiro método, enquanto e loc n = O m+1 ) no segundo método Este par de métodos é usualmente representado pela seguinte tabela de Butcer: c 1 c a 1 c 3 a 31 a 3 c k a k1 a k a kk 1 b 1 b b k 1 b k b1 b bk 1 bk em que k m geralmente k > m) Note que o erro estimado é dado por ε = m b i b i )F i, i=1 e que uma vez encontrado n tal que ε δ, podemos escoler X n+1 = Ỹ em vez de X n+1 = X, dado que Ỹ é uma aproximação resultante de um método de ordem mais alta OBS: Kincaid e Ceney [10] indicam outra forma de atualizar o tamano de passo linas 5 e 9 do algoritmo): ) 1/m+1 δ = 09 ε
O método de Runge-Kutta adaptativo clássico é o método de Runge-Kutta-Felberg [7], que utiliza m = 4 e é definido pela seguinte tabela: 0 1/4 1/4 3/8 3/3 9/3 1/13 193/197-700/197 79/197 1 439/1-8 380/513 845/4104 1/ -8/7-3544/55 1859/4104-11/40 1/135 0 5/185 851/5430-9/50 /55 5/1 0 1408/55 197/4104-1/5 0 Outros métodos populares são o método de Dormand-Prince [] 0 1/5 1/5 3/10 3/40 9/40 4/5 44/45-5/15 3/9 8/9 1937/51-530/187 4448/51-1/79 1 9017/318-355/33 473/547 49/17-5103/185 1 35/384 0 500/1113 15/19-187/784 11/84 35/384 0 500/1113 15/19-187/784 11/84 0 5179/5700 0 7571/195 393/40-9097/33900 187/100 1/40 e o método de Bogacki-Sampine [1]: 0 1/ 1/ 3/4 0 3/4 1 /9 1/3 4/9 /9 1/3 4/9 0 7/4 1/4 1/3 1/8 Os dois últimos métodos estão disponíveis no matlab/octave por meio das funções ode45 ode3, respectivamente Note que, nestes métodos, X = Xn + F k 1, de modo que F k = ft n + c k, X) e Ỹ = X n + b 1 F 1 + b k F k Portanto, a solução X é um passo intermediário do cálculo da solução Ỹ Métodos com esta propriedade são denominados métodos de Runge-Kutta encaixados embedded Runge-Kutta metods) [13] 7
Aula 11: Métodos de passos múltiplos Os métodos de passos múltiplos com k passos são dados por a 0 X n+1 +a 1 X n +a X n 1 + +a k X n k 1) = [ b 0 ft n+1, X n+1 ) + b 1 ft n, X n ) + + b k ft n k 1), X n k 1) ) ] Daqui em diante vamos empregar a notação f k = ft k, X k ), de modo que a 0 X n+1 + a 1 X n + a X n 1 + + a k X n k 1) = [ b 0 f n+1 + b 1 f n + b f n 1 + + b k f n k 1) ] a 0 X n+1 + a 1 X n+1 1 + a X n+1 + + a k X n+1 k = [b 0 f n+1 + b 1 f n+1 1 + b f n+1 + + b k f n+1 k ], ou seja, a j X n+1 j = b j f n+1 j 111) O método de passos múltiplos 111) é dito explícito se b 0 = 0 e implícito caso contrário Se k, precisamos calcular previamente as aproximações X k 1, X k,, X 1, pois estes valores não podem ser obtidos pela equação 111) No caso k = por exemplo, se tentássemos calcular X 1 tomando n = 0 em 111), teríamos a 0 X 1 + a 1 X 0 + a X 1 = [b 0 f 1 + b 1 f 0 + b f 1 ], ou seja, X 1 dependeria de X 1, que é indefinido Esta dificuldade, entretanto, pode ser superada no momento da implementação computacional, conforme será discutido posteriormente Aula 1) 111 Fórmula de Adams-Basfort Considere a versão explícita do método 111) b 0 = 0) com a 0 = 1, a 1 = 1 e a j = 0 para todo j, ou seja, X n+1 X n = b j f n+1 j j=1 X n+1 = X n + b j f n+1 j 11) Note que as únicas incógnitas em 11) são os valores b 1,, b k A fórmula de Adams-Basfort com k passos corresponde à equação 11) em que os k coeficientes b 1,, b k são escolidos de modo que, se x é a solução do PVI { x t) = pt) com p P k 1, e além disso, se xt 0 ) = x 0 j=1 t ) ou seja, xt) = x 0 + pt) dt, 113) t 0 X 0 = x 0 X n = xt n ) 1 n k 1, 114) então X n = xt n ), n k 115) Veremos mais adiante que a condição 115) para toda solução xt) de 113) garantirá um erro de truncamento local de ordem O k+1 ) 8
1111 Fórmula de Adams-Basfort de um passo k = 1) Se p P 1 1 = P 0, então p é uma função constante da forma pt) = c Se xt) é a solução do PVI 113), então xt) = x 0 + ct t 0 ) Além disso, para que X n = xt n ) para n k 1 = 0, basta que X 0 = xt 0 ) = x 0 Vamos obter os coeficientes do método 11) com k = 1 e X 0 = x 0, ou seja, { Xn+1 = X n + b 1 f n, n 0 X 0 = x 0, tais que X n = xt n ) para todo n 1 Note que, como ft, xt)) = pt) = c, X n+1 = X n + b 1 c Esta expressão nos permite obter uma fórmula para X n em termos de X 0 : X n = X n 1 + b 1 c = X n + b 1 c) + b 1 c = X n + b 1 c = = X n n + nb 1 c Como X 0 = x 0, segue que Por outro lado, como xt) = x 0 + ct t 0 ), temos que X n = x 0 + nb 1 c 11) xt n ) = x 0 + ct n t 0 ) = x 0 + cn) 117) Segue de 11) e 117) que devemos ter b 1 = 1 Portanto a fórmula de Adams-Basfort de um passo AB1) é dada por { Xn+1 = X n + f n = X n + ft n, X n ), n 0 X 0 = x 0, ou seja, ela coincide com o método de Euler explícito 111 Fórmula de Adams-Basfort de dois passos k = ) Se p P 1 = P 1, então existem c 0, c 1 > 0 tais que pt) = c 0 + c 1 t Teremos a seguir manipulações algébricas extremamente trabalosas, de modo que será importante expressar pt) de outra maneira Se xt) é a solução do PVI 113), então xt) = x 0 + t t t 0 c 0 + c 1 t) dt = x 0 + c 0 t t 0 ) + c 1 t 0 Assim, para que X n = xt n ) para n k 1 = 1, devemos ter X 0 = xt 0 ) = x 0 X 1 = xt 1 ) = x 0 + c 0 + c 1 t 1 t 0)/ = x 0 + c 0 + c 1 + t 0 )/ 118) Assim, devemos obter os coeficientes b 1 e b em X n+1 = X n + [b 1 f n + b f n 1 ], n 1 X 0 = x 0 X 1 = x 0 + c 0 + c 1 + t 0 )/ Como ft, xt)) = pt) = c 0 + c 1 t, temos que, para n 1, X n+1 = X n + [b 1 c 0 + c 1 t n ) + b c 0 + c 1 t n 1 )] = X n + [c 0 b 1 + b ) + c 1 b 1 t n + b t n 1 )] = X n + [c 0 b 1 + b ) + c 1 b 1 t n + b t n b )] = X n + [c 0 b 1 + b ) c 1 b + c 1 b 1 + b )t n ] = X n + β 1 + β t n, 9
com β 1 = c 0 b 1 + b ) c 1 b e β = c 1 b 1 + b ) Deste modo, X n = X n 1 + β 1 + β t n 1 = X n + β 1 + β t n ) + β 1 + β t n 1 = X n + β 1 + β t n 1 + t n ) = = X n n 1) + n 1)β 1 + β t n 1 + t n + + t n n 1) ) n 1 = X 1 + n 1)β 1 + β j=1 n 1 = X 1 + n 1)β 1 + β j + t 0 ) j=1 n 1 n 1 = X 1 + t n 1 t 0 )β 1 + β j + β t j j=1 j=1 = X 1 + t n 1 t 0 )β 1 + nn 1) β + n 1)β t 0 = X 1 + t n 1 t 0 )β 1 + β n 1) n ) + t 0 = X 1 + t n 1 t 0 )β 1 + β t n 1 t 0 ) n + t 0 t n 1 t 0 )t n + t 0 ) = X 1 + t n 1 t 0 )β 1 + β Tendo em vista que t n t 0 xt n ) = x 0 + c 0 t n t 0 ) + c 1, vamos escrever a expressão obtida para X n em termos de t n t 0 : X n = X 1 + t n t 0 )β 1 + β t n t 0 )t n + t 0 ) = X 1 + t n t 0 )β 1 β 1 + β t n t 0 )t n + t 0 ) = X 1 + t n t 0 )β 1 β 1 + β t n t 0 t 0 β t n + t 0 β t n t 0 +t 0 t n t 0 t n t 0 = X 1 + t n t 0 )β 1 β 1 + β β β t 0 = X 1 + β 1 β ) t n t 0 t n t 0 ) + β β 1 β t 0 = X 1 + Além disso, segue de 118) que β 1 β + t 0 X n = x 0 + c 0 + c 1 + = x 0 + β 1 β ) = x 0 + β 1 β ) = x 0 + β 1 β ) t n t 0 t n t 0 ) + β β 1 + β t 0 ) β 1 β ) t n t 0 ) + β t n t 0 t n t 0 ) + β t n t 0 ) t n t 0 t n t 0 ) + β 30 t n t 0 t n t 0 ) + β β 1 + β t 0 ) ) + t 0 β 1 + β t 0 c 0 c 1 ) β 1 + β t 0 c 0 c 1 c 1t 0 β 1 c ) 1 c 0 t 0 β c 1 )
Portanto, para que X n = xt n ), basta que β 1 β = c 0, β = c 1 Note que esta escola faz com a última parcela de X n acima se anule automaticamente Agora vamos substituir as expressões de β 1 e β de modo a obter condições para b 1 e b Como β = c 1, Da primeira condição, temos que c 1 b 1 + b ) = c 1 = b 1 + b = 1 β 1 β c 0 b 1 + b ) c 1 b c 1 c 0 c 1 b c 1 c 1 b c 1 = c 0 = c 0 = c 0 = 0 c 1 )b = c 1 = b = 1 Como b 1 + b = 1, temos que b 1 = 3/, e portanto a fórmula de Adams-Basfort de dois passos AB) é dada por { Xn+1 = X n + [ 3 f n 1 f n 1], n 1 X 0 = x 0 119) Não inserimos em 119) a fórmula para X 1 dada por 118) porque esta somente vale para ft, xt)) = c 0 + c 1 t A escola de X 1 será discutida posteriormente 1113 Fórmula de Adams-Basfort de dois passos: dedução alternativa Visando simplificar os cálculos realizados anteriormente, vamos reescrever pt) na forma Neste caso, xt) passa a ser escrito na forma e em particular, pt) = c 0 + c 1 t t 0 1110) t t 0 ) xt) = x 0 + c 0 t t 0 ) + c 1, t n t 0 ) n xt n ) = x 0 + c 0 t n t 0 ) + c 1 = x 0 + c 0 n + c 1 1111) xt 1 ) = x 0 + c 0 + c 1 111) A fórmula para X n+1 se torna ) )] t n t 0 t n 1 t 0 X n+1 = X n + [b 1 c 0 + c 1 + b c 0 + c 1 = X n + n [b 1 c 0 + c 1 ) n 1) + b c 0 + c 1 = X n + [b 1 c 0 + b 1 c 1 n + b c 0 + b c 1 n 1)] = X n + [b 1 c 0 + b c 0 + b 1 c 1 n + b c 1 n b c 1 ] )] = X n + [ c 0 b 1 + b ) c 1 b + c 1 b 1 + b )n] = X n + β 1 + β n, 31
com β 1 = c 0 b 1 +b ) c 1 b e β = c 1 b 1 +b ) Repetindo o procedimento da seção anterior, encontramos X n = X n 1 + β 1 + β n 1) = [X n + β 1 + β n )] + β 1 + β n 1) = X n + β 1 + β [n 1) + n )] n 1 = = X 1 + n 1)β 1 + β j j=1 nn 1) = X 1 + n 1)β 1 + β n = X 1 + β 1 n β 1 + β β n = X 1 + β 1 β ) n n + β β 1 Segue de 111) que X n = x 0 + c 0 + c 1 + = x 0 + β 1 β Para que X n = xt n ), basta que β 1 β ) ) n + β n + β 1 β = c 0, β = c 1 n n + β β 1 c 0 + c ) 1 β 1 Analogamente à dedução anterior, β = c 1 implica que b 1 + b = 1 Logo β 1 = c 0 c 1 b, e além disso, β 1 β c 0 c 1 b β c 1 b c 1 = c 0 = c 0 = 0, ou seja, b = 1/ e de b 1 + b = 1, b = 3/), conforme deduzido anteriormente 1114 Segunda dedução alternativa Vamos simplificar mais ainda os cálculos acima Considere n > 0 fixo, porém arbitrário, e considere a seguinte representação do polinômio p: pt) = c 0 + c 1 t t n 1113) Vamos escrever xt n+1 ) em termos de xt n ) por meio do Teorema Fundamental do Cálculo: tn+1 ) t t n 0 xt n+1 ) = xt n ) + c 0 + c 1 dt = xt n ) + c 0 + c 1 = xt n ) + c 0 + c 1 t n Portanto, a sequência Y n = xt n ) satisfaz Y n+1 = Y n + Y 0 = xt 0 ) Y 1 = xt 1 ) 3 c 0 + c 1 ) 1114)
Queremos provar que X i = Y i para todo 0 i n + 1 Temos de 1113) que logo segue que X n+1 = X n + [b 1 pt n ) + b pt n 1 )] ) )] t n t n t n 1 t n = X n + [b 1 c 0 + c 1 + b c 0 + c 1 )] = X n + [b 1 c 0 + b c 0 c 1 = X n + [c 0 b 1 + b ) c 1 b ], X n+1 = X n + [c 0 b 1 + b ) + c 1 b )], X 0 = xt 0 ) X 1 = xt 1 ) 1115) Para que as equações de diferenças 1115) e 1114) tenam a mesma solução, basta que os coeficientes das equações de Y n+1 e X n+1 sejam iguais para quaisquer c 0 e c 1, isto é, { b1 + b = 1 b = 1/, do qual obtemos novamente b = 1/ e b 1 = 3/ Em geral, para deduzir a fórmula de Adams-Basfort de k passos, convém escrever pt) na forma pt) = c 0 + c 1 t t n + c t t n ) + + c n 1 t t n ) k 1 k 1 111) 33
Aula 1: Fórmula de Adams-Moulton A fórmula de Adams-Moulton corresponde à versão implícita do método 111), ou seja, temos b 0 0 Além disso, a 0 = 1, a 1 = 1 e a j = 0 para todo j, ou seja, k 1 X n+1 X n = b j f n+1 j k 1 X n+1 = X n + b j f n+1 j, 11) em que os k coeficientes b 0,, b k 1 são escolidos de modo que, se x é a solução do PVI 113) com p P k 1, e X 0 = x 0 1) X n = xt n ) 1 n k, então X n = xt n ), n k 13) Note que a contagem dos passos inicia em j = 0 e termina em j = k 1, totalizando k passos Além disso, ao contrário da fórmula de Adams-Basfort, a expressão 11) não depende de X n+1 k, logo ela permite calcular X n para n + 1 k 0, ou seja, n k 1 Portanto devemos fornecer externamente X 0,, X k, o justifica a restrição 1) ser ligeiramente diferente de 114) 11 Fórmula de Adams-Moulton de um passo k = 1) Vimos que, se p P 1 1 = P 0, ou seja, pt) = c, então a solução do PVI 113) é xt) = x 0 + ct t 0 ) ou, usando o Teorema Fundamental do Cálculo, xt n+1 ) = xt n ) + c Assim, a sequência Y n = xt n ) satisfaz { Yn+1 = Y n + c Y 0 = x 0 14) Por outro lado, como f n+1 = pt n+1 ) = c, temos de 11) com k = 1 que { Xn+1 = X n + b 0 f n+1 = X n + cb 0 X 0 = xt 0 ) = x 0, 15) logo para que X n = xt n ) = Y n as equações de diferenças 14) e 15) devem ser iguais Para isto, basta que b 0 = 0 Portanto a fórmula de Adams-Moulton de um passo AM1) é dada por { Xn+1 = X n + f n+1 = X n + ft n+1, X n+1 ), n 0 1) X 0 = x 0 Este método também é conecido como método de Euler implícito 1 Fórmula de Adams-Moulton de dois passos k = ) Vimos que, para ft, xt)) = pt) na forma pt) = c 0 + c 1 t t n, a solução xt n ) do PVI 111) satisfaz xt n+1 ) = xt n ) + c 0 + c 1 e a sequência Y n = xt n ) satisfaz { Y n+1 = Y n + c 0 + c ) 1 17) Y 0 = xt 0 ) 34
Além disso, X n+1 = X n + [b 0 pt n+1 ) + b 1 pt n )] ) )] t n+1 t n t n t n = X n + [b 0 c 0 + c 1 + b 1 c 0 + c 1 = X n + [b 0 c 0 + c 1 ) + b 1 c 0 ] = X n + [c 0 b 0 + b 1 ) + c 1 b 0 ], ou seja, a solução gerada pela fórmula de Adams-Moulton de dois passos satisfaz a equação de diferenças { Xn+1 = X n + [c 0 b 0 + b 1 ) + c 1 b 0 ], 18) X 0 = xt 0 ) Para que as equações de diferenças 17) e 18) tenam a mesma solução, basta que os coeficientes das equações de Y n+1 e X n+1 sejam iguais para quaisquer c 0 e c 1, isto é, { b0 + b 1 = 1 19) b 0 = 1/, do qual obtemos b 0 = b 1 = 1/ Portanto a fórmula de Adams-Moulton de dois passos AM) é dada por { Xn+1 = X n + f n+1 + f n )/, n 0 110) X 0 = x 0 Este método também é conecido como método trapezoidal 13 Fórmula de Adams-Moulton: caso geral Para deduzir a fórmula de Adams-Multon de k passos, vamos escrever p P k 1 na forma pt) = c 0 + c 1 t t n + c t t n ) t t n ) k 1 k 1 + + c n 1 = c k 1 0 + i=1 c i t t n ) i i 111) O termo c 0 foi deixado de fora da somatória, pois caso contrário teríamos uma indeterminação do tipo 0 0 em pt n ) Pelo Teorema Fundamental do Cálculo, xt n+1 ) = xt n ) + tn+1 k 1 tn+1 t t n ) i k 1 pt) dt = c 0 + c i dt = c t n i 0 + Assim, a sequência Y n = xt n ) é a solução da equação de diferenças i=0 k 1 Y n+1 = Y n + c 0 + i=1 t n c i 1 i + 1 Y j = xt j ) j = 0, 1 j k ) i=1 c i i + 1 11) Vamos agora tratar da sequência X n Temos de 111) que k 1 t j t n ) i f j = pt j ) = c 0 + c i i i=1 i=1 k 1 [j t 0 ) n t 0 )] i = c 0 + c i i k 1 j n) i i k 1 = c 0 + c i = c i 0 + c i j n) i i=1 35 i=1