Baixe o app para aproveitar ainda mais
Prévia do material em texto
Soluções numéricas de equações diferenciais ordinárias. Alan Costa de Souza 21 de Outubro de 2017 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 1 / 116 Introdução. Equações diferenciais aparecem em modelos de diferentes áreas, como: 1 Astronomia 2 Mecânica dos fluidos 3 Fluidos de Calor 4 Vibrações 5 Reações qúımicas e nucleares. 6 Economia 7 Biologia 8 etc Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 2 / 116 Equações diferenciais são definidas como equações que apresentam derivadas de funções nas fórmulas. Se a equação apresenta apenas uma variável independente, ela é chamada de equação diferencial ordinária (EDO ou ODE). Exemplos: dy dx = x + y dy dx = x2 + y2 d2y dx2 + (1 + y2) dy dx + y = 0. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 3 / 116 Se a equação diferencial apresenta mais de uma variável independente, ela é chamada de equação diferencial parcial (EDP ou PDE). ∂2u ∂x2 + ∂2u ∂y2 = 0 u(x , y) Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 4 / 116 A solução de uma EDO é uma função de uma variável que satisfaz a equação: dy dx = y ′ = y y(x) = aex d3u du3 = u′′′ = 0 u(x) = pn(x) n ≤ 2. Como pode ser observado, para cada equação existem várias soluções. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 5 / 116 Outro conceito importante é a ordem da equação. dy dx = y ordem 1 d3u dx3 = 0 ordem 3. d3u dx3 + d2u dx2 + du dx = 0 ordem 3. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 6 / 116 Uma EDO é dita linear se os termos de funções e derivadas aparecem de forma linear. não lineares y ′′ + (1− y2)y ′ + y = 0 u′′ + e−u = f (x) linear 3y ′′ + 4y ′ + 5y = 2x Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 7 / 116 Como vimos anteriormente, uma equação diferencial pode apresentar várias soluções. Em geral, uma equação de ordem m requer m condições para ter solução única. Exemplos de condições: y(0) = 1 y ′(4) = −5 y(2) + 5y ′(3) = 6∫ 1 0 sen(xy)dx = 0 As mais comuns são as duas primeiras. Dependendo das condições temos um problema de valor inicial ou um problema de valor de contorno. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 8 / 116 Problema de valor inicial Equação de ordem m. um valor da função e das derivadas até ordem m-1 num mesmo ponto. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 9 / 116 Exemplo 1 dy dx = y y(0) = 1 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 10 / 116 Exemplo 2 d3y dx3 + (x + 1) d2y dx2 + cos(x) dy dx − (x2 − 1)y = x2 + y2sen(x + y) y(0) = 1, 1 y ′(0) = 2, 2 y ′′(0) = 3, 3 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 11 / 116 Problema de valor de cotorno Equação de ordem m > 1 As m-1 equações não são dadas no mesmo ponto. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 12 / 116 Exemplo 1 d4y dx4 + ky(x) = q y(0) = y ′(0) = 0 y(L) = y ′′(L) = 0 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 13 / 116 Exemplo 2 Nem sempre um PVC terá solução única mesmo com m condições. y ′′ = 0 y(−1) = 0 y(1)− 2y ′(1) = 0 y(x) = α(1 + x), ∀α ∈ R Problema PVC de ordem m m condições mas com várias soluções. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 14 / 116 Métodos numéricos para PVI Em teoria podemos pegar qualquer PVI e encontrar a função f(x) que a satisfaça. O problema é que na prática poucas equações têm solução anaĺıtica. Em muitos casos temos apenas a garantia da unicidade e existência da solução. A única forma de obter o resultado é numericamente. Em vez de obter a função f(x) Obteremos o valor da função em alguns pontos de forma aproximada. Inicialmente temos o valor y0 = f (x0). Usando o valor obtido em x0, obtemos y1 ≈ f (x1). Assim por diante até obter a aproximação para quantos pontos quiser. Veremos nesse curso dois tipos de métodos para resolver um PVI: métodos de Série de Taylor e métodos de Runge Kutta. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 15 / 116 Metodo de Euler O método de Euler é o método mais simples para resolver problemas de valor inicial. O objetivo do método de Euler é obter aproximações para problemas do tipo: dy dt = f (t, y) a ≤ t ≤ b y(a) = α Nós não vamos obter a função que satisfaz o PVI. Vamos obter aproximações da função em alguns pontos escolhidos. O conjunto desses pontos é chamado de malha de pontos (mesh points), no intervalo [a,b]. Após obter o valor da função nos pontos da malha, podemos obter os valores de outros pontos do intervalo através de interpolação. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 16 / 116 Malha de pontos. Define-se a malha como: ti = a + ih i = 0, 1, 2, ..., n h = b − a n Exemplo: 5 pontos n = 4 [a, b] =[0,1] h= 1−04 = 0,25 t0 = 0 + 0× 0, 25 = 0 t1 = 0 + 1× 0, 25 = 0, 25 t2 = 0 + 2× 0, 25 = 0, 5 t3 = 0 + 3× 0, 25 = 0, 75 t4 = 0 + 4× 0, 25 = 1 [0; 0, 25, 0, 5; 0, 75; 1] Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 17 / 116 Método de Euler A partir de t0 que é um ponto da função conhecido. Vamos estimar o valor da função em t1, que é o próximo ponto da malha. Após obter o valor da função em t1, vamos estimar o valor da função em t2. Vamos fazer isso até conhecer o valor da função em todos os pontos da malha. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 18 / 116 Usaremos a série de Taylor para derivar o método de Euler. y(t1) = y(t0) + y ′(t0)(t1 − t0) + y ′′(ξ) (t1 − t0)2 2 h = t1 − t0 y(t1) = y(t0) + y ′(t0)h + y ′′(ξ) h2 2 dy dt = f (t, y) y(t1) = y(t0) + f (t0, y0)h + y ′′(ξ) h2 2 y(t1) ≈ w1 = y(t0) + f (t0, y0)h Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 19 / 116 w0 = y(t0) w1 = y(t0) + f (t0,w0)h w2 = y(t1) + f (t1,w1)h w3 = y(t2) + f (t2,w2)h w4 = y(t3) + f (t3,w3)h wi+1 = y(ti ) + f (ti ,wi )h i = 0, 1, 2, 3. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 20 / 116 Exemplo 1. y ′ + t2 − 1 = y y(0) = 0, 5 y ′ = y − t2 + 1 y ′ = f (t, y) y(2) =? h = 0, 5 w0 = y(0) = 0, 5 y(0, 5) ≈ w1 = w0 + hf (t0, y0) = 0, 5 + 0, 5f (0; 0, 5) = 0, 5 + 0, 5(0, 5− 02 + 1) = 1, 25 y(0, 5) ≈ w1 = 1, 25 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 21 / 116 y(1) ≈ w2 = w1 + hf (t1, y1) = 1, 25 + 0, 5f (0, 5; 1, 25) = 1, 25 + 0, 5(1, 25− 0, 52 + 1) = 2, 25 y(1) ≈ w2 = 2, 25 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 22 / 116 y(1, 5) ≈ w3 = w2 + hf (t2, y2) = 2, 25 + 0, 5f (1; 2, 25) = 2, 25 + 0, 5(2, 25− 12 + 1) = 3, 375 y(1, 5) ≈ w3 = 3, 375 y(2) ≈ w4 = w3 + hf (t3, y3) = 3, 375 + 0, 5f (1, 5; 3, 375) = 3, 375 + 0, 5(3, 375− 1, 52 + 1) = 4, 4375 y(2) ≈ w4 = 4, 4375 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 23 / 116 Exemplo 2. y ′ + t2 − 1 = y y(0) = 0, 5 y′ = y − t2 + 1 y ′ = f (t, y) y(2) =? h = 2 w0 = y(0) = 0, 5 y(2) ≈ w1 = w0 + hf (t0, y0) = 0, 5 + 2f (0; 0, 5) = 0, 5 + 2(0, 5− 02 + 1) = 3, 5 y(2) ≈ w1 = 3, 5 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 23 / 116 y(t) = (t + 1)2 − 0, 5et y(2) = 9− 0, 5e2 = 5, 3054 Exemplo 1 h = 0, 5 y(2) ≈ w4 = 4, 4375 E = 0, 8679 Exemplo 2 h = 2 y(2) ≈ w4 = 3, 5 E = 1, 8054 O tamanho do passo h influencia no erro do método. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 24 / 116 Exemplo 3. y ′ = y − t2 + 1 y(0) = 0, 5 h = 0, 2 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 25 / 116 Erro global do método de Euler. Suponha que geramos uma sequencia de aproximações wi , i=0,1,2,...,N ; para a função f. Então em cada passo, temos que: |y(ti )− wi | ≤ hM 2L [eL(ti−a) − 1] h é o tamanho do passo. M é uma constante tal que y ′′(t) ≤ M, ∀t ∈ [t0,tN ] L é a constante Lipschitz. Ou seja, o crescimento do erro global é no máximo linear em h. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 26 / 116 Erro local e erro global. Viu-se até aqui dois tipos de erros: Erro local y(t1) = y(t0) + f (t0, y0)h + y ′′(ξ) h2 2 El = y ′′(ξ) h2 2 O(h2) Erro global |y(ti )− wi | ≤ hM 2L [eL(ti−a) − 1] O(h) Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 27 / 116 Métodos de Série de Taylor de ordens mais altas. Como vimos anteriormente, resolver uma EDO numericamente consiste em obter o valor da função solução em alguns pontos de forma aproximada. Uma forma de obter isso para um PVI é usando série de Taylor. Isso é posśıvel porque podemos estimar um valor desconhecido da função em função de um valor previamente conhecido. Além disso, usando o polinômio de Taylor como aproximação podemos estimar o erro dessa aproximação. Vimos também que quanto maior o grau do polinômio, menor o erro do polinômio de taylor. Então podemos usar outros polinômios para obter aproximações da função com erros menores. Veremos agora como podemos obter soluções numéricas para polinômios de Taylor com graus maiores que um. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 28 / 116 Caso linear - Método de Euler. y(t1) = y(t0) + f (t0, y0)h + y ′′(ξ) h2 2 w1 = y(t0) + f (t0, y0)h El = y ′′(ξ) h2 2 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 29 / 116 Ordem 2 y(t1) = y(t0) + y ′(t0)h + y ′′(t0) h2 2 + y ′′′(ξ) h3 6 y ′ = f (t, y) w1 = y(t0) + y ′(t0)h + y ′′(t0) h2 2 w1 = y(t0) + f (t0, y0)h + f ′(t0, y0) h2 2 f ′ = d dt f (t, y(t)) = ∂f ∂t (t, y) + ∂f ∂y (t, y)f (t, y) f ′ = d dt f (t, y(t)) = ft + fy f w1 = y(t0) + f (t0, y0)h + (ft(t0, y0) + fy (t0, y0)f (t0, y0)) h2 2 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 30 / 116 El = y ′′′(ξ) h3 6 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 31 / 116 Ordem 3 y(t1) = y(t0) + y ′(t0)h + y ′′(t0) h2 2 + y ′′′(t0) h3 6 + y4(ξ) h4 24 y ′ = f (t, y) w1 = y(t0) + y ′(t0)h + y ′′(t0) h2 2 + y ′′′(t0) h3 6 w1 = y(t0) + f (t0, y0)h + f ′(t0, y0) h2 2 + f ′′(t0, y0) h3 6 f ′ = ft + fy f f ′′ = ftt + fty f + (fyt + fyy f )f + fy (ft + fy f ) Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 32 / 116 Como vimos, a partir do método de ordem 3, a quantidade de cálculos fica excessiva. Isso torna os métodos computacionalmente ineficientes apesar de serem mais precisos. Uma alternativa para isso é aproveitar as expressões geradas pelos polinômios de Taylor e eliminar os cálculos das derivadas de f(t,y). Esses métodos são chamados de métodos de Runge-Kutta. O método consiste em expandir a expressão de f(t,y) numa série de Taylor de y e t. Com isso, elimina-se as derivadas de f(t,y) e obtemos expressões que usam apenas f(t,y). Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 33 / 116 Métodos de Runge Kutta. Vimos na última aula que podemos usar a série de Taylor para calcular soluções numéricas de PVI. Os métodos de Série de Taylor consistem em usar o polinômio de taylor para estimar o valor da função num ponto, usando um valor já conhecido. Quanto maior o grau do polinômio de Taylor, mais preciso é o método. Mais também o método fica computacionalmente inviável. Uma alternativa é usar os métodos de Runge Kutta Ele consiste em usar a Série de taylor da função f(t,y) para eliminar o cálculo das derivadas de f. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 34 / 116 Método de Runge Kutta de segunda ordem. y(t1) ≈ y(t0) + y ′(t0)h + y ′′(t0) h2 2 f ′ = d dt f (t, y(t)) = ∂f ∂t (t, y) + ∂f ∂y (t, y)f (t, y) w1 = y(t0) + f (t0, y0)h + (ft(t0, y0) + fy (t0, y0)f (t0, y0)) h2 2 w1 = y(t0) + f (t0, y0)h + h2 2 ft(t0, y0) + h2 2 fy (t0, y0)f (t0, y0) Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 35 / 116 f (t1) ≈ f (t0) + ft(t0)h f (t1, y1) ≈ f (t0, y0) + ft(t0, y0)ht + fy (t0, y0)hy f (t0 + α1, y0 + β1) ≈ f (t0, y0) + ft(t0, y0)α1 + fy (t0, y0)β1 a1f (t0 + α1, y0 + β1) ≈ a1f (t0, y0) + a1α1ft(t0, y0) + a1β1fy (t0, y0) w1 = y(t0) + f (t0, y0)h + h2 2 ft(t0, y0) + h2 2 fy (t0, y0)f (t0, y0) w1 = y(t0) + h[f (t0, y0) + h 2 ft(t0, y0) + h 2 fy (t0, y0)f (t0, y0)] a1 = 1 α1 = h 2 β1 = h 2 f (t0, y0) w1 = y(t0) + h[f (t0 + h 2 , y0 + h 2 f (t0, y0))] Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 36 / 116 Método do ponto médio. w0 = y(t0) wi+1 = wi + h[f (ti + h 2 , yn + h 2 f (ti , yi )] Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 37 / 116 Exemplo. y ′ = y − t2 + 1 y(t0) = w0 = 0, 5 h = 0, 2 t0 = 0 wi+1 = wi + h[f (ti + h 2 , yn + h 2 f (ti , yi )] w1 = w0 + h[f (t0 + h 2 , y0 + h 2 f (t0, y0)] w1 = 0, 5 + 0, 2[f (0 + 0, 2 2 ; 0, 5 + 0, 2 2 f (0; 0, 5)] f (t, y) = y − t2 + 1 f (0; 0, 5) = 0, 5− 02 + 1 = 1, 5 w1 = 0, 5 + 0, 2[f (0 + 0, 2 2 ; 0, 5 + 0, 2 2 1, 5] w1 = 0, 5 + 0, 2f (0, 1; 0, 65) Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 38 / 116 w1 = 0, 5 + 0, 2f (0, 1; 0, 65) f (t, y) = y − t2 + 1 f (0, 1; 0, 65) = 0, 65− 0, 12 + 1 = 1, 64 y(0, 2) ≈ w1 = 0, 5 + 0, 2× 1, 64 = 0, 828 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 39 / 116 y ′ = y − t2 + 1 w1 = 0, 828 h = 0, 2 wi+1 = wi + h[f (ti + h 2 , yn + h 2 f (ti , yi )] w2 = w1 + h[f (t1 + h 2 , y1 + h 2 f (t1, y1)] w2 = 0, 828 + 0, 2[f (0, 2 + 0, 2 2 ; 0, 828 + 0, 2 2 f (0, 2; 0, 828)] f (t, y) = y − t2 + 1 f (0, 2; 0, 828) = 0, 828− 0, 22 + 1 = 1, 7880 w2 = 0, 828 + 0, 2[f (0, 2 + 0, 2 2 ; 0, 828 + 0, 2 2 (1, 7880)] w2 = 0, 828 + 0, 2f (0, 3; 1, 0068) Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 40 / 116 w2 = 0, 828 + 0, 2f (0, 3; 1, 0068) f (t, y) = y − t2 + 1 f (0, 3; 1, 0068) = 1, 0068− 0, 32 + 1 = 1, 9168 y(0, 4) ≈ w2 = 0, 828 + 0, 2× 1, 9168 = 1, 21136. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 41 / 116 Método de Euler modificado. w0 = y(t0) wi+1 = wi + h 2 [f (ti , yi ) + f (ti+1,wi + hf (ti , yi )] Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubrode 2017 42 / 116 Exemplo. y ′ = y − t2 + 1 w0 = y(t0) = 0, 5 h = 0, 2 t0 = 0 wi+1 = wi + h 2 [f (ti , yi ) + f (ti+1,wi + hf (ti , yi )] w1 = w0 + h 2 [f (t0, y0) + f (t1,w0 + hf (t0, y0)] w1 = 0, 5 + 0, 2 2 [f (0, 0, 5) + f (0, 2; 0, 5 + 0, 2f (0, 0, 5)] f (t, y) = y − t2 + 1 f (0; 0, 5) = 0, 5− 02 + 1 = 1, 5 w1 = 0, 5 + 0, 2 2 [f (0, 0, 5) + f (0, 2; 0, 5 + 0, 2× 1, 5] w1 = 0, 5 + 0, 1[f (0; 0, 5) + f (0, 2; 0, 8)] Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 43 / 116 w1 = 0, 5 + 0, 1[1, 5 + f (0, 2; 0, 8)] f (t, y) = y − t2 + 1 f (0, 2; 0, 8) = 0, 8− 0, 22 + 1 = 1, 76 w1 = 0, 5 + 0, 1[1, 5 + 1, 76] y(0, 2) ≈ w1 = 0, 826 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 44 / 116 y ′ = y − t2 + 1 w1 = 0, 826 h = 0, 2 wi+1 = wi + h 2 [f (ti , yi ) + f (ti+1,wi + hf (ti , yi )] y(0, 4) ≈ w2 = w1 + h 2 [f (t1, y1) + f (t2,w1 + hf (t1, y1)] w2 = 0, 826 + 0, 2 2 [f (0, 2; 0, 826) + f (0, 4; 0, 826 + 0, 2f (0, 2, 0, 826)] f (t, y) = y − t2 + 1 f (0, 2; 0, 826) = 0, 826− 0, 22 + 1 = 1, 786 w2 = 0, 826 + 0, 2 2 [f (0, 2; 0, 826) + f (0, 4; 0, 826 + 0, 2× 1, 786] w2 = 0, 826 + 0, 2 2 [f (0, 2; 0, 826) + f (0, 4; 1, 1832] Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 45 / 116 w2 = 0, 826 + 0, 2 2 [f (0, 2; 0, 826) + f (0, 4; 1, 1832] f (t, y) = y − t2 + 1 f (0, 4; 1, 1832) = 1, 1832− 0, 42 + 1 = 2, 0232 w2 = 0, 826 + 0, 1[1, 786 + 2, 0232] y(0, 4) ≈ w2 = 1, 20692 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 46 / 116 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 47 / 116 Método de Runge Kutta de ordem 4. y(t0) = w0 = y0 K1 = hf (ti ,wi ) K2 = hf (ti + h 2 ,wi + K1 2 ) K3 = hf (ti + h 2 ,wi + K2 2 ) K4 = hf (ti + h,wi + K3) wi+1 = wi + 1 6 (K1 + 2K2 + 2K3 + K4) O(h5) Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 48 / 116 Exemplo. y ′ = y − t2 + 1 w0 = y(t0) = 0, 5 h = 0, 2 t0 = 0 K1 = hf (t0,w0) K1 = 0, 2f (0; 0, 5) K1 = 0, 2× (0, 5− 02 + 1) = 0, 3 K2 = hf (t0 + h 2 ,w0 + K1 2 ) K2 = 0, 2f (0, 1; 0, 65) K2 = 0, 2× (0, 65− 0, 12 + 1) = 0, 328 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 49 / 116 K3 = hf (t0 + h 2 ,wi + K2 2 ) K3 = 0, 2f (0 + 0, 2 2 ,w0 + 0, 328 2 ) K3 = 0, 2f (0, 1, 0, 664) K3 = 0, 2× (0, 664− 0, 12 + 1) = 0, 3308 K4 = hf (t0 + h,w0 + K3) K4 = 0, 2f (0 + 0, 2, 0, 5 + 0, 3308) K4 = 0, 2f (0, 2; 0, 8308) K4 = 0, 2× (0, 8308− 0, 22 + 1) = 0, 35816 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 50 / 116 K1 = 0, 3 K2 = 0, 328 K3 = 0, 3308 K4 = 0, 35816 w1 = w0 + 1 6 (K1 + 2K2 + 2K3 + K4) w1 = w0 + 1 6 (0, 3 + 2× 0, 328 + 2× 0, 3308 + 0, 35816) = 0, 8292933 y(0, 2) ≈ w1 = 0, 8292933 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 51 / 116 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 52 / 116 Equações de ordens superiores e sistemas de EDO. Nas últimas duas aulas, vimos como resolver um PVI numericamente. Vimos dois tipos de métodos: 1 Métodos de Série de Taylor: Ex: Método de Euler. 2 Métodos de Runge-Kutta: Ex: Runge Kutta de Ordem 4. Em ambos os tipos, resolvemos problemas PVI do tipo: dy dx = f (t, y). Na aula de hoje vamos ver como se resolvem PVI do tipo: dny dxn = f (t, y). As técnicas que veremos nessa aula se restrigem a transformar uma EDO de ordem n num sistema de EDOs. Antes de vermos comos e faz a transformação, veremos como resolver um sistema de EDO’s. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 53 / 116 Um sistema de ordem m de PVI de primeira ordem é definido como: du1 dt = f1(u1, u2, ..., um) du2 dt = f2(u1, u2, ..., um) ... dum dt = fm(u1, u2, ..., um) a ≤ t ≤ b u1(t0) = α1, u2(t0) = α2, . . . , um(t0) = αm O objetivo é encontrar as m equações que satisfazem o sistema. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 54 / 116 Runge Kutta para EDO y ′ = f (t, y) a ≤ t ≤ b y(a) = α K1 = hf (ti , yi ) K2 = hf (ti + h 2 , yi + K1 2 ) K3 = hf (ti + h 2 , yi + K2 2 ) K4 = hf (ti h , yi + K3) wi+1 = wi + 1 6 (K1 + 2K2 + 2K3 + K4) i = 0, 1, ..., n − 1 O método para sistemas é uma generalização do método usado para EDO. vamos usar Runge-Kutta, mas poderia ser com outros métodos que já vimos. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 55 / 116 N > 0 N é o número de intervalos. h = b − a N h é o tamanho do passo. tj = a + jh, j = 0, 1, ...,N tj é a malha de pontos. wi ,j ≈ ui (tj) As condições iniciais são: w1,0 = α1, w2,0 = α2, ..., wm,0 = αm Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 56 / 116 Em cada passo do algoritmo vamos calcular os valores de cada função no instante seguinte, em função dos valores de cada função no instante atual. (w1,j ,w2,j , ...,wm,j)→ (w1,j+1,w2,j+1, ...,wm,j+1) Usaremos: K1,i = hfi (tj ,w1,j ,w2,j , ...,wm,j) K2,i = hfi (tj + h 2 ,w1,j + K1,1 2 ,w2,j + K1,2 2 , ...,wm,j K1,m 2 ) K3,i = hfi (tj + h 2 ,w1,j + K2,1 2 ,w2,j + K2,2 2 , ...,wm,j K2,m 2 ) K4,i = hfi (tj + h,w1,j + K3,1,w2,j + K3,2, ...,wm,j + K3,m) i = 1, 2, ...,m. Atenção: calcular todos os K1,i antes de calcular os K2,i . Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 57 / 116 wi ,j+1 = wi ,j + 1 6 (K1,i + 2K2,i + 2K3,i + K4,i ) Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 58 / 116 Exemplo dI1 dt = f1(t, I1, I2) = −4I1 + 3I2 + 6 dI2 dt = f2(t, I1, I2) = −2, 4I1 + 1, 6I2 + 3, 6 I1(0) = I2(0) = 0 w1,0 = I1(0) = 0 w2,0 = I2(0) = 0 I1(0, 1) =? I2(0, 1) =? h = 0, 1 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 59 / 116 h = 0, 1 t0 = 0 w1,0 = 0 w2,0 = 0 f1(t, I1, I2) = −4I1 + 3I2 + 6 f2(t, I1, I2) = −2, 4I1 + 1, 6I2 + 3, 6 K1,1 = hf1(t0,w1,0,w2,0) K1,1 = 0, 1f1(0, 0, 0) = 0, 6 K1,2 = hf2(t0,w1,0,w2,0) K1,2 = 0, 1f2(0, 0, 0) = 0, 36 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 60 / 116 h = 0, 1 t0 = 0 w1,0 = 0 w2,0 = 0 f1(t, I1, I2) = −4I1 + 3I2 + 6 f2(t, I1, I2) = −2, 4I1 + 1, 6I2 + 3, 6 K2,1 = hf1(t0 + h 2 ,w1,0 + K1,1 2 ,w2,0 + K1,2 2 ) K2,1 = 0, 1f1(0, 05; 0, 3; 0, 18) = 0, 534 K2,2 = hf2(t0 + h 2 ,w1,0 + K1,1 2 ,w2,0 + K1,2 2 ) K2,2 = 0, 1f2(0, 05; 0, 3; 0, 18) = 0, 3168 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 61 / 116 h = 0, 1 t0 = 0 w1,0 = 0 w2,0 = 0 f1(t, I1, I2) = −4I1 + 3I2 + 6 f2(t, I1, I2) = −2, 4I1 + 1, 6I2 + 3, 6 K3,1 = hf1(t0 + h 2 ,w1,0 + K2,1 2 ,w2,0 + K2,2 2 ) K3,1 = 0, 1f1(0, 05; 0, 267; 0, 1584) = 0, 54072 K3,2 = hf2(t0 + h 2 ,w1,0 + K2,1 2 ,w2,0 + K2,2 2 ) K3,2 = 0, 1f2(0, 05; 0, 267; 0, 1584) = 0, 321264 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 62 / 116 h = 0, 1 t0 = 0 w1,0 = 0 w2,0 = 0 f1(t, I1, I2) = −4I1 + 3I2 + 6 f2(t, I1, I2) = −2, 4I1 + 1, 6I2 + 3, 6 K4,1 = hf1(t0 + h,w1,0 + K3,1,w2,0 + K3,2) K4,1 = 0, 1f1(0, 1; 0, 54072; 0, 321264) = 0, 4800912 K4,2 = hf2(t0 + h,w1,0 + K3,1,w2,0 + K3,2) K4,2 = 0, 1f2(0, 1; 0, 54072; 0, 321264) = 0, 28162944 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 63 / 116K1,1 = 0, 6 K2,1 = 0, 534 K3,1 = 0, 54072 K4,1 = 0, 4800912 I1(0, 1) ≈ w1,1 = w1,0 + 1 6 (K1,1 + 2K2,1 + 2K3,1 + K4,1) I1(0, 1) ≈ w1,1 = 0 + 1 6 (0, 6 + 2× 0, 534 + 2× 0, 54072 + 0, 4800912) I1(0, 1) ≈ w1,1 = 0.5382552 I1(t) = −3.375e−2t + 1.875e−0.4t + 1.5 E = |0.8285× 10−5| Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 64 / 116 K1,2 = 0, 36 K2,2 = 0, 3168 K3,2 = 0, 321264 K4,2 = 0, 28162944 I2(0, 1) ≈ w2,1 = w2,0 + 1 6 (K1,2 + 2K2,2 + 2K3,2 + K4,2) I2(0, 1) ≈ w2,1 = 0 + 1 6 (0, 36 + 2× 0, 3168 + 2× 0, 321264 + 0, 28162944) I2(0, 1) ≈ w2,1 = 0, 3196263 I2(t) = −2.25e−2t + 2.25e−0.4t E = |0, 5803× 10−5| Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 65 / 116 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 66 / 116 Equações diferenciais de ordens mais altas. Muitos problemas f́ısicos envolvem EDOs com ordens maiores que um. Nós não precisamos de outros métodos para resolvê-las. Renomeando as variáveis nós podemos transformar EDOs de ordens mais altas num sistema de EDOs primeira ordem. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 67 / 116 Seja a EDO de ordem m. y (m)(t) = f (t, y , y ′, ..., y (m−1)) a ≤ t ≤ b y(a) = α1, y ′(a) = α2, ..., y (m−1)(a) = αm Podemos converter num sistema de m EDO de primeira ordem. u1(t) = y(t) u2(t) = y ′(t) u3(t) = y ′′(t) ... um(t) = y (m−1)(t) u1(t) = y u′1(t) = y ′ = u2(t) u2(t) = y ′ u′2(t) = y ′′ = u3(t) um(t) = y (m−1)(t) u′m(t) = y m(t) = f (t, y , y ′, ..., y (m−1)) Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 68 / 116 Transforma-se a EDO de ordem m y (m)(t) = f (t, y , y ′, ..., y (m−1)) a ≤ t ≤ b y(a) = α1, y ′(a) = α2, ..., y (m−1)(a) = αm No sistema: u′1(t) = u2(t) = f1(t, u1, u2, u3, ..., um) u′2(t) = u3(t) = f2(t, u1, u2, u3, ..., um) u′3(t) = u4(t) = f3(t, u1, u2, u3, ..., um) u′m(t) = y m(t) = fm(t, y , y ′, ..., y (m−1)) u1(a) = α1, u2(a) = α2, ..., um(a) = αm Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 69 / 116 Exemplo y ′′ − 2y ′ + 2y = e2tsin(t) y ′′ = 2y ′ − 2y + e2tsin(t) y(0) = −0.4, y ′(0) = −0.6 u1 = y , u2 = y ′ u′1(t) = u2(t) u′2(t) = e 2tsin(t)− 2u1(t) + 2u2(t) u1(0) = −0.4, u2(0) = −0.6 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 70 / 116 h = 0, 1 t0 = 0 w1,0 = −0, 4 w2,0 = −0, 6 f1(t, u1, u2) = u2 f2(t, u1, u2) = e 2tsin(t)− 2u1(t) + 2u2(t) K1,1 = hf1(t0,w1,0,w2,0) = −0, 06 K1,2 = hf2(t0,w1,0,w2,0) = −0, 04 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 71 / 116 h = 0, 1 t0 = 0 w1,0 = −0, 4 w2,0 = −0, 6 f1(t, u1, u2) = u2 f2(t, u1, u2) = e 2tsin(t)− 2u1(t) + 2u2(t) K2,1 = hf1(t0 + h 2 ,w1,0 + K1,1 2 ,w2,0 + K1,2 2 ) = −0.062 K2,2 = hf2(t0 + h 2 ,w1,0 + K1,1 2 ,w2,0 + K1,2 2 ) = −0, 03247644757 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 72 / 116 h = 0, 1 t0 = 0 w1,0 = −0, 4 w2,0 = −0, 6 f1(t, u1, u2) = u2 f2(t, u1, u2) = e 2tsin(t)− 2u1(t) + 2u2(t) K3,1 = hf1(t0 + h 2 ,w1,0 + K2,1 2 ,w2,0 + K2,2 2 ) = −0, 06162832238 K3,2 = hf2(t0 + h 2 ,w1,0 + K2,1 2 ,w2,0 + K2,2 2 ) = −0, 03152409237 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 73 / 116 h = 0, 1 t0 = 0 w1,0 = −0, 4 w2,0 = −0, 6 f1(t, u1, u2) = u2 f2(t, u1, u2) = e 2tsin(t)− 2u1(t) + 2u2(t) K4,1 = hf1(t0 + h,w1,0 + K3,1,w2,0 + K3,2) = −0.06315240924 K4,2 = hf2(t0 + h,w1,0 + K3,1,w2,0 + K3,2) = −0.02178637298 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 74 / 116 K1,1 = −0, 06 K2,1 = −0.062 K3,1 = −0, 06162832238 K4,1 = −0.06315240924 w1,1 = w1,0 + 1 6 (K1,1 + 2K2,1 + 2K3,1 + K4,1) = −0, 4617333423 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 75 / 116 K1,2 = −0, 04 K2,2 = −0, 03247644757 K3,2 = −0, 03152409237 K4,2 = −0.02178637298 w2,1 = w2,0 + 1 6 (K1,2 + 2K2,2 + 2K3,2 + K4,2) = −0, 6316312421 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 76 / 116 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 77 / 116 Problema de Kepler. Suponha um planeta que sofre a ação apenas da força gravitacional do Sol. Da segunda lei de Newton: m d2~r dt2 = ~F A força gravitacional é dada pela lei da gravitação universal: ~F = −GMm ~r r3 Logo: m d2~r dt2 = −GMm ~r r3 d2~r dt2 = −GM ~r r3 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 78 / 116 d2~r dt2 = −GM ~r r3 ~r = (x , y) d2x dt2 = −GM x ( √ x2 + y2) 3 d2y dt2 = −GM y ( √ x2 + y2) 3 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 79 / 116 vx = dx dt dx dt = vx dvx dt = −GM x ( √ x2 + y2) 3 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 80 / 116 vy = dy dt dy dt = vy dvy dt = −GM x ( √ x2 + y2) 3 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 81 / 116 dx dt = vx = f1(t, x , y , vx , vy ) dy dt = vy = f2(t, x , y , vx , vy ) dvx dt = −GM x ( √ x2 + y2) 3 = f3(t, x , y , vx , vy ) dvy dt = −GM x ( √ x2 + y2) 3 = f4(t, x , y , vx , vy ) x0 = x(0) y0 = y(0) vx0 = vx(0) vy0 = vy (0) Resolvendo essas equações podemos obter por exemplo a posição da Terra em torno do Sol em cada instante. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 82 / 116 Exemplo Terra. G = 4π2 M = 1M� dx dt = vx dy dt = vy dvx dt = −4π2 x ( √ x2 + y2) 3 dvy dt = −4π2 x ( √ x2 + y2) 3 x0 = 0, 9832UA y0 = 0UA vx0 = 0 UA ano vy0 = 6.3897 UA ano Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 83 / 116 Simulação de 1 ano dt=0,01 ano Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 84 / 116 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 85 / 116 Problema de Valor de Contorno. Nas últimas aulas vimos como resolver um PVI. Existem dois tipos de métodos para resolvê-los: métodos de série de Taylor. Exemplo: método de Euler. métodos de Runge Kutta. Exemplo: método de Runge Kutta de Quarta Ordem. Ambos tipos de métodos obtém soluções aproximadas para uma função em alguns pontos. Resolvem EDO’s de primeira ordem Podem ser adaptados para resolver EDO de ordem superior esistemas de EDO’s. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 86 / 116 Nesse aula veremos como resolver outro tipo de problema: os problemas de valores de contorno (PVC). Vamos restringir a solução de PVC de segunda ordem: Temos uma EDO de segunda ordem. Duas condições em pontos diferentes. Além disso vamos nos restringir a problemas lineares. Ou seja, vamos resolver apenas PVC lineares de segunda ordem. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 87 / 116 O que é um PVC linear? Um PVC linear é formado por uma EDO linear e as respectivas condições de contorno. Uma EDO de segunda ordem: y ′′ = f (x , y , y ′) é linear quando existem p(x),q(x) e r(x) tal que: f (x , y , y ′) = p(x)y ′ + q(x)y + r(x) Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubrode 2017 88 / 116 Teorema Suponha o PVC: y ′′ = p(x)y ′+q(x)y+r(x), a ≤ x ≤ b y(a) = α y(b) = β Se o PVC satisfazer: 1 p(x), q(x), e r(x) ∈ C [a, b] 2 q(x) > 0, ∀x ∈ [a, b] Então o PVC linear de segunda ordem tem solução única. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 89 / 116 Existem algumas alternativas para resolver PVC lineares de segunda ordem: 1 Método do tiro. 2 Método de diferenças finitas 3 Método de Rayleigh-Ritz Nessa aula veremos como resolver pelo método de diferenças finitas. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 90 / 116 Método de diferenças finitas Uma das formas de se obter a solução numérica de um PVC linear de segunda ordem é através do método de diferenças finitas. O método consiste em substituir as derivadas da EDO por uma aproximação numérica da derivada. Após isso obtemos um sistema linear. Resolvendo o sistema linear, nós obtemos o valor da função em cada ponto da malha escolhida. Antes de usar o método, veremos como calcular numericamente as derivadas de uma função. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 91 / 116 Derivada numérica. A derivada de uma função pode ser definida como: f ′(x0) = lim h→0 f (x0 + h)− f (x0) h Uma aproximação para a derivada pode ser obtida através da Série de Taylor. f (x0 + h) = f (x0) + hf ′(x0) + h2 2 f ′′(ξ) hf ′(x0) = f (x0 + h)− f (x0)− h2 2 f ′′(ξ) f ′(x0) = f (x0 + h)− f (x0) h − h 2 f ′′(ξ) f ′(x0) ≈ f (x0 + h)− f (x0) h Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 92 / 116 Logo temos a aproximação: f ′(x0) ≈ f (x0 + h)− f (x0) h Com erro: E (x) = −h 2 f ′′(ξ) Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 93 / 116 f ′(x0) ≈ f (x0 + h)− f (x0) h Se h > 0, temos a fórmula de diferenças avançada. Se h < 0, temos a fórmula de diferenças atrasada. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 94 / 116 Exemplo. calcular derivada de f(x) = ln(x) em x = 1,8. Podemos usar a fórmula anterior com h=0,1 f ′(1, 8) ≈ f (1, 8 + 0, 1)− f (1, 8) 0, 1 f ′(1, 8) ≈ f (1, 9)− f (1, 8) 0, 1 Podemos usar a fórmula anterior com h=-0,1 f ′(1, 8) ≈ f (1, 8− 0, 1)− f (1, 8) −0, 1 f ′(1, 8) ≈ f (1, 8)− f (1, 7) 0, 1 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 95 / 116 Diferenças finitas centradas Podemos obter aproximações com erros menores. Por exemplo podemos obter o método de diferenças finitas centradas: f (x0 + h) = f (x0) + hf ′(x0) + h2 2 f ′′(x0) + h3 6 f ′′′(ξ1) f (x0 − h) = f (x0)− hf ′(x0) + h2 2 f ′′(x0)− h3 6 f ′′′(ξ2) f (x0 + h)− f (x0 − h) = 2hf ′(x0) + h3 6 (f ′′′(ξ1) + f ′′′(ξ2)) 2hf ′(x0) = f (x0 + h)− f (x0 − h)− h3 6 (f ′′′(ξ1) + f ′′′(ξ2)) 2hf ′(x0) = f (x0 + h)− f (x0 − h) + O(h3) f ′(x0) = f (x0 + h)− f (x0 − h) 2h + O(h2) Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 96 / 116 f ′(x0) ≈ f (x0 + h)− f (x0) h O(h) f ′(x0) ≈ f (x0)− f (x0 − h) h O(h) f ′(x0) ≈ f (x0 + h)− f (x0 − h) 2h O(h2) Vamos usar o método de diferenças finitas centradas por ter menor erro. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 97 / 116 Aproximação da segunda derivada f (x0 + h) = f (x0) + hf ′(x0) + h2 2 f ′′(x0) + h3 6 f ′′′(x0) + h4 24 f (4)(ξ1) f (x0 − h) = f (x0)− hf ′(x0) + h2 2 f ′′(x0)− h3 6 f ′′′(x0) + h4 24 f (4)(ξ2) f (x0 + h) + f (x0 − h) = 2f (x0) + h2f ′′(x0) + h4 24 (f (4)(ξ1) + f (4)(ξ2)) h2f ′′(x0) = f (x0 + h)− 2f (x0) + f (x0 − h)− h4 24 (f (4)(ξ1) + f (4)(ξ2)) f ′′(x0) = f (x0 + h)− 2f (x0) + f (x0 − h) h2 − h 2 24 (f (4)(ξ1) + f (4)(ξ2)) Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 98 / 116 f ′′(x0) = f (x0 + h)− 2f (x0) + f (x0 − h) h2 − h 2 24 (f (4)(ξ1) + f (4)(ξ2)) f ′′(x0) = f (x0 + h)− 2f (x0) + f (x0 − h) h2 + O(h2) f ′′(x0) ≈ f (x0 + h)− 2f (x0) + f (x0 − h) h2 O(h2) Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 99 / 116 f ′(x0) ≈ f (x0 + h)− f (x0) h O(h) f ′(x0) ≈ f (x0)− f (x0 − h) h O(h) f ′(x0) ≈ f (x0 + h)− f (x0 − h) 2h O(h2) f ′′(x0) ≈ f (x0 + h)− 2f (x0) + f (x0 − h) h2 O(h2) Usaremos as últimas duas fórmulas para resolver o PVC. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 100 / 116 Voltamos então ao método de diferenças finitas. Seja um PVC linear de segunda ordem: y ′′(x) = p(x)y ′ + q(x)y + r(x) y(a) = α y(b) = β O método consiste em substituir y’ e y” por aproximações numéricas, por exemplo: y ′(xi ) ≈ y(xi+1)− y(xi−1) 2h y ′′(xi ) ≈ y(xi+1)− 2y(xi ) + y(xi−1) h2 Depois das substituições obtém-se um sistema linear. Resolvendo o sistema, obtemos o valor da função nos pontos da malha escolhida. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 101 / 116 Primeiramente nós criamos a malha de pontos com pontos extremos a e b, que são os pontos de contorno. xi = a + ih i = 0, 1, 2, 3, 4,N + 1 a = x0, x1, x2, x3, ..., xN+1 = b h = b − a N + 1 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 102 / 116 y ′′(x) = p(x)y ′ + q(x)y + r(x) y ′(xi ) ≈ f (xi+1)− f (xi−1) 2h y ′′(xi ) ≈ y(xi+1)− 2y(xi ) + y(xi−1) h2 y(xi+1)− 2y(xi ) + y(xi−1) h2 = p(xi ) [ y(xi+1)− y(xi−1) 2h ] +q(xi )y(xi )+r(xi ) − [ y(xi+1)− 2y(xi ) + y(xi−1) h2 ] +p(xi ) [ y(xi+1)− y(xi−1) 2h ] +q(xi )y(xi ) = = −r(xi ) −[y(xi+1)−2y(xi ) +y(xi−1)] + h 2 p(xi )[y(xi+1)−y(xi−1)] +h2q(xi )y(xi ) = = −h2r(xi ) Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 103 / 116 −[y(xi+1)−2y(xi ) +y(xi−1)] + h 2 p(xi )[y(xi+1)−y(xi−1)] +h2q(xi )y(xi ) = = −h2r(xi ) − [ 1 + h 2 p(xi ) ] y(xi−1) + [2 + h 2q(xi )]y(xi )− [ 1− h 2 p(xi ) ] y(xi+1) = −h2r(xi ), i = 1, 2, 3, 4,N Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 104 / 116 Para i=1 − [ 1 + h 2 p(x1) ] y(x0) + [2 + h 2q(x1)]y(x1)− [ 1− h 2 p(x1) ] y(x2) = −h2r(x1) Como y(x0) = y(a) = α Nós temos a primeira equação: [2 + h2q(x1)]y(x1)− [ 1− h 2 p(x1) ] y(x2) = −h2r(x1) + [ 1 + h 2 p(x1) ] α Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 105 / 116 Para i=N − [ 1 + h 2 p(xN) ] y(xN−1)+[2+h 2q(xN)]y(xN)− [ 1− h 2 p(xN) ] y(xN+1) = −h2r(xN) Como y(xN+1) = y(b) = β Nós temos a última equação: − [ 1 + h 2 p(xN) ] y(xN−1) + [2 + h 2q(xN)]y(xN) = −h2r(xN) + [ 1− h 2 p(xN) ] β Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 106 / 116 Logo temos o seguinte sistema: Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 107 / 116 Logo temos o seguinte sistema: Resolvendo esse sistema obtemos a aproximação da função y(x) nos pontos x1,x2,...,xN Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 108 / 116 Exemplo y ′′ = −2 x y ′ + 2 x2 y + sen(ln(x)) x2 y(1) = 1 y(2) = 2 p(x) = −2 x q(x) = 2 x2 r(x) = sen(ln(x)) x2 N = 9 h = b − a N + 1 = 0, 1 xi = 1 + 0, 1i i = 1, 2, ...,N Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 109 / 116 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 deOutubro de 2017 110 / 116 A~w = ~b. A = 2 + h2q(x1) − 1 + h2p(x1) 0 0 0 0 0 0 0 −1− h2p(x2) 2 + h 2q(x2) − 1 + h2p(x2) 0 0 0 0 0 0 0 − 1− h2p(x3) 2 + h 2q(x3) − 1 + h2p(x3) 0 0 0 0 0 0 0 − 1− h2p(x4) 2 + h 2q(x4) − 1 + h2p(x4) 0 0 0 0 0 0 0 − 1− h2p(x5) 2 + h 2q(x5) − 1 + h2p(x5) 0 0 0 0 0 0 0 − 1− h2p(x6) 2 + h 2q(x6) − 1 + h2p(x6) 0 0 0 0 0 0 0 − 1− h2p(x7) 2 + h 2q(x7) − 1 + h2p(x7) 0 0 0 0 0 0 0 − 1− h2p(x8) 2 + h 2q(x8) − 1 + h2p(x8) 0 0 0 0 0 0 0 − 1− h2p(x9) 2 + h 2q(x9) matriz tridiagonal Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 111 / 116 ~b = −h2r(x1) + ( 1 + h2p(x1) ) α −h2r(x2) −h2r(x3) −h2r(x4) −h2r(x5) −h2r(x6) −h2r(x7) −h2r(x8) −h2r(x9) + ( 1− h2p(x9) ) β Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 112 / 116 ~w = w1 w2 w3 w4 w5 w6 w7 w8 w9 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 113 / 116 Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 114 / 116 Resumindo o cálculo numérico. Temos um problema que não tem solução anaĺıtica. Então em vez de obter a solução exata obtemos valores aproximados através de métodos numéricos. Os métodos tem estimativas dos erros das aproximações. Isso é necessário para se ter uma estimativa da qualidade da aproximação. Os métodos numéricos são apropriados para serem usados em códigos computacionais. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 115 / 116 Além de cálculo numérico . Para quem desejar continuar estudando cálculo numérico: Disiciplinas eletivas: 1 Métodos Numéricos 2 Análise Numérica de Equações Diferenciais Ordinárias 3 Análise Numérica de Equações Diferenciais Parciais I 4 Análise Numérica de Equações Diferenciais Parciais II Iniciação cient́ıfica com professores do DCC da área de análise numérica. Mestrado e Doutorado no PPGI. Livro do Burden. Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 116 / 116
Compartilhar