Inicialização

Método de Euler

Como integrar aproximadamente uma equação diferencial ordinária:

[Graphics:Images/Aula12_gr_3.gif]

com condição inicial

[Graphics:Images/Aula12_gr_4.gif]  

Se soubéssemos a solução [Graphics:Images/Aula12_gr_5.gif]  na vizinhança de [Graphics:Images/Aula12_gr_6.gif] poderíamos desenvolvê-la em série de Taylor e guardar apenas o termo linear em [Graphics:Images/Aula12_gr_7.gif]

[Graphics:Images/Aula12_gr_8.gif]
[Graphics:Images/Aula12_gr_9.gif]

[Graphics:Images/Aula12_gr_10.gif]

Como [Graphics:Images/Aula12_gr_11.gif], podemos escrever

[Graphics:Images/Aula12_gr_12.gif]

A seguir assumimos que [Graphics:Images/Aula12_gr_13.gif] e usamos [Graphics:Images/Aula12_gr_14.gif] para deduzir que

[Graphics:Images/Aula12_gr_15.gif]

pelo que

[Graphics:Images/Aula12_gr_16.gif]

Em geral chegamos à expressão

[Graphics:Images/Aula12_gr_17.gif]

Como exemplo vejamos o caso de :

[Graphics:Images/Aula12_gr_18.gif]

Uma solução exacta existe para esta equação separável com condição inicial [Graphics:Images/Aula12_gr_19.gif]:

[Graphics:Images/Aula12_gr_20.gif]
[Graphics:Images/Aula12_gr_21.gif]
[Graphics:Images/Aula12_gr_22.gif]

[Graphics:Images/Aula12_gr_23.gif]

A função [Graphics:Images/Aula12_gr_24.gif] é definida aqui porque é necessário especificar que um subconjunto de definições atribuídas ao símbolo [Graphics:Images/Aula12_gr_25.gif] devem ser [Graphics:Images/Aula12_gr_26.gif]. Todas as definições de funções como [Graphics:Images/Aula12_gr_27.gif] são atribuídas a [Graphics:Images/Aula12_gr_28.gif]. Fazer [Graphics:Images/Aula12_gr_29.gif] apagaria mais do que seria desejável...

[Graphics:Images/Aula12_gr_30.gif]
[Graphics:Images/Aula12_gr_35.gif]

Nas definições que implementam o método de Euler simples, as atribuições da forma [Graphics:Images/Aula12_gr_36.gif] criam uma memória dos valores já calculados para [Graphics:Images/Aula12_gr_37.gif] à medida que [Graphics:Images/Aula12_gr_38.gif] é invocado para valores específicos de [Graphics:Images/Aula12_gr_39.gif] . Da próxima vez que [Graphics:Images/Aula12_gr_40.gif]for invocado com [Graphics:Images/Aula12_gr_41.gif], [Graphics:Images/Aula12_gr_42.gif] não é recalculado, e o  [Graphics:Images/Aula12_gr_43.gif]memorizado é devolvido.  A seguir [Graphics:Images/Aula12_gr_44.gif] implementa um [Graphics:Images/Aula12_gr_45.gif] dos valores [Graphics:Images/Aula12_gr_46.gif] calculados para [Graphics:Images/Aula12_gr_47.gif] instantes [Graphics:Images/Aula12_gr_48.gif].

[Graphics:Images/Aula12_gr_49.gif]
[Graphics:Images/Aula12_gr_50.gif]

[Graphics:Images/Aula12_gr_51.gif]

O método de Euler melhorado

Notando que o integral da equação diferencial entre instantes [Graphics:Images/Aula12_gr_52.gif] e [Graphics:Images/Aula12_gr_53.gif] é a área sob  [Graphics:Images/Aula12_gr_54.gif]

[Graphics:Images/Aula12_gr_55.gif]

poderíamos dar uma melhor aproximação desta área fazendo

[Graphics:Images/Aula12_gr_56.gif]

