A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Prof. Guilherme Jahnecke Weymar AULA EQUAÇÕES DIFERENCIAIS ORDINÁRIAS

Apresentações semelhantes


Apresentação em tema: "Prof. Guilherme Jahnecke Weymar AULA EQUAÇÕES DIFERENCIAIS ORDINÁRIAS"— Transcrição da apresentação:

1 Prof. Guilherme Jahnecke Weymar AULA EQUAÇÕES DIFERENCIAIS ORDINÁRIAS
Cálculo Numérico Prof. Guilherme Jahnecke Weymar AULA EQUAÇÕES DIFERENCIAIS ORDINÁRIAS Fonte: Burden e Faires, Chapra e Canale, Quadros, diversos internet

2 Equações Diferenciais Ordinárias:
Métodos de passo simples: - Euler; - Runge-Kutta 2; - Runge-Kutta 4; Métodos de passo simples: - Euler; - Runge-Kutta 2; - Runge-Kutta 4;

3 Métodos de Runge-Kutta:
Resolver equações diferenciais ordinárias da forma:   𝑑𝑦 𝑑𝑥 =𝑓 𝑥,𝑦 Os métodos numéricos para resolver este tipo de equação, em termos matemáticos baseia-se na seguinte fórmula:   y i+1 = y i +𝜙( 𝑥 𝑖 , 𝑦 𝑖 ,ℎ)ℎ 𝜙( 𝑥 𝑖 , 𝑦 𝑖 ,ℎ) é a função incremento. A função incremento pode ser escrita na forma geral: 𝜙 𝑥 𝑖 , 𝑦 𝑖 ,ℎ = 𝑎 1 𝑘 1 + 𝑎 2 𝑘 2 + 𝑎 3 𝑘 3 +…+ 𝑎 𝑛 𝑘 𝑛 Em que 𝑎 𝑛 ’s são constantes e os 𝑘 𝑛 ’s são: 𝑘 1 =𝑓 𝑥 𝑖 , 𝑦 𝑖 𝑘 2 =𝑓( 𝑥 𝑖 + 𝑝 1 ℎ, 𝑦 𝑖 + 𝑞 11 𝑘 1 ℎ) 𝑘 3 =𝑓( 𝑥 𝑖 + 𝑝 2 ℎ, 𝑦 𝑖 + 𝑞 21 𝑘 1 ℎ+ 𝑞 22 𝑘 2 ℎ) 𝑘 𝑛 =𝑓( 𝑥 𝑖 + 𝑝 𝑛−1 ℎ, 𝑦 𝑖 + 𝑞 𝑛−1,1 𝑘 1 ℎ+ 𝑞 𝑛−1,2 𝑘 2 ℎ+…+𝑞 𝑛−1,𝑛−1 𝑘 𝑛−1 ℎ) 𝑝 𝑛 ’s e 𝑞 𝑛 ’s são constantes. Os 𝑘 𝑛 ’s são relações recursivas.

4 Método de Runge-Kutta 2 Os métodos de expansão por séries apresentam uma boa característica: o erro de truncamento global é O(hN) e N pode ser escolhido tão grande tal que o erro seja pequeno. Cada método de Runge-Kutta é derivado de um método de Taylor apropriado de tal maneira que o erro de truncamento global seja O(hN); para eliminar o cálculo das derivadas faz-se várias avaliações da função f a cada passo. Estes métodos podem ser construídos para qualquer ordem N. O método de Runge-Kutta de segunda ordem é definido pelas equações: y i+1 = y i + 𝑎 1 𝑘 1 + 𝑎 2 𝑘 2 ℎ Em que: 𝑘 1 =𝑓 𝑥 𝑖 , 𝑦 𝑖 𝑘 2 =𝑓( 𝑥 𝑖 + 𝑝 1 ℎ, 𝑦 𝑖 + 𝑞 11 𝑘 1 ℎ) Dedução ...

