Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIVERSIDADE FEDERAL DA GRANDE DOURADOS FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA Profª.: Dra. Selma Helena Marchiori Hashimoto Resolução Numérica de Equações Diferenciais Ordinárias Muitos fenômenos nas áreas das ciências, engenharias, economia, etc., são modelados por equações diferenciais. Exemplo: Suponha que se quer determinar a posição de um corpo em movimento, e que apenas se conhece a sua velocidade ou a sua aceleração. No fundo, deseja-se determinar uma função desconhecida, utilizando certos dados relacionados por uma equação que contém, pelo menos, uma das derivadas dessa função. Estas equações chamam-se equações às derivadas ou equações diferenciais. Descrevendo o movimento da mola pela função 𝑥(𝑡), e sabendo que, pela lei de Hooke: 𝐹 = −𝑘𝑥 e pela lei de Newton: 𝐹 = 𝑚𝑎, tem-se: 𝑚𝑎 = −𝑘𝑥 𝑚 𝑑2𝑥 𝑑𝑡2 = −𝑘𝑥 Assim, uma equação diferencial é uma equação que envolve uma função desconhecida (incógnita) e suas derivadas. Definição: Seja 𝑦 uma função de 𝑥 e n um número inteiro positivo, então uma relação de igualdade que envolva x, y, 𝑦′, 𝑦′′, ..., 𝑦(𝑛) é chamada uma equação diferencial ordinária (EDO). Exemplo: 𝑒𝑦 𝑑2𝑦 𝑑𝑥2 + 2 ( 𝑑𝑦 𝑑𝑥 ) 2 = 1 Se a função desconhecida depende de mais do que uma variável, as derivadas que aparecem na equação diferencial são derivadas parciais, e a equação chama-se equação diferencial parcial (EDP). Exemplo: 𝑑2𝑦 𝑑𝑡2 − 4 ( 𝑑2𝑦 𝑑𝑥2 ) 2 = 0 A ordem de uma equação diferencial é a ordem da derivada mais elevada da função incógnita presente na equação. Exemplos: Uma solução de uma equação diferencial na função incógnita y e na variável independente x é uma função 𝑦(𝑥) que verifica a equação para todo o x. Voltando no exemplo do movimento da mola, tem-se: 𝑚 𝑑2𝑥 𝑑𝑡2 = −𝑘𝑥 Que equivale à: 𝑑2𝑥 𝑑𝑡2 = − 𝑘 𝑚 𝑥 ou 𝑥′′ = − 𝑘 𝑚 𝑥 São soluções desta EDO: 𝑥(𝑡) = 𝑠𝑒𝑛 (√ 𝑘 𝑚 𝑡) e 𝑥(𝑡) = 𝑐𝑜𝑠 (√ 𝑘 𝑚 𝑡) Que possui a seguinte solução geral: 𝑥(𝑡) = 𝑐1𝑠𝑒𝑛 (√ 𝑘 𝑚 𝑡) + 𝑐2𝑐𝑜𝑠 (√ 𝑘 𝑚 𝑡) Um problema de valor inicial (PVI) consiste numa equação diferencial, juntamente com condições relativas à função incógnita e suas derivadas, dadas para o mesmo valor da variável independente. Exemplo: PVI de 2ª ordem: { 𝑥′′ = −4𝑥 𝑥(0) = 0 𝑥′(0) = 2 Uma solução de um PVI é uma função 𝑦 = 𝑓(𝑥) que satisfaz a equação diferencial e todas as condições relativas à função incógnita. Definição do problema (problema de valor inicial (PVI) de 1ª ordem): determinar a função 𝑦 = 𝑦(𝑥) que satisfaz simultaneamente a equação diferencial (1ª ordem) e a condição inicial: { 𝑦′ = 𝑓(𝑥, 𝑦(𝑥)), 𝑥 ∈ [𝑎, 𝑏] 𝑦(𝑥0) = 𝑦0 𝑥0 ∈ [𝑎, 𝑏] Existência e unicidade de solução Teorema: Seja 𝑓(𝑥, 𝑦(𝑥)) definida e contínua em 𝐷 = {(𝑥, 𝑦): 𝑎 ≤ 𝑥 ≤ 𝑏, 𝑦 ∈ ℝ } com a e b finitos. Seja 𝑦′ = 𝑓(𝑥, 𝑦(𝑥)) contínua e limitada em D. Então ∀𝑥0 ∈ [𝑎, 𝑏] e 𝑦0 ∈ ℝ , o problema { 𝑦′ = 𝑓(𝑥, 𝑦(𝑥)), 𝑥 ∈ [𝑎, 𝑏] 𝑦(𝑥0) = 𝑦0 𝑥0 ∈ [𝑎, 𝑏] tem solução única continuamente diferenciável para 𝑥 ∈ [𝑎, 𝑏]. Tal como acontece com o cálculo da integral de uma função, os métodos analíticos para a resolução de equações diferenciais aplicam-se apenas a certos tipos de problemas. Por isso recorre-se com frequência ao uso de métodos numéricos para obter a solução de uma equação diferencial sujeita a uma dada condição. Estudaremos métodos, chamados métodos de variável discreta, para resolver problemas de valor inicial. Estes métodos determinam aproximações para a solução 𝑦(𝑥) num conjunto discreto de pontos x0, x1, x2, ..., da variável independente. Isto é, a solução aproximada obtida é apresentada por uma tabela de valores (xn, yn), n = 1, 2, ... em que: 𝑦𝑛 ≅ 𝑦(𝑥𝑛) Para obter a solução 𝑦(𝑥) em pontos 𝑥 ∈ [𝑎, 𝑏] diferentes de xn (n = 0, 1, ...) pode se usar interpolação. Vamos considerar apenas o caso em que o passo h é constante, tendo-se 𝑥𝑛+1 = 𝑥𝑛 + ℎ = 𝑥0 + (𝑛 + 1)ℎ, 𝑛 = 0, 1, … Além disso, Apresentaremos apenas métodos da classe de métodos de passo único, isto é, o valor de yn+1 pode ser calculado se apenas yn é conhecido. Suponhamos que o PVI satisfaz as condições de existência e unicidade de solução, pode-se tentar encontrar uma solução numérica para o problema. Para isso, considera-se m subintervalos de [𝑎, 𝑏], (𝑚 ≥ 1), e seja 𝑥𝑗 = 𝑥0 + 𝑗ℎ Em que ℎ = (𝑏−𝑎) 𝑚 , 𝑗 = 0, . . . , 𝑚 e 𝑥𝑗 ∈ [𝑎, 𝑏] Ao conjunto 𝐼ℎ = {𝑥0, 𝑥1, . . . , 𝑥𝑚} obtido da forma anterior chama-se rede ou malha de [𝑎, 𝑏]. O objetivo dos métodos numéricos é o cálculo das aproximações 𝑦1, 𝑦2, . . . , 𝑦𝑚 para as soluções exatas 𝑦(𝑥1), 𝑦(𝑥2), . . . , 𝑦(𝑥𝑚) A seguir, tem-se alguns métodos numéricos para a resolução de EDO’s. Método de Euler O método de Euler é um método de passo único e o mais simples de todos os métodos numéricos para problemas de valor inicial. No cálculo diferencial e integral II vimos a série de Taylor para f(x), em um real c 0. Ou seja, se f admite uma representação em série de potências f (x) = 0 )( n n n cxa com raio de convergência 𝑟 > 0, então existe f (n) (c) para todo inteiro positivo n e an = ! )()( n cf n . Assim, f(x) = f(c) + ))(( cxcf + 2)( 2 )( cx cf + 3)( 2.3 )( cx cf + ... + n n cx n cf )( ! )()( + ... = = 0 )( )( ! )( n n n cx n cf O método de Euler irá encontrar uma aproximação para a função solução do PVI: { 𝑦′ = 𝑓(𝑥, 𝑦(𝑥)), 𝑥 ∈ [𝑎, 𝑏] 𝑦(𝑥0) = 𝑦0 𝑥0 = 𝑎 em vários valores de 𝑥 ∈ [𝑎, 𝑏] (pontos da malha). Suponha que a solução 𝑦(𝑥) tenha segunda derivada contínua em [𝑎, 𝑏], então, para cada 𝑖 = 0, 1, … , 𝑛 − 1, então, pela fórmula de Taylor, tem-se y(xi+1) = f(xi) + ))((' 1 iii xxxy + 2 1 )( 2 )('' ii xx y em que 𝜉 ∈ (𝑥𝑖, 𝑥𝑖+1). Logo y(xi+1) = f(xi) + hxy i )(' + 2 2 )('' h y Se h é “pequeno” o termo 2 2 )('' h y escrever y(xi+1) = f(xi) + hxyxf ii ))(,(' O método de Euler consiste, então, em calcular recursivamente a sucessão {yj} através das fórmulas: { 𝑦(𝑥0) = 𝑦0 𝑦𝑖+1 = 𝑦𝑖 + ℎ. 𝑓(𝑥𝑖 , 𝑦𝑖) Exemplo 1: Resolva o seguinte PVI de 1 a ordem usando o método de Euler, com 𝑛 = 4. { 𝑑𝑦 𝑑𝑥 = 𝑦 − 𝑥2 + 1, 𝑥 ∈ [0, 2] 𝑦(0) = 0,5 𝑛 = 4 𝑛 = 10 Método da Série de Taylor de ordem q Este método é muito parecido com o método de Euler, a principal diferença está no truncamento da série de Taylor, aqui faz-se o truncamento no termo de ordem q da derivada: y(xi+1) = f(xi) + hxyxf ii ))(,(' + !2 )).('),(,('' 2hxyxyxf iii +... + ! )).(),...,(,( )1()( q hxyxyxf qi q ii q Exemplo 2: Resolva o seguinte PVI de 1 a ordem usando o método de Taylor de ordem 4, com 𝑛 = 5. { 𝑑𝑦 𝑑𝑥 = 𝑥 + 𝑦, 𝑥 ∈ [0, 2] 𝑦(0) = 1 Da disciplina de Cálculo Diferencial e Integral II, tem-se que a soluçãoanalítica é: 𝑦 = 𝑓(𝑥) = 2𝑒𝑥– 𝑥– 1 Vamos ignorar esse fato e resolver a equação diferencial numericamente, usando o desenvolvimento em Série de Taylor até a ordem 4. Temos: 𝑦(𝑥) é a função incógnita; 𝑦′(𝑥) é conhecida, por ser a própria equação dada: 𝑦′ = 𝑑𝑦 𝑑𝑥 = 𝑥 + 𝑦; 𝑦′′(𝑥) = 𝑑 𝑑𝑥 𝑦′(𝑥) = 𝑑 𝑑𝑥 (𝑥 + 𝑦) = 1 + 𝑑𝑦 𝑑𝑥 = 1 + 𝑥 + 𝑦; 𝑦′′′(𝑥) = 𝑑 𝑑𝑥 𝑦′′(𝑥) = 𝑑 𝑑𝑥 (1 + 𝑥 + 𝑦) = 1 + 𝑑𝑦 𝑑𝑥 = 1 + 𝑥 + 𝑦 = 𝑦′′; 𝑦(4)(𝑥) = 𝑑 𝑑𝑥 𝑦′′′(𝑥) = 𝑦′′; … Assim, temos: y(xi+1) = y(xi) + hxy i ).(' + !2 ).('' 2hxy i + !3 ).(''' 3hxy i + !4 ).( 4)4( hxy i y(xi+1) = y(xi) + hyx ii ).( + !2 ).1( 2hyx ii + !3 ).1( 3hyx ii + !4 ).1( 4hyx ii Como 𝑛 = 5, então ℎ = 0,4 e: xi yi 𝑓(𝑥) = 2𝑒𝑥– 𝑥– 1 |𝑒𝑟𝑟𝑜| 0 1 1 0 0,4 1,5835 1,5836 0,0001 0,8 2,6506 2,6511 0,0005 1,2 4,4391 4,4402 0,0011 1,6 2,0 Nesse caso a solução foi simples pois, a partir da segunda derivada, 𝑦(𝑖+1)(𝑥) = 𝑦(𝑖)(𝑥) Num caso mais geral, isso não acontece. Tomemos um caso geral: 𝑑𝑦 𝑑𝑥 = 𝑓(𝑥, 𝑦), com condição inicial (x0, y0). Então: y(xi+1) = y(xi) + hxy i ).(' + !2 ).('' 2hxy i + !3 ).(''' 3hxy i + !4 ).( 4)4( hxy i + ... Temos 𝑦′ = 𝑑𝑦 𝑑𝑥 = 𝑓(𝑥, 𝑦) Para achar a segunda derivada de y, é preciso derivar 𝑓(𝑥, 𝑦) em relação a x. Porém, trata-se de uma derivação de função implícita, pois 𝑦 é função de 𝑥, logo 𝑦′′ = 𝑑𝑦′ 𝑑𝑥 = 𝜕𝑓 𝜕𝑥 + 𝜕𝑓 𝜕𝑦 𝑑𝑦 𝑑𝑥 = 𝑓𝑥 + 𝑓𝑦 . 𝑓 Em que fx é a derivada parcial de f em relação a x e fy é a derivada parcial de f em relação a y. Para calcular a terceira derivada, é preciso derivar, em relação a x, 𝑦′′: 𝑦′′′ = 𝑑𝑦′′ 𝑑𝑥 = 𝑑 𝑑𝑥 (𝑓𝑥 + 𝑓𝑦 . 𝑓) = 𝑓𝑥𝑥 + 𝑓𝑥𝑦. 𝑓 + (𝑓𝑦𝑥 + 𝑓𝑦𝑦 . 𝑓). 𝑓 + 𝑓𝑦(𝑓𝑥 + 𝑓𝑦. 𝑓) Imaginemos o cálculo da quarta derivada!!! Dessa forma, vê-se que a dificuldade de se aplicar o desenvolvimento em Taylor, para resolver equações diferenciais, passa pela dificuldade em calcular as derivadas de ordem superior. O Método de Runge-Kutta de segunda ordem, ou Euler Melhorado, leva em conta a variação da primeira derivada e, com isso, melhora a previsão que faz dos valores da função 𝑦(𝑥). Métodos de Runge-Kutta A ideia básica destes métodos é aproveitar as qualidades dos métodos de série de Taylor (ordem elevada) e ao mesmo tempo eliminar sua maior dificuldade que é o cálculo de derivadas de f(x,y) que torna os métodos de série de Taylor computacionalmente inaceitáveis. Teorema de Taylor em duas variáveis: Suponha 𝑓(𝑥, 𝑦) e suas derivadas parciais contínuas em 𝐷 = [𝑎, 𝑏] × [𝑐, 𝑑] e (𝑥0, 𝑦0) ∈ 𝐷, então 𝑓(𝑥, 𝑦) = 𝑓(𝑥0, 𝑦0) + [(𝑥 − 𝑥0) 𝜕𝑓 𝜕𝑥 (𝑥0, 𝑦0) + (𝑦 − 𝑦0) 𝜕𝑓 𝜕𝑦 (𝑥0, 𝑦0)] + 1 2! [(𝑥 − 𝑥0) 2 𝜕2𝑓 𝜕𝑥2 (𝑥0, 𝑦0) + 2(𝑥 − 𝑥0)(𝑦 − 𝑦0) 𝜕2𝑓 𝜕𝑥𝜕𝑦 (𝑥0, 𝑦0) + (𝑦 − 𝑦0) 2 𝜕2𝑓 𝜕𝑦2 ] + ⋯ + 1 𝑛! ∑ ( 𝑛 𝑖 ) 𝑛 𝑖=1 (𝑥 − 𝑥0) 𝑛−𝑖(𝑦 − 𝑦0) 𝑖 𝜕𝑛𝑓 𝜕𝑥𝑛−𝑖𝜕𝑦𝑖 (𝑥0, 𝑦0) + 𝑅(𝑥, 𝑦) Para algum ξ entre x e 𝑥0 e μ entre y e 𝑦0: 𝑅(𝑥, 𝑦) = 1 (𝑛 + 1)! ∑ ( 𝑛 + 1 𝑖 ) 𝑛+1 𝑖=1 (𝑥 − 𝑥0) 𝑛+1−𝑖(𝑦 − 𝑦0) 𝑖 𝜕𝑛+1𝑓 𝜕𝑥𝑛+1−𝑖𝜕𝑦𝑖 (𝜉, 𝜇) Métodos de Runge-Kutta de 2 a Ordem 1. Método de Euler Modificado Queremos resolver o P.V.I: { 𝑦′ = 𝑓(𝑥, 𝑦(𝑥)), 𝑥 ∈ [𝑎, 𝑏] 𝑦(𝑥0) = 𝑦0 𝑥0 = 𝑎 Sejam 𝑦(𝑥) sua solução e xi+1 = xi+h os pontos da malha, temos: y(xi+1) = y(xi) + hxy i ).(' + !2 ).('' 2hxy i + Ri+1 = y(xi) + h.f(xi,y(xi)) + ))(,( 2 2 ii xyx dx dfh + Ri+1 Logo: y(xi+1) ≈ y(xi) + h.f(xi,y(xi)) + ))(,( 2 2 ii xyx dx dfh = yi + h.f(xi,yi) + ),().,(),( 2 2 iiiiyiix yxfyxfyxf h = yi + 2 h .f(xi,yi) + 2 h f(xi,yi) + ),().,(),( 2 2 iiiiyiix yxfyxfyxf h = yi + 2 h .f(xi,yi) + ),().,(.),(.),( 2 iiiiyiixii yxfyxfhyxfhyxf h ≈ yi + 2 h .f(xi,yi) + )),(.,( 2 iiii yxfhyhxf h = yi + 2 h .f(xi,yi) + )),(.,( 2 1 iiii yxfhyxf h Assim, o método de Euler Modificado, é um método de Runge-Kutta de ordem 2 que calcula valores aproximados para 𝑦(𝑥𝑖), para i = 1, ...., n – 1 , através das fórmulas: { 𝑦(𝑥0) = 𝑦0 𝑦𝑖+1 = 𝑦𝑖 + ℎ 2 . [𝑓(𝑥𝑖, 𝑦𝑖) + 𝑓(𝑥𝑖+1, 𝑦𝑖 + ℎ. 𝑓(𝑥𝑖, 𝑦𝑖))] 2. Método do Ponto Médio Queremos resolver o P.V.I: { 𝑦′ = 𝑓(𝑥, 𝑦(𝑥)), 𝑥 ∈ [𝑎, 𝑏] 𝑦(𝑥0) = 𝑦0 𝑥0 = 𝑎 Sejam 𝑦(𝑥) sua solução e xi+1 = xi+h os pontos da malha, temos: y(xi+1) = y(xi) + hxy i ).(' + !2 ).('' 2hxy i + Ri+1 = y(xi) + h.f(xi,y(xi)) + ))(,( 2 2 ii xyx dx dfh + Ri+1 Logo: y(xi+1) ≈ y(xi) + h.f(xi,y(xi)) + ))(,( 2 2 ii xyx dx dfh = yi + h.f(xi,yi) + ),().,(),( 2 2 iiiiyiix yxfyxfyxf h = yi + h.f(xi,yi) + ),().,( 2 ),( 2 iiiiyiix yxfyxf h yxf h h = yi + ),().,( 2 ),( 2 ),( iiiiyiixii yxfyxf h yxf h yxfh ≈ yi + ),(. 2 , 2 iiii yxf h y h xfh Assim, o método do Ponto Médio, é um método de Runge-Kutta de ordem 2 que calcula valores aproximados para 𝑦(𝑥𝑖), para i = 1, ...., n – 1 , através das fórmulas: { 𝑦(𝑥0) = 𝑦0 𝑦𝑖+1 = 𝑦𝑖 + ℎ. 𝑓 (𝑥𝑖 + ℎ 2 , 𝑦𝑖 + ℎ 2 . 𝑓(𝑥𝑖, 𝑦𝑖)) Exemplo: Resolva o seguinte PVI de 1 a ordem usando o método de Euler Modificado e o Método do Ponto Médio, com 𝑛 = 10. { 𝑑𝑦 𝑑𝑥 = 𝑦 − 𝑥2 + 1, 𝑥 ∈ [0, 2] 𝑦(0) = 0,5 Exercícios 1. Resolver a Equação Diferencial abaixo pelos métodos que você conhece, com h = 0,1. Solucione para 2 passos de integração. 2' tyy 1)2( y 2. Seja o seguinte problema de valor inicial sobre o intervalo 0x a 75,0x . yyx dx dy 2 1)0( y Resolva utilizando os métodos que você conhece com passo de 0,25. 3. A solução analítica do exercício anterior é xxe 3 3 . Faça uma análise crítica dos resultados obtidos anteriormente comparando com os valores reais. 4. Seja a equação diferencial: yte dt dy t 23 0)0( y Determine o valor de )1,0(y com 05,0h pelos métodos: a) Euler; b) Euler modificado; c) Ponto médio.
Compartilhar