Cálculo Numérico Prof. Guilherme Jahnecke Weymar AULA EQUAÇÕES DIFERENCIAIS ORDINÁRIAS Fonte: Burden e Faires, Chapra e Canale, Quadros, diversos internet.
Post on 07-Apr-2016
226 Views
Preview:
Transcript
Cálculo Numérico
Prof. Guilherme Jahnecke Weymar
AULA EQUAÇÕES DIFERENCIAIS
ORDINÁRIAS
Fonte:
Burden e Faires, Chapra e Canale, Quadros,
diversos internet 1
Equações Diferenciais Ordinárias:
2
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:
é a função incremento. A função incremento pode ser escrita na forma geral:
Em que ’s são constantes e os ’s são:
’s e ’s são constantes. Os ’s são relações recursivas.
4
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:
Em que:
Método de Runge-Kutta 2
Dedução ...
5
Os valores de são obtidos igualando-se a equação à Expansão em série de Taylor até os termos de 2ª grau. Obtemos as seguintes equações:
(1)
Método de Runge-Kutta 2Dedução:
Onde (2)Substituindo a eq. (2) na eq. (1), obtemos:
(3)Manipulações algébricas com a eq. (3) para determinar .Para fazer isso, primeiro usamos a série de Taylor para expandir a equação:
6
A série de Taylor para uma função de duas variáveis é definida por:
(4)Substituindo eq. (4) e na eq
:
Obtemos:
Método de Runge-Kutta 2
Reagrupando os termos:(5)
Comparando a eq. (5) com a eq. (3), segue:
7
Devemos escolher um valor para uma das constantes. Por exemplo para (Um número infinito de M. R.K.).
Método de Runge-Kutta 2
Se , segue que: ,
Fornece:
Em que:
8
Método de Runge-Kutta 2
Algoritmo em FORTRAN 90:
Método de Runge-Kutta 2 - 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
program Rk2parameter (ni = 10, a = 0, b = 1)real, dimension(ni+1) :: y, x, k1, k2open(3, file ='rk2.dat', status ='unknown')h = (b-a) / nix(0) = ay(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*henddodo i = 1,ni+1 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))enddo20 format(4e16.7)end program Real Function f (x,y) f = -x*yend
Método de Runge-Kutta 2
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 ...
6h
11
Método de Runge-Kutta 4Fonte: 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 Calcular usando o método de Euler, y(x) em [4;4,5] com h = 0,1.
2. 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.
3. Obter a solução de - y' = 0
y(1) = 1 com h = 0,2 em [1;2]. Aproxime y(x) com precisão 4.
yx
14
Exercícios
4. 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
40Pv2
40PvP
dtdv
gP 2
top related