5 y i+1 = y i +𝑓 𝑥 𝑖 , 𝑦 𝑖 ℎ+ 𝑓 ′ 𝑥 𝑖 , 𝑦 𝑖 2! ℎ 2 (1)
Método de Runge-Kutta 2 Os valores de 𝑎 1 , 𝑎 2 , 𝑝 1 𝑒 𝑞 11 são obtidos igualando-se a equação y i+1 = y i + 𝑎 1 𝑘 1 + 𝑎 2 𝑘 2 ℎ à Expansão em série de Taylor até os termos de 2ª grau. Obtemos as seguintes equações: y i+1 = y i +𝑓 𝑥 𝑖 , 𝑦 𝑖 ℎ+ 𝑓 ′ 𝑥 𝑖 , 𝑦 𝑖 2! ℎ 2 (1) Dedução: Onde 𝑓 ′ 𝑥 𝑖 , 𝑦 𝑖 = 𝜕𝑓 𝑥 𝑖 , 𝑦 𝑖 𝜕𝑥 + 𝜕𝑓 𝑥 𝑖 , 𝑦 𝑖 𝜕𝑦 𝑑𝑦 𝑑𝑥 (2) Substituindo a eq. (2) na eq. (1), obtemos: y i+1 = y i +𝑓 𝑥 𝑖 , 𝑦 𝑖 ℎ+ ℎ 2 2! 𝜕𝑓 𝑥 𝑖 , 𝑦 𝑖 𝜕𝑥 + 𝜕𝑓 𝑥 𝑖 , 𝑦 𝑖 𝜕𝑦 𝑑𝑦 𝑑𝑥 (3) Manipulações algébricas com a eq. (3) para determinar 𝑎 1 , 𝑎 2 , 𝑝 1 𝑒 𝑞 11 . Para fazer isso, primeiro usamos a série de Taylor para expandir a equação: 𝑘 2 =𝑓( 𝑥 𝑖 + 𝑝 1 ℎ, 𝑦 𝑖 + 𝑞 11 𝑘 1 ℎ)

6 Método de Runge-Kutta 2 y i+1 = y i + 𝑎 1 𝑘 1 + 𝑎 2 𝑘 2 ℎ:
A série de Taylor para uma função de duas variáveis é definida por: 𝑔 𝑥+𝑟,𝑦+𝑠 =𝑔 𝑥,𝑦 +𝑟 𝜕𝑔 𝜕𝑥 +𝑠 𝜕𝑔 𝜕𝑦 +… 𝑘 2 =𝑓 𝑥 𝑖 + 𝑝 1 ℎ, 𝑦 𝑖 + 𝑞 11 𝑘 1 ℎ =𝑓 𝑥 𝑖 , 𝑦 𝑖 + p 1 h 𝜕𝑓 𝜕𝑥 + q 11 k 1 h 𝜕𝑓 𝜕𝑦 +𝑂( ℎ 2 ) (4) Substituindo eq. (4) e 𝑘 1 =𝑓 𝑥 𝑖 , 𝑦 𝑖 na eq y i+1 = y i + 𝑎 1 𝑘 1 + 𝑎 2 𝑘 2 ℎ: Obtemos: y i+1 = y i + 𝑎 1 ℎ𝑓 𝑥 𝑖 , 𝑦 𝑖 + 𝑎 2 ℎ𝑓 𝑥 𝑖 , 𝑦 𝑖 + 𝑎 2 𝑝 1 ℎ 2 𝜕𝑓 𝜕𝑥 + 𝑎 2 𝑞 11 ℎ 2 𝑓 𝑥 𝑖 , 𝑦 𝑖 𝜕𝑓 𝜕𝑦 +𝑂( ℎ 3 ) Reagrupando os termos: y i+1 = y i + [𝑎 1 𝑓 𝑥 𝑖 , 𝑦 𝑖 + 𝑎 2 𝑓 𝑥 𝑖 , 𝑦 𝑖 ]ℎ+ 𝑎 2 𝑝 1 𝜕𝑓 𝜕𝑥 + 𝑎 2 𝑞 11 𝑓 𝑥 𝑖 , 𝑦 𝑖 𝜕𝑓 𝜕𝑦 𝑎 2 𝑝 1 𝜕𝑓 𝜕𝑥 + 𝑎 2 𝑞 11 𝑓 𝑥 𝑖 , 𝑦 𝑖 𝜕𝑓 𝜕𝑦 ℎ 2 +𝑂( ℎ 3 ) (5) Comparando a eq. (5) com a eq. (3), segue:

