introdução problemas de contorno - fisica.ufpb.brarosas/fisicacomputacional/aula06... ·...
TRANSCRIPT
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Equações diferenciais ordinárias
Alexandre Rosas
Departamento de FísicaUniversidade Federal da Paraíba
24 de Junho de 2009
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Motivação
Problemas envolvendo equações diferenciais são muitocomuns em físicaExceto pelos mais simples, que podemos resolveranaliticamente, temos que recorrer a métodos numéricosDe forma geral, não existe um "melhor método"A compreensão dos diferentes métodos, seus pontosfortes e suas deficiências é fundamental parapodermos ter confiança nos resultados
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Motivação
Problemas envolvendo equações diferenciais são muitocomuns em físicaExceto pelos mais simples, que podemos resolveranaliticamente, temos que recorrer a métodos numéricosDe forma geral, não existe um "melhor método"A compreensão dos diferentes métodos, seus pontosfortes e suas deficiências é fundamental parapodermos ter confiança nos resultados
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Motivação
Problemas envolvendo equações diferenciais são muitocomuns em físicaExceto pelos mais simples, que podemos resolveranaliticamente, temos que recorrer a métodos numéricosDe forma geral, não existe um "melhor método"A compreensão dos diferentes métodos, seus pontosfortes e suas deficiências é fundamental parapodermos ter confiança nos resultados
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Motivação
Problemas envolvendo equações diferenciais são muitocomuns em físicaExceto pelos mais simples, que podemos resolveranaliticamente, temos que recorrer a métodos numéricosDe forma geral, não existe um "melhor método"A compreensão dos diferentes métodos, seus pontosfortes e suas deficiências é fundamental parapodermos ter confiança nos resultados
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
O problema
Resolver uma equação do tipo
d2ydx2 + q(x)
dydx
= r(x)
Sempre podemos reescrever equações diferenciais deordem superior como um conjunto de equaçõesdiferenciais de primeira ordem
dydx
= z(x)
dzdx
= r(x)− q(x)z(x)
Portanto, o problema passa a ser estudar um conjunto deN equações diferenciais ordinárias de primeira ordem
dyi
dx= fi(x , y1, y2, . . . , yN)
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
O problema
Resolver uma equação do tipo
d2ydx2 + q(x)
dydx
= r(x)
Sempre podemos reescrever equações diferenciais deordem superior como um conjunto de equaçõesdiferenciais de primeira ordem
dydx
= z(x)
dzdx
= r(x)− q(x)z(x)
Portanto, o problema passa a ser estudar um conjunto deN equações diferenciais ordinárias de primeira ordem
dyi
dx= fi(x , y1, y2, . . . , yN)
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
O problema
Resolver uma equação do tipo
d2ydx2 + q(x)
dydx
= r(x)
Sempre podemos reescrever equações diferenciais deordem superior como um conjunto de equaçõesdiferenciais de primeira ordem
dydx
= z(x)
dzdx
= r(x)− q(x)z(x)
Portanto, o problema passa a ser estudar um conjunto deN equações diferenciais ordinárias de primeira ordem
dyi
dx= fi(x , y1, y2, . . . , yN)
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
O problema
Às vezes é conveniente incluir prefatores (funções davariável independente) na definição das novas variáveispara evitar problemas numéricosTentativa e erro, senso comum, experiência→ indicam ocaminho
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
O problema
Às vezes é conveniente incluir prefatores (funções davariável independente) na definição das novas variáveispara evitar problemas numéricosTentativa e erro, senso comum, experiência→ indicam ocaminho
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Condições de contorno
O conjunto de equações diferenciais não definecompletamente o problemaO tipo das condições de contorno são determinantes paraa solução numérica a ser empregada
1 Problemas de valor inicial – todos os yi são conhecidos emum determinado ponto x0
2 Programas de valor de contorno – informação sobre ocomportamento da função na fronteira da região deintegração
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Condições de contorno
O conjunto de equações diferenciais não definecompletamente o problemaO tipo das condições de contorno são determinantes paraa solução numérica a ser empregada
1 Problemas de valor inicial – todos os yi são conhecidos emum determinado ponto x0
2 Programas de valor de contorno – informação sobre ocomportamento da função na fronteira da região deintegração
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Condições de contorno
O conjunto de equações diferenciais não definecompletamente o problemaO tipo das condições de contorno são determinantes paraa solução numérica a ser empregada
1 Problemas de valor inicial – todos os yi são conhecidos emum determinado ponto x0
2 Programas de valor de contorno – informação sobre ocomportamento da função na fronteira da região deintegração
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Condições de contorno
O conjunto de equações diferenciais não definecompletamente o problemaO tipo das condições de contorno são determinantes paraa solução numérica a ser empregada
1 Problemas de valor inicial – todos os yi são conhecidos emum determinado ponto x0
2 Programas de valor de contorno – informação sobre ocomportamento da função na fronteira da região deintegração
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Idéia geral
Reescrever dy e dx como diferenças finitas ∆y e ∆xMultiplicar a equação por ∆xAssim obtemos expressões para a variação das funçõesquando um passo de tamanho ∆x é dadoNo limite em que ∆x é muito pequeno, temos uma boaaproximação para a equação diferencial
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Idéia geral
Reescrever dy e dx como diferenças finitas ∆y e ∆xMultiplicar a equação por ∆xAssim obtemos expressões para a variação das funçõesquando um passo de tamanho ∆x é dadoNo limite em que ∆x é muito pequeno, temos uma boaaproximação para a equação diferencial
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Idéia geral
Reescrever dy e dx como diferenças finitas ∆y e ∆xMultiplicar a equação por ∆xAssim obtemos expressões para a variação das funçõesquando um passo de tamanho ∆x é dadoNo limite em que ∆x é muito pequeno, temos uma boaaproximação para a equação diferencial
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Idéia geral
Reescrever dy e dx como diferenças finitas ∆y e ∆xMultiplicar a equação por ∆xAssim obtemos expressões para a variação das funçõesquando um passo de tamanho ∆x é dadoNo limite em que ∆x é muito pequeno, temos uma boaaproximação para a equação diferencial
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Método de Euler
Consideremos a equação y ′(x) = f (x , y) com a condiçãode contorno y(x0) = y0Desejamos encontrar y(x)
Fazendo uma expansão em série de Taylor, temos
y(x) = y(x0) + (x − x0)y ′(x0) +O[(x − x0)2]
Definindo o tamanho do passo como h = x − x0,
y(x0 + h) = y(x0) + hf (x0, y0)
O método de Euler consiste na iteração desta equação
yn+1 = yn + hf (xn, yn)
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Método de Euler
Consideremos a equação y ′(x) = f (x , y) com a condiçãode contorno y(x0) = y0Desejamos encontrar y(x)
Fazendo uma expansão em série de Taylor, temos
y(x) = y(x0) + (x − x0)y ′(x0) +O[(x − x0)2]
Definindo o tamanho do passo como h = x − x0,
y(x0 + h) = y(x0) + hf (x0, y0)
O método de Euler consiste na iteração desta equação
yn+1 = yn + hf (xn, yn)
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Método de Euler
Consideremos a equação y ′(x) = f (x , y) com a condiçãode contorno y(x0) = y0Desejamos encontrar y(x)
Fazendo uma expansão em série de Taylor, temos
y(x) = y(x0) + (x − x0)y ′(x0) +O[(x − x0)2]
Definindo o tamanho do passo como h = x − x0,
y(x0 + h) = y(x0) + hf (x0, y0)
O método de Euler consiste na iteração desta equação
yn+1 = yn + hf (xn, yn)
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Método de Euler
Consideremos a equação y ′(x) = f (x , y) com a condiçãode contorno y(x0) = y0Desejamos encontrar y(x)
Fazendo uma expansão em série de Taylor, temos
y(x) = y(x0) + (x − x0)y ′(x0) +O[(x − x0)2]
Definindo o tamanho do passo como h = x − x0,
y(x0 + h) = y(x0) + hf (x0, y0)
O método de Euler consiste na iteração desta equação
yn+1 = yn + hf (xn, yn)
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Método de Euler
Consideremos a equação y ′(x) = f (x , y) com a condiçãode contorno y(x0) = y0Desejamos encontrar y(x)
Fazendo uma expansão em série de Taylor, temos
y(x) = y(x0) + (x − x0)y ′(x0) +O[(x − x0)2]
Definindo o tamanho do passo como h = x − x0,
y(x0 + h) = y(x0) + hf (x0, y0)
O método de Euler consiste na iteração desta equação
yn+1 = yn + hf (xn, yn)
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Método de Euler
Consideremos a equação y ′(x) = f (x , y) com a condiçãode contorno y(x0) = y0Desejamos encontrar y(x)
Fazendo uma expansão em série de Taylor, temos
y(x) = y(x0) + (x − x0)y ′(x0) +O[(x − x0)2]
Definindo o tamanho do passo como h = x − x0,
y(x0 + h) = y(x0) + hf (x0, y0)
O método de Euler consiste na iteração desta equação
yn+1 = yn + hf (xn, yn)
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Implementação
Para calcularmos y(x), dividimos o intervalo x − x0 em Npartes h = x−x0
N
Usamos o método de Euler
yn+1 = yn + hf (xn, yn)
x1 x2 x3
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Implementação
Para calcularmos y(x), dividimos o intervalo x − x0 em Npartes h = x−x0
N
Usamos o método de Euler
yn+1 = yn + hf (xn, yn)
x1 x2 x3
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Implementação
Para calcularmos y(x), dividimos o intervalo x − x0 em Npartes h = x−x0
N
Usamos o método de Euler
yn+1 = yn + hf (xn, yn)
x1 x2 x3
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Implementação
Para calcularmos y(x), dividimos o intervalo x − x0 em Npartes h = x−x0
N
Usamos o método de Euler
yn+1 = yn + hf (xn, yn)
x1 x2 x3
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Implementação
Para calcularmos y(x), dividimos o intervalo x − x0 em Npartes h = x−x0
N
Usamos o método de Euler
yn+1 = yn + hf (xn, yn)
x1 x2 x3
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Implementação
Para calcularmos y(x), dividimos o intervalo x − x0 em Npartes h = x−x0
N
Usamos o método de Euler
yn+1 = yn + hf (xn, yn)
x1 x2 x3
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Implementação
Para calcularmos y(x), dividimos o intervalo x − x0 em Npartes h = x−x0
N
Usamos o método de Euler
yn+1 = yn + hf (xn, yn)
x1 x2 x3
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Deficiências do método
O erro é de ordem hA derivada é considerada constante ao longo do intervalohSeu valor no fim do intervalo não é considerado
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Deficiências do método
O erro é de ordem hA derivada é considerada constante ao longo do intervalohSeu valor no fim do intervalo não é considerado
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Deficiências do método
O erro é de ordem hA derivada é considerada constante ao longo do intervalohSeu valor no fim do intervalo não é considerado
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta de segunda ordem
No caso do método de Euler, expandimos y(x) atéprimeira ordemSe expandirmos até segunda ordem, teremos
y(x) = y(x0) + hf (x0, y0) + y ′′(x0)h2
2+O[h3]
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta de segunda ordem
No caso do método de Euler, expandimos y(x) atéprimeira ordemSe expandirmos até segunda ordem, teremos
y(x) = y(x0) + hf (x0, y0) + y ′′(x0)h2
2+O[h3]
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta de segunda ordem
No caso do método de Euler, expandimos y(x) atéprimeira ordemSe expandirmos até segunda ordem, teremos
y(x) = y(x0) + hf (x0, y0) + y ′′(x0)h2
2+O[h3]
Precisamos, portanto, determinar y ′′(x0)
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta de segunda ordem
No caso do método de Euler, expandimos y(x) atéprimeira ordemSe expandirmos até segunda ordem, teremos
y(x) = y(x0) + hf (x0, y0) + y ′′(x0)h2
2+O[h3]
Precisamos, portanto, determinar y ′′(x0)
y ′′(x0) = fx (x0, y0) + fy (x0, y0)f (x0, y0)
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta de segunda ordem
No caso do método de Euler, expandimos y(x) atéprimeira ordemSe expandirmos até segunda ordem, teremos
y(x) = y(x0) + hf (x0, y0) + y ′′(x0)h2
2+O[h3]
Logo a expansão se torna
y(x) = y(x0)+hf (x0, y0)+h2
2fx (x0, y0)+
h2
2fy (x0, y0)f (x0, y0)
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta de segunda ordem
O método Runge-Kutta assume que a inclinação nointervalo h pode ser escrita como uma combinação linearde f (x , y) em certos pontos do intervaloNo Runge-Kutta de segunda ordem
y(x) = y(x0) + Ahf0 + Bhf1
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta de segunda ordem
O método Runge-Kutta assume que a inclinação nointervalo h pode ser escrita como uma combinação linearde f (x , y) em certos pontos do intervaloNo Runge-Kutta de segunda ordem
y(x) = y(x0) + Ahf0 + Bhf1
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta de segunda ordem
O método Runge-Kutta assume que a inclinação nointervalo h pode ser escrita como uma combinação linearde f (x , y) em certos pontos do intervaloNo Runge-Kutta de segunda ordem
y(x) = y(x0) + Ahf0 + Bhf1
onde f0 = f (x0, y0), f1 = f (x0 + a1h, y0 + a2hf0), sendoA, B, a1 e a2 constantes a determinar
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta de segunda ordem
O método Runge-Kutta assume que a inclinação nointervalo h pode ser escrita como uma combinação linearde f (x , y) em certos pontos do intervaloNo Runge-Kutta de segunda ordem
y(x) = y(x0) + Ahf0 + Bhf1Expandindo f1 em série de Taylor, temos
f1 = f (x0, y0) + a1hfx (x0, y0) + a2hfy (x0, y0)f (x0, y0)
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta de segunda ordem
O método Runge-Kutta assume que a inclinação nointervalo h pode ser escrita como uma combinação linearde f (x , y) em certos pontos do intervaloNo Runge-Kutta de segunda ordem
y(x) = y(x0) + Ahf0 + Bhf1Expandindo f1 em série de Taylor, temos
f1 = f (x0, y0) + a1hfx (x0, y0) + a2hfy (x0, y0)f (x0, y0)
Portanto, temos
y(x) = y(x0)+(A+B)hf (x0, y0)+Bh2a1fx (x0, y0)+Bh2a2fy (x0, y0)f (x0, y0)
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta de segunda ordemComparando a aproximação de Runge-Kutta
y(x) = y(x0)+(A+B)hf (x0, y0)+Bh2a1fx (x0, y0)+Bh2a2fy (x0, y0)f (x0, y0)
com a expansão em série de Taylor,
y(x) = y(x0) + hf (x0, y0) +h2
2fx (x0, y0) +
h2
2fy (x0, y0)f (x0, y0)
temos
A + B = 1
Ba1 =12
Ba2 =12
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta de segunda ordemComparando a aproximação de Runge-Kutta
y(x) = y(x0)+(A+B)hf (x0, y0)+Bh2a1fx (x0, y0)+Bh2a2fy (x0, y0)f (x0, y0)
com a expansão em série de Taylor,
y(x) = y(x0) + hf (x0, y0) +h2
2fx (x0, y0) +
h2
2fy (x0, y0)f (x0, y0)
temos
A + B = 1
Ba1 =12
Ba2 =12
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta de segunda ordemComparando a aproximação de Runge-Kutta
y(x) = y(x0)+(A+B)hf (x0, y0)+Bh2a1fx (x0, y0)+Bh2a2fy (x0, y0)f (x0, y0)
com a expansão em série de Taylor,
y(x) = y(x0) + hf (x0, y0) +h2
2fx (x0, y0) +
h2
2fy (x0, y0)f (x0, y0)
temos
A + B = 1
Ba1 =12
Ba2 =12
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Escolha dos parâmetros
Como temos 4 parâmetros e 3 equações, podemosescolher um deles arbitrariamente
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Escolha dos parâmetros
Como temos 4 parâmetros e 3 equações, podemosescolher um deles arbitrariamenteA = 0, B = 1, a1 = a2 = 1/2
Regra do ponto médio
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Escolha dos parâmetros
Como temos 4 parâmetros e 3 equações, podemosescolher um deles arbitrariamenteA = 0, B = 1, a1 = a2 = 1/2
Regra do ponto médio
x1 x2 x3
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Escolha dos parâmetros
Como temos 4 parâmetros e 3 equações, podemosescolher um deles arbitrariamenteA = 0, B = 1, a1 = a2 = 1/2
Regra do ponto médio
x1 x2 x3
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Escolha dos parâmetros
Como temos 4 parâmetros e 3 equações, podemosescolher um deles arbitrariamenteA = 0, B = 1, a1 = a2 = 1/2
Regra do ponto médio
x1 x2 x3
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Escolha dos parâmetros
Como temos 4 parâmetros e 3 equações, podemosescolher um deles arbitrariamenteA = 0, B = 1, a1 = a2 = 1/2
Regra do ponto médio
x1 x2 x3
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Escolha dos parâmetros
Como temos 4 parâmetros e 3 equações, podemosescolher um deles arbitrariamenteA = 0, B = 1, a1 = a2 = 1/2
Regra do ponto médio
x1 x2 x3
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Escolha dos parâmetros
Como temos 4 parâmetros e 3 equações, podemosescolher um deles arbitrariamenteA = 0, B = 1, a1 = a2 = 1/2
Regra do ponto médio
x1 x2 x3
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Escolha dos parâmetros
Como temos 4 parâmetros e 3 equações, podemosescolher um deles arbitrariamenteA = 0, B = 1, a1 = a2 = 1/2
Regra do ponto médio
x1 x2 x3
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Escolha dos parâmetros
Como temos 4 parâmetros e 3 equações, podemosescolher um deles arbitrariamenteA = 1/3, B = 2/3, a1 = a2 = 3/4 → valores ótimos(minimiza coeficiente do erro)
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta de quarta ordem
Runge-Kutta de segunda ordem é apenas didático
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta de quarta ordem
Runge-Kutta de segunda ordem é apenas didáticoPara uso prático → quarta ordem
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta de quarta ordem
Dedução segue a mesma linha de raciocínio:
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta de quarta ordem
Dedução segue a mesma linha de raciocínio:1 Expandir y(x0 + h) até quarta ordem
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta de quarta ordem
Dedução segue a mesma linha de raciocínio:1 Expandir y(x0 + h) até quarta ordem2 Assumir que
y(x0 + h) = y(x0) + h [Af0 + Bf1 + Cf2 + Df3]
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta de quarta ordem
Dedução segue a mesma linha de raciocínio:1 Expandir y(x0 + h) até quarta ordem2 Assumir que
y(x0 + h) = y(x0) + h [Af0 + Bf1 + Cf2 + Df3]
onde f0 = f (x0, y0)
f1 = f (x0 + αh, y0 + a0f0h)
f2 = f (x0 + βh, y0 + b0f0h + b1f1h)
f3 = f (x0 + γh, y0 + c0f0h + c1f1h + c2f2h)
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta de quarta ordem
Dedução segue a mesma linha de raciocínio:1 Expandir y(x0 + h) até quarta ordem2 Assumir que
y(x0 + h) = y(x0) + h [Af0 + Bf1 + Cf2 + Df3]
onde f0 = f (x0, y0)
f1 = f (x0 + αh, y0 + a0f0h)
f2 = f (x0 + βh, y0 + b0f0h + b1f1h)
f3 = f (x0 + γh, y0 + c0f0h + c1f1h + c2f2h)
3 Expandir f1, f2 e f3 em série de Taylor até terceira ordem
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta de quarta ordem
Dedução segue a mesma linha de raciocínio:1 Expandir y(x0 + h) até quarta ordem2 Assumir que
y(x0 + h) = y(x0) + h [Af0 + Bf1 + Cf2 + Df3]
onde f0 = f (x0, y0)
f1 = f (x0 + αh, y0 + a0f0h)
f2 = f (x0 + βh, y0 + b0f0h + b1f1h)
f3 = f (x0 + γh, y0 + c0f0h + c1f1h + c2f2h)
3 Expandir f1, f2 e f3 em série de Taylor até terceira ordem4 Equacionar os termos das duas séries
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta de quarta ordem
Dedução segue a mesma linha de raciocínio:1 Expandir y(x0 + h) até quarta ordem2 Assumir que
y(x0 + h) = y(x0) + h [Af0 + Bf1 + Cf2 + Df3]
onde f0 = f (x0, y0)
f1 = f (x0 + αh, y0 + a0f0h)
f2 = f (x0 + βh, y0 + b0f0h + b1f1h)
f3 = f (x0 + γh, y0 + c0f0h + c1f1h + c2f2h)
3 Expandir f1, f2 e f3 em série de Taylor até terceira ordem4 Equacionar os termos das duas séries5 Serão 10 equações e 13 icógnitas → diversas
possibilidadesAlexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta de quarta ordem
Escolha mais comum:
f0 = f (x0, y0)
f1 = f (x0 +h2, y0 +
h2
f0)
f2 = f (x0 +h2, y0 +
h2
f1)
f3 = f (x0 + h, y0 + hf2)
comy(x0 + h) = y(x0) +
h6
(f0 + 2f1 + 2f2 + f3)
Note que no caso f (x , y) = g(x), o método equivale àregra de Simpson
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Precisão
Como saber se nossa resposta é precisa?Como avaliar o erro?Possível solução: calcular y(x) usando dois tamanhos depasso diferentes e comparar os resultadosPodemos fazer essa comparação depois de vários passosContudo, a natureza da solução pode depender da regiãoPortanto, os resultados devem ser comparadosfrequentemente
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Precisão
Como saber se nossa resposta é precisa?Como avaliar o erro?Possível solução: calcular y(x) usando dois tamanhos depasso diferentes e comparar os resultadosPodemos fazer essa comparação depois de vários passosContudo, a natureza da solução pode depender da regiãoPortanto, os resultados devem ser comparadosfrequentemente
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Precisão
Como saber se nossa resposta é precisa?Como avaliar o erro?Possível solução: calcular y(x) usando dois tamanhos depasso diferentes e comparar os resultadosPodemos fazer essa comparação depois de vários passosContudo, a natureza da solução pode depender da regiãoPortanto, os resultados devem ser comparadosfrequentemente
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Precisão
Como saber se nossa resposta é precisa?Como avaliar o erro?Possível solução: calcular y(x) usando dois tamanhos depasso diferentes e comparar os resultadosPodemos fazer essa comparação depois de vários passosContudo, a natureza da solução pode depender da regiãoPortanto, os resultados devem ser comparadosfrequentemente
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Precisão
Como saber se nossa resposta é precisa?Como avaliar o erro?Possível solução: calcular y(x) usando dois tamanhos depasso diferentes e comparar os resultadosPodemos fazer essa comparação depois de vários passosContudo, a natureza da solução pode depender da regiãoPortanto, os resultados devem ser comparadosfrequentemente
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Passos de tamanho variável
Para atingirmos uma determinada precisão ε, podemosusar o seguinte algoritmo
1 Calcular y(x0 + h) e y(x0 + h/2)2 Se |y(x0 + h)− y(x0 + h/2)|<ε
Erro é pequeno e estamos realizando um esforçocomputacional desnecessárioAceitamos o passo e diminuimos h para o próximo passo
3 Se |y(x0 + h)− y(x0 + h/2)|>εO erro é muito grandeRejeitamos o passo, diminuimos h e tentamos de novo
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta Fehlberg
Alternativa aos passos de tamanho variávelUtiliza o conhecimento do erro para estimar o tamanho dopasso necessário para manter uma dada precisão
O método
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta Fehlberg
Alternativa aos passos de tamanho variávelUtiliza o conhecimento do erro para estimar o tamanho dopasso necessário para manter uma dada precisão
O método
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta Fehlberg
Alternativa aos passos de tamanho variávelUtiliza o conhecimento do erro para estimar o tamanho dopasso necessário para manter uma dada precisão
O método
Para um método de Runge-Kutta de ordem n, temos
y(x0 + h) = yexato + khn+1
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta Fehlberg
Alternativa aos passos de tamanho variávelUtiliza o conhecimento do erro para estimar o tamanho dopasso necessário para manter uma dada precisão
O método
Para um método de Runge-Kutta de ordem n, temos
y(x0 + h) = yexato + khn+1
Portanto, a diferença entre Runge-Kutta de ordem n e n + 1 é
yn(x0 + h)− yn+1(x0 + h) = khn+1 − k̂hn+2 ≈ khn+1
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta Fehlberg
Alternativa aos passos de tamanho variávelUtiliza o conhecimento do erro para estimar o tamanho dopasso necessário para manter uma dada precisão
O método
Para um método de Runge-Kutta de ordem n, temos
y(x0 + h) = yexato + khn+1
Portanto, a diferença entre Runge-Kutta de ordem n e n + 1 é
yn(x0 + h)− yn+1(x0 + h) = khn+1 − k̂hn+2 ≈ khn+1
Logo k ≈ yn−yn+1hn+1
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta Fehlberg
Alternativa aos passos de tamanho variávelUtiliza o conhecimento do erro para estimar o tamanho dopasso necessário para manter uma dada precisão
O método
Portanto, se hnew é o tamanho do novo passo de forma a essasduas expressões concordarem (aceitando um erro ε)
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta Fehlberg
Alternativa aos passos de tamanho variávelUtiliza o conhecimento do erro para estimar o tamanho dopasso necessário para manter uma dada precisão
O método
Portanto, se hnew é o tamanho do novo passo de forma a essasduas expressões concordarem (aceitando um erro ε)
hnewε = khn+1new =
hn+1new
hn+1 |yn − yn+1|
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta Fehlberg
Alternativa aos passos de tamanho variávelUtiliza o conhecimento do erro para estimar o tamanho dopasso necessário para manter uma dada precisão
O método
Portanto, se hnew é o tamanho do novo passo de forma a essasduas expressões concordarem (aceitando um erro ε)
hnewε = khn+1new =
hn+1new
hn+1 |yn − yn+1|
Dondehnew = h n
√hε
|yn(x0 + h)− yn+1(x0 + h)|
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Implementação
1 A partir de um passo de tamanho h, calculamos o erro|yn − yn+1|
2 Se o erro for maior do que o aceitável, rejeitamos o passoe repetimos o processo com um passo menor hnew
3 Se o erro for menor que o aceitável, estamos usando umpasso grande demais. Aceitamos o passo e aumentamoso passo para a próxima iteração.
Atenção
Como o custo computacional de repetir um passo é relativa-mente alto, é aconselhável ser conservador e usar um passomenor que o estimado. Digamos, 0.9hnew
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Implementação
1 A partir de um passo de tamanho h, calculamos o erro|yn − yn+1|
2 Se o erro for maior do que o aceitável, rejeitamos o passoe repetimos o processo com um passo menor hnew
3 Se o erro for menor que o aceitável, estamos usando umpasso grande demais. Aceitamos o passo e aumentamoso passo para a próxima iteração.
Atenção
Como o custo computacional de repetir um passo é relativa-mente alto, é aconselhável ser conservador e usar um passomenor que o estimado. Digamos, 0.9hnew
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Implementação
1 A partir de um passo de tamanho h, calculamos o erro|yn − yn+1|
2 Se o erro for maior do que o aceitável, rejeitamos o passoe repetimos o processo com um passo menor hnew
3 Se o erro for menor que o aceitável, estamos usando umpasso grande demais. Aceitamos o passo e aumentamoso passo para a próxima iteração.
Atenção
Como o custo computacional de repetir um passo é relativa-mente alto, é aconselhável ser conservador e usar um passomenor que o estimado. Digamos, 0.9hnew
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Implementação
1 A partir de um passo de tamanho h, calculamos o erro|yn − yn+1|
2 Se o erro for maior do que o aceitável, rejeitamos o passoe repetimos o processo com um passo menor hnew
3 Se o erro for menor que o aceitável, estamos usando umpasso grande demais. Aceitamos o passo e aumentamoso passo para a próxima iteração.
Atenção
Como o custo computacional de repetir um passo é relativa-mente alto, é aconselhável ser conservador e usar um passomenor que o estimado. Digamos, 0.9hnew
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Ganho computacional
Qual o ganho computacional do método?Em geral, nenhum.O que se ganha com a otimização do passo, se perde coma aplicação de dois Runge-Kutta para cada passo.A Sacada:Usar métodos Runge-Kutta de diferentes ordens, com asmesmas funções intermediárias!!!
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Ganho computacional
Qual o ganho computacional do método?Em geral, nenhum.O que se ganha com a otimização do passo, se perde coma aplicação de dois Runge-Kutta para cada passo.A Sacada:Usar métodos Runge-Kutta de diferentes ordens, com asmesmas funções intermediárias!!!
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Ganho computacional
Qual o ganho computacional do método?Em geral, nenhum.O que se ganha com a otimização do passo, se perde coma aplicação de dois Runge-Kutta para cada passo.A Sacada:Usar métodos Runge-Kutta de diferentes ordens, com asmesmas funções intermediárias!!!
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Ganho computacional
Qual o ganho computacional do método?Em geral, nenhum.O que se ganha com a otimização do passo, se perde coma aplicação de dois Runge-Kutta para cada passo.A Sacada:Usar métodos Runge-Kutta de diferentes ordens, com asmesmas funções intermediárias!!!
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta-Fehlberg de quarta/quinta ordem
Funções intermediárias
f0 = f (x0, y0)
f1 = f (x0 +h4, y0 +
h4
f0)
f2 = f (x0 +3h8, y0 +
3h32
f0 +9h32
f1)
f3 = f (x0 +12h13
, y0 +1932h2197
f0 −7200h2197
f1 +7296h2197
f2)
f4 = f (x0 + h, y0 +439h216
f0 − 8hf1 +3680h
513f2 −
845h4104
f3)
f5 = f (x0 +h2, y0 −
8h27
f0 + 2hf1 −3544h2565
f2 +1859h4104
f3 −11h40
f4)
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta-Fehlberg de quarta/quinta ordem
Aproximações
y4 = y0 + h(
25216
f0 +14082565
f2 +21974104
f3 −15
f4
)y5 = y0 + h
(16
135f0 +
665612825
f2 +2856156430
f3 −9
50f4 +
255
f5
)
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método de EulerRunge-Kutta de segunda ordemRunge-Kutta de quarta ordemPassos de tamanho variávelRunge-Kutta Fehlberg
Runge-Kutta-Fehlberg de quarta/quinta ordem
Erro
∆ = |y4−y5| = h∣∣∣∣ 1360
f0 −128
4275f2 −
219775240
f3 +1
50f4 +
255
f5
∣∣∣∣Não é necessário calcular y explicitamente para aceitar ounão o passo
hnew = 0.9h 4
√hε∆
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método da tentativa e erro (shooting method)Elementos Finitos
Problemas com condições de contorno fixas
Neste caso, queremos resolver uma EDO de ordem nsujeita a condições de contorno na superfíciePrimeiramente, reescrevemos a EDO como um conjuntode n equações de primeira ordem
Y =
yy ′
y ′′...
yn−1
Assim, teremos n1 condições de contorno no ponto inicial(t = 0) e n2 = n − n1 condições de contorno no ponto final(t = tf )
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método da tentativa e erro (shooting method)Elementos Finitos
Problemas com condições de contorno fixas
Neste caso, queremos resolver uma EDO de ordem nsujeita a condições de contorno na superfíciePrimeiramente, reescrevemos a EDO como um conjuntode n equações de primeira ordem
Y =
yy ′
y ′′...
yn−1
Assim, teremos n1 condições de contorno no ponto inicial(t = 0) e n2 = n − n1 condições de contorno no ponto final(t = tf )
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método da tentativa e erro (shooting method)Elementos Finitos
Problemas com condições de contorno fixas
Neste caso, queremos resolver uma EDO de ordem nsujeita a condições de contorno na superfíciePrimeiramente, reescrevemos a EDO como um conjuntode n equações de primeira ordem
Y =
yy ′
y ′′...
yn−1
Assim, teremos n1 condições de contorno no ponto inicial(t = 0) e n2 = n − n1 condições de contorno no ponto final(t = tf )
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método da tentativa e erro (shooting method)Elementos Finitos
Problemas com condições de contorno fixas
Neste caso, queremos resolver uma EDO de ordem nsujeita a condições de contorno na superfíciePrimeiramente, reescrevemos a EDO como um conjuntode n equações de primeira ordem
Y =
yy ′
y ′′...
yn−1
Assim, teremos n1 condições de contorno no ponto inicial(t = 0) e n2 = n − n1 condições de contorno no ponto final(t = tf )
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método da tentativa e erro (shooting method)Elementos Finitos
Método da tentativa e erro
1 Escolhemos n2 condições contorno arbitrárias (chute)complementanto as n1 condições já existentes no pontoinicial
2 Usando um método para problemas de valor inicial,deixamos o sistema evoluir até o ponto tf
3 Calculamos o erro em relação às condições de contornono ponto final
Se o erro (todas as componentes) for menor que atolerância, achamos a soluçãoSe não, escolhemos um novo chute voltamos ao passo 2
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método da tentativa e erro (shooting method)Elementos Finitos
Método da tentativa e erro
1 Escolhemos n2 condições contorno arbitrárias (chute)complementanto as n1 condições já existentes no pontoinicial
2 Usando um método para problemas de valor inicial,deixamos o sistema evoluir até o ponto tf
3 Calculamos o erro em relação às condições de contornono ponto final
Se o erro (todas as componentes) for menor que atolerância, achamos a soluçãoSe não, escolhemos um novo chute voltamos ao passo 2
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método da tentativa e erro (shooting method)Elementos Finitos
Método da tentativa e erro
1 Escolhemos n2 condições contorno arbitrárias (chute)complementanto as n1 condições já existentes no pontoinicial
2 Usando um método para problemas de valor inicial,deixamos o sistema evoluir até o ponto tf
3 Calculamos o erro em relação às condições de contornono ponto final
Se o erro (todas as componentes) for menor que atolerância, achamos a soluçãoSe não, escolhemos um novo chute voltamos ao passo 2
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método da tentativa e erro (shooting method)Elementos Finitos
Método da tentativa e erro
1 Escolhemos n2 condições contorno arbitrárias (chute)complementanto as n1 condições já existentes no pontoinicial
2 Usando um método para problemas de valor inicial,deixamos o sistema evoluir até o ponto tf
3 Calculamos o erro em relação às condições de contornono ponto final
Se o erro (todas as componentes) for menor que atolerância, achamos a soluçãoSe não, escolhemos um novo chute voltamos ao passo 2
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método da tentativa e erro (shooting method)Elementos Finitos
Método da tentativa e erro
1 Escolhemos n2 condições contorno arbitrárias (chute)complementanto as n1 condições já existentes no pontoinicial
2 Usando um método para problemas de valor inicial,deixamos o sistema evoluir até o ponto tf
3 Calculamos o erro em relação às condições de contornono ponto final
Se o erro (todas as componentes) for menor que atolerância, achamos a soluçãoSe não, escolhemos um novo chute voltamos ao passo 2
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método da tentativa e erro (shooting method)Elementos Finitos
Aprendendo a chutar
Queremos, a partir de um conjunto de condições decontorno α = {α1, α2, · · · , αn2}, encontrar um novoconjunto que faça o erro diminuir
α′ = α + ∆α
Para isso, escolhemos ∆α tal que
ε = J∆α J = [jij ] =
[∂εi
∂αj
]E aproximamos
∂εi
∂αj=εi(α1, · · · , αj + ∆αj , · · · , αn2)− εi(α1, · · · , αn2)
∆αj
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método da tentativa e erro (shooting method)Elementos Finitos
Aprendendo a chutar
Queremos, a partir de um conjunto de condições decontorno α = {α1, α2, · · · , αn2}, encontrar um novoconjunto que faça o erro diminuir
α′ = α + ∆α
Para isso, escolhemos ∆α tal que
ε = J∆α J = [jij ] =
[∂εi
∂αj
]E aproximamos
∂εi
∂αj=εi(α1, · · · , αj + ∆αj , · · · , αn2)− εi(α1, · · · , αn2)
∆αj
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método da tentativa e erro (shooting method)Elementos Finitos
Aprendendo a chutar
Queremos, a partir de um conjunto de condições decontorno α = {α1, α2, · · · , αn2}, encontrar um novoconjunto que faça o erro diminuir
α′ = α + ∆α
Para isso, escolhemos ∆α tal que
ε = J∆α J = [jij ] =
[∂εi
∂αj
]E aproximamos
∂εi
∂αj=εi(α1, · · · , αj + ∆αj , · · · , αn2)− εi(α1, · · · , αn2)
∆αj
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método da tentativa e erro (shooting method)Elementos Finitos
Aprendendo a chutar
Queremos, a partir de um conjunto de condições decontorno α = {α1, α2, · · · , αn2}, encontrar um novoconjunto que faça o erro diminuir
α′ = α + ∆α
Para isso, escolhemos ∆α tal que
ε = J∆α J = [jij ] =
[∂εi
∂αj
]E aproximamos
∂εi
∂αj=εi(α1, · · · , αj + ∆αj , · · · , αn2)− εi(α1, · · · , αn2)
∆αj
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método da tentativa e erro (shooting method)Elementos Finitos
Exemplo: EDO de segunda ordem
1 Escrevemos y ′′ = F (x , y , y ′) como 2 EDOs de ordem 1
dy1
dx= y2
dy2
dx= F (x , y , y ′)
2 As condições de contorno do problema são, portanto,3 Chute inicial: dois valores iniciais para y ′(x0), α1, α2
4 Usamos, por exemplo, o método de Runge-Kutta5 Calculamos o erro ε1,2 = y1,2(xf , α1,2)6 Como a mudança no erro deverá ser contrária ao erro,
temos7 Repetimos o processo, desde o passo 4 até que |ε2| se
torne menor que a tolerância
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método da tentativa e erro (shooting method)Elementos Finitos
Exemplo: EDO de segunda ordem
1 Escrevemos y ′′ = F (x , y , y ′) como 2 EDOs de ordem 12 As condições de contorno do problema são, portanto,
y1(x0) = y0 e y1(xf ) = yf
3 Chute inicial: dois valores iniciais para y ′(x0), α1, α2
4 Usamos, por exemplo, o método de Runge-Kutta5 Calculamos o erro ε1,2 = y1,2(xf , α1,2)6 Como a mudança no erro deverá ser contrária ao erro,
temos7 Repetimos o processo, desde o passo 4 até que |ε2| se
torne menor que a tolerância
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método da tentativa e erro (shooting method)Elementos Finitos
Exemplo: EDO de segunda ordem
1 Escrevemos y ′′ = F (x , y , y ′) como 2 EDOs de ordem 12 As condições de contorno do problema são, portanto,3 Chute inicial: dois valores iniciais para y ′(x0), α1, α2
4 Usamos, por exemplo, o método de Runge-Kutta5 Calculamos o erro ε1,2 = y1,2(xf , α1,2)
6 Como a mudança no erro deverá ser contrária ao erro,temos
7 Repetimos o processo, desde o passo 4 até que |ε2| setorne menor que a tolerância
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método da tentativa e erro (shooting method)Elementos Finitos
Exemplo: EDO de segunda ordem
1 Escrevemos y ′′ = F (x , y , y ′) como 2 EDOs de ordem 12 As condições de contorno do problema são, portanto,3 Chute inicial: dois valores iniciais para y ′(x0), α1, α2
4 Usamos, por exemplo, o método de Runge-Kutta paraobter
y1(xf , α1) e y1(xf , α2)
5 Calculamos o erro ε1,2 = y1,2(xf , α1,2)6 Como a mudança no erro deverá ser contrária ao erro,
temos7 Repetimos o processo, desde o passo 4 até que |ε2| se
torne menor que a tolerância
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método da tentativa e erro (shooting method)Elementos Finitos
Exemplo: EDO de segunda ordem
1 Escrevemos y ′′ = F (x , y , y ′) como 2 EDOs de ordem 12 As condições de contorno do problema são, portanto,3 Chute inicial: dois valores iniciais para y ′(x0), α1, α2
4 Usamos, por exemplo, o método de Runge-Kutta5 Calculamos o erro ε1,2 = y1,2(xf , α1,2) e estimamos
∂ε
∂α=
ε2 − ε1
α2 − α1
6 Como a mudança no erro deverá ser contrária ao erro,temos
7 Repetimos o processo, desde o passo 4 até que |ε2| setorne menor que a tolerância
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método da tentativa e erro (shooting method)Elementos Finitos
Exemplo: EDO de segunda ordem
1 Escrevemos y ′′ = F (x , y , y ′) como 2 EDOs de ordem 12 As condições de contorno do problema são, portanto,3 Chute inicial: dois valores iniciais para y ′(x0), α1, α2
4 Usamos, por exemplo, o método de Runge-Kutta5 Calculamos o erro ε1,2 = y1,2(xf , α1,2)
6 Como a mudança no erro deverá ser contrária ao erro,temos
∆α = − ε2∂ε∂α
7 Repetimos o processo, desde o passo 4 até que |ε2| setorne menor que a tolerância
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método da tentativa e erro (shooting method)Elementos Finitos
Exemplo: EDO de segunda ordem
1 Escrevemos y ′′ = F (x , y , y ′) como 2 EDOs de ordem 12 As condições de contorno do problema são, portanto,3 Chute inicial: dois valores iniciais para y ′(x0), α1, α2
4 Usamos, por exemplo, o método de Runge-Kutta paraobter
y1(xf , α1) e y1(xf , α2)
5 Calculamos o erro ε1,2 = y1,2(xf , α1,2)6 Como a mudança no erro deverá ser contrária ao erro,
temos7 Repetimos o processo, desde o passo 4 até que |ε2| se
torne menor que a tolerância
Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método da tentativa e erro (shooting method)Elementos Finitos
Método dos elementos finitos
Mais uma vez, queremos resolver uma EDO comcondições de contorno nas bordas y(x0) = y0 e y(xf ) = yfPara isso, dividimos o intervalo em N partes iguais detamanho h, de forma que temos N + 1 pontos (yi , xi), ondeyi = y(xi)Discretizamos as derivadas da EDO (para uma EDO desegunda ordem, poderíamos escrever)
dyi
dx=
yi+1 − yi−1
2he
d2yi
dx2 =yi+1 − 2yi + yi−1
h2
Introduzindo essa discretização na EDO, calculamos umanova aproximação para yi em função dos valores de yi±1Repetimos o processo, até que a precisão desejada sejaobtida
<++>Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método da tentativa e erro (shooting method)Elementos Finitos
Método dos elementos finitos
Mais uma vez, queremos resolver uma EDO comcondições de contorno nas bordas y(x0) = y0 e y(xf ) = yfPara isso, dividimos o intervalo em N partes iguais detamanho h, de forma que temos N + 1 pontos (yi , xi), ondeyi = y(xi)Discretizamos as derivadas da EDO (para uma EDO desegunda ordem, poderíamos escrever)
dyi
dx=
yi+1 − yi−1
2he
d2yi
dx2 =yi+1 − 2yi + yi−1
h2
Introduzindo essa discretização na EDO, calculamos umanova aproximação para yi em função dos valores de yi±1Repetimos o processo, até que a precisão desejada sejaobtida
<++>Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método da tentativa e erro (shooting method)Elementos Finitos
Método dos elementos finitos
Mais uma vez, queremos resolver uma EDO comcondições de contorno nas bordas y(x0) = y0 e y(xf ) = yfPara isso, dividimos o intervalo em N partes iguais detamanho h, de forma que temos N + 1 pontos (yi , xi), ondeyi = y(xi)Discretizamos as derivadas da EDO (para uma EDO desegunda ordem, poderíamos escrever)
dyi
dx=
yi+1 − yi−1
2he
d2yi
dx2 =yi+1 − 2yi + yi−1
h2
Introduzindo essa discretização na EDO, calculamos umanova aproximação para yi em função dos valores de yi±1Repetimos o processo, até que a precisão desejada sejaobtida
<++>Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método da tentativa e erro (shooting method)Elementos Finitos
Método dos elementos finitos
Mais uma vez, queremos resolver uma EDO comcondições de contorno nas bordas y(x0) = y0 e y(xf ) = yfPara isso, dividimos o intervalo em N partes iguais detamanho h, de forma que temos N + 1 pontos (yi , xi), ondeyi = y(xi)Discretizamos as derivadas da EDO (para uma EDO desegunda ordem, poderíamos escrever)
dyi
dx=
yi+1 − yi−1
2he
d2yi
dx2 =yi+1 − 2yi + yi−1
h2
Introduzindo essa discretização na EDO, calculamos umanova aproximação para yi em função dos valores de yi±1Repetimos o processo, até que a precisão desejada sejaobtida
<++>Alexandre Rosas Equações diferenciais ordinárias
IntroduçãoProblemas de valor inicial
Problemas de Contorno
Método da tentativa e erro (shooting method)Elementos Finitos
Método dos elementos finitos
Mais uma vez, queremos resolver uma EDO comcondições de contorno nas bordas y(x0) = y0 e y(xf ) = yfPara isso, dividimos o intervalo em N partes iguais detamanho h, de forma que temos N + 1 pontos (yi , xi), ondeyi = y(xi)Discretizamos as derivadas da EDO (para uma EDO desegunda ordem, poderíamos escrever)
dyi
dx=
yi+1 − yi−1
2he
d2yi
dx2 =yi+1 − 2yi + yi−1
h2
Introduzindo essa discretização na EDO, calculamos umanova aproximação para yi em função dos valores de yi±1Repetimos o processo, até que a precisão desejada sejaobtida
<++>Alexandre Rosas Equações diferenciais ordinárias