Resta agora substituir [Graphics:Images/Aula12_gr_57.gif] no lado direito por uma primeira aproximação, que pode ser [Graphics:Images/Aula12_gr_58.gif], donde temos

[Graphics:Images/Aula12_gr_59.gif]

A implementação do método melhorado é semelhante à anterior:

[Graphics:Images/Aula12_gr_60.gif]
[Graphics:Images/Aula12_gr_61.gif]

[Graphics:Images/Aula12_gr_62.gif]

A comparação dos dois métodos é feita sobrepondo os gráficos [Graphics:Images/Aula12_gr_63.gif] e [Graphics:Images/Aula12_gr_64.gif].

[Graphics:Images/Aula12_gr_65.gif]

[Graphics:Images/Aula12_gr_66.gif]

Método de Runge-Kutta

Usando o método de Euler, faz-se uma estimativa do ponto [Graphics:Images/Aula12_gr_67.gif] a meio do passo [Graphics:Images/Aula12_gr_68.gif], i.e. no instante [Graphics:Images/Aula12_gr_69.gif].

O valor da derivada aí é aproximado por [Graphics:Images/Aula12_gr_70.gif]. Usando esta derivada para substituir no método de Euler obtém-se um novo ponto [Graphics:Images/Aula12_gr_71.gif]

Este método tem erros de ordem [Graphics:Images/Aula12_gr_72.gif].  De facto, da expansão em série de [Graphics:Images/Aula12_gr_73.gif] na vizinhança de [Graphics:Images/Aula12_gr_74.gif] obtém-se

[Graphics:Images/Aula12_gr_75.gif]

i.e. [Graphics:Images/Aula12_gr_76.gif]. Substituindo na expressão

[Graphics:Images/Aula12_gr_77.gif]
[Graphics:Images/Aula12_gr_78.gif]

conclui-se que

[Graphics:Images/Aula12_gr_79.gif]
[Graphics:Images/Aula12_gr_80.gif]

O método de Runge-Kutta de 4ª ordem deriva da mesma idéia fazendo mais passos intermédios

[Graphics:Images/Aula12_gr_81.gif]

Runge-Kutta Adaptativo

Para adaptar o passo [Graphics:Images/Aula12_gr_82.gif] às necessidades de precisão pode-se usar a seguinte técnica: cada etapa [Graphics:Images/Aula12_gr_83.gif] do cálculo é efectuada uma segunda vez com dois passos de [Graphics:Images/Aula12_gr_84.gif], i.e [Graphics:Images/Aula12_gr_85.gif]. Sendo um método de 4ª ordem, os erros nas aproximações são

[Graphics:Images/Aula12_gr_86.gif]
[Graphics:Images/Aula12_gr_87.gif]

A diferença entre [Graphics:Images/Aula12_gr_88.gif]e [Graphics:Images/Aula12_gr_89.gif] dá uma estimativa do erro de truncação cometido [Graphics:Images/Aula12_gr_90.gif]

Assim é de esperar que, para passos diferentes [Graphics:Images/Aula12_gr_91.gif] e [Graphics:Images/Aula12_gr_92.gif] se obtenha uma relação entre passo e erro que se comporta como [Graphics:Images/Aula12_gr_93.gif]

Assim, quando [Graphics:Images/Aula12_gr_94.gif] é a precisão desejada, se o erro cometido no passo [Graphics:Images/Aula12_gr_95.gif]  é [Graphics:Images/Aula12_gr_96.gif] então o cálculo de [Graphics:Images/Aula12_gr_97.gif] deve ser repetido com passo [Graphics:Images/Aula12_gr_98.gif].
Se pelo contrário [Graphics:Images/Aula12_gr_99.gif], então o próximo ponto [Graphics:Images/Aula12_gr_100.gif] pode ser calculado com um passo maior  [Graphics:Images/Aula12_gr_101.gif].


Converted by Mathematica       © Amaro R. Silva, Prof. - ISTMay 17, 2001