7 Método de Runge-Kutta 2 𝑎 1 + 𝑎 2 =1 𝑎 2 𝑝 1 = 1 2 𝑎 2 𝑞 11 = 1 2 Devemos escolher um valor para uma das constantes. Por exemplo para 𝑎 2 = 1 2 (Um número infinito de M. R.K.). Se 𝑎 2 = 1 2 , segue que: 𝑎 1 = 1 2 , 𝑝 1 = 𝑞 11 =1 Fornece: y i+1 = y i + 𝑘 1 + 𝑘 2 ℎ 2 Em que: 𝑘 1 =𝑓 𝑥 𝑖 , 𝑦 𝑖 𝑘 2 =𝑓( 𝑥 𝑖 +1ℎ, 𝑦 𝑖 + 𝑘 1 ℎ)

8 Método de Runge-Kutta 2 Algoritmo em FORTRAN 90:
Método de Runge-Kutta Exemplo da aula ! **************************************************** ! ****** Método de Runge-Kutta de 2ª Ordem ****** ! ****** Resolve PVI de 1ª Ordem ****** ! *** Parâmetros de entrada: *** ! ni : Número de partições; ! h : espaçamento; ! a : limite inferior do intervalo; ! b : limite superior do intervalo; ! *** Parâmetros de saída: *** ! x: valor das abscissas; ! y: valor da ordenadas.

9 Método de Runge-Kutta 2 program Rk2 parameter (ni = 10, a = 0, b = 1)
real, dimension(ni+1) :: y, x, k1, k2 open(3, file ='rk2.dat', status ='unknown') h = (b-a) / ni x(0) = a y(0) = 1. do i = 1,ni+1 k1(i) = h*f(x(i-1), y(i-1)) k2(i) = h*f(x(i-1) + h, y(i-1) + h*k1(i)) y(i) = y(i-1) + (k1(i) + k2(i)) / 2. x(i) = a+i*h enddo write(3,20)x(i-1), y(i-1), k1(i), k2(i), f(x(i-1), y(i-1)) write(*,20)x(i-1), y(i-1), k1(i), k2(i), f(x(i-1),y(i-1)) 20 format(4e16.7) end program Real Function f (x,y) f = -x*y end

10 Método de Runge-Kutta 4 O método de Runge-Kutta de ordem N = 4 é o mais popular. Ele é, em geral, uma boa escolha pois é bastante preciso, estável e fácil de programar. Sua forma é a seguinte: yn+1 = yn + (k1 + 2 k2 + 2 k3 + k4 ) ( 4 ) onde k1 = f (xn, yn) k2 = f (xn+ h/2 ,yn + hk1/2) k3 = f (xn+ h/2, yn + hk2/2 ) k4 = f (xn + h, yn + hk3 ) A demonstração desta fórmula segue o mesmo procedimento indicado para o método de ordem 2, porém é muito mais trabalhosa. Exemplo ...

11 Método de Runge-Kutta 4 Fonte: Livro Burden e Faires, Análise Numérica Pg. 242

12 Características dos Métodos de Passo Simples
O método de Euler não é muito usado em problemas aplicadospráticos em virtude da necessidade de intervalos pequenos para obter a precisão desejada. Os métodos de Runge-Kutta são de maior exatidão que o de Euler. Todos os métodos de passo simples são auto-inicializáveis; em particular os métodos de Runge-Kutta: não precisam do cálculo de derivadas de ordem elevada; permitem troca fácil do tamanho do intervalo; são difíceis de avaliar o erro de truncamento; são fáceis de vetorizar e paralelizar.

13 Exercícios 1. Para o PVI 5xy' + y2 - 2 = 0 y(4) = 1
1. Para o PVI 5xy' + y2 - 2 = 0 y(4) = 1 Calcular usando o método de Euler, y(x) em [4;4,5] com h = 0,1. Calcular o PVI anterior usando o método de Runge kutta segunda ordem, y(x) em [4;4,5] com h = 0,1. Compare as soluções. Obter a solução de - y' = 0 y(1) = 1 com h = 0,2 em [1;2]. Aproxime y(x) com precisão 4.

14 Exercícios Considere que um paraquedista esteja à velocidade de 70m/s quando se abre o pára-quedas. Supondo a resistência do ar proporcional à Newtons , sendo P o peso total, achar a velocidade do paraquedista após 20s da abertura do pára-quedas sabendo que v(0) = 70


Carregar ppt "Prof. Guilherme Jahnecke Weymar AULA EQUAÇÕES DIFERENCIAIS ORDINÁRIAS"

Apresentações semelhantes


Anúncios Google