Você está na página 1de 13

EQUAÇÕES DIFERENCIAIS ORDINÁRIAS

UNIVERSIDADE TÉCNICA DE MOÇAMBIQUE

Análise Numérica e Programação


(Ficha nº 3)

4. EQUAÇÕES DIFERENCIAIS ORDINÁRIAS

Introdução
A maioria dos problemas de aplicação passam pela resolução de equações diferenciais. Neste
capítulo apresentam-se alguns dos primcipais métodos de resolução numérica de equações
diferenciais ordinárias com condições iniciais. Apresentam-se, de seguida, alguns métodos de
resolução numérica de uma equação de primeira ordem. O primeiro apresentado é o de Euler,
por ser o mais simples e que facilita a abordagem aos restantes métodos. Segue-se o método de
Rauge-Kutta, baseado na fórmula de Taylor.

Dada uma equação diferencial da 1ª ordem, y’=f(x,y) sujeita a condição inicial y(x0)=y0, cuja
solução é dada pela função y=y(x) definida e contínua no intervalo I=[x0 ; xfinal]. Queremos
determinar aproximações ye (onde e=0, 1, 2, 3, 4, 5, .......) dos valores da função y(x) para os
pontos xe que no caso usual são igualmente espaçados no intervalo [x0 ; xfinal], ou seja,
x final − x0
xe=x0+(e-1)h e h= , para n igual ao número de valores de y(x).
n
A equação diferencial y’=f(x,y), no caso geral não é fácil obter o integral geral  ( x, y, c) = 0 ,
pretende-se recorrer a métodos numéricos para a obtenção do mesmo integral.

Vamos estudar os métodos que usam o desenvolvimento da série de Taylor para a função y(x)
h ' h 2 '' h 3 ' ' '
ou y(x+h) = y(x) + f + f + f + ......... ou
1! 2! 3!
h2 ' h 3 ''
y(x+h) = y(x) + hf ( x, y ) + f ( x, y ) + f ( x, y ) + .........
2! 3!
Este método de cálculo dá aproximação de ye+1 que depende somente de xe, ye e h, por isso é
chamado de método de passos simples.
Um grande número de problemas em engenharia e outros ramos da ciência podem formular-
se utilizando equações diferenciais.

Vasco Abudo & Valentim 1Raposo


04/03/2013
EQUAÇÕES DIFERENCIAIS ORDINÁRIAS

17/04/2020
TEMA: MÉTODO DE RUNGE KUTTA

Vasco Abudo & Valentim 2Raposo


04/03/2013
EQUAÇÕES DIFERENCIAIS ORDINÁRIAS

A Fórmula de Runge Kutta

h
ye+1 = ye + (k1 + 2k2 + 2k3 + k4 )
6

k1=f(xe, ye)
k2=f(xe+ 2 ; ye+ 2 k1)
h h

k3=f(xe+ 2 ; ye+ 2 k2)


h h

k4=f(xe+ h ; ye+ h k3)


e xe ye K1 K2 K3 K4
0 0 1 0 -0.05 -0.049875 -0.09950125
1 0.1 0.995011
2 0.2
3 0.3
4 0.4
5 0.5
6 0.6
7 0.7
8 0.8
9 0.9
10 1.0

Exemplo:
Vasco Abudo & Valentim 3Raposo
04/03/2013
Resolva a y’ = -xy usando o método de Runge
EQUAÇÕES DIFERENCIAIS ORDINÁRIAS

h
ye+1 = ye + (k1 + 2k2 + 2k3 + k4 )
6
k1=f(xe, ye)
k2=f(xe+ h2 ; ye+ h2 k1)
k3=f(xe+ h2 ; ye+ h2 k2)
k4=f(xe+ h ; ye+ h k3)

Vasco Abudo & Valentim 4Raposo


04/03/2013
EQUAÇÕES DIFERENCIAIS ORDINÁRIAS

Resolva a y’ = -xy usando o método de Runge Kutta

Resolução:
f(x,y)= -xy; x0=0; y0=1; h=0.1;

h
ye+1 = ye + (k1 + 2k2 + 2k3 + k4 )
6
e=0: f(x,y)= -xy
k1=f(xe, ye)=f(xo,yo)=f(0,1)=-0*1=0
k2=f(xe+ h2 ; ye+ h2 k1)
k2=f(xo+0.1/2;yo+0.1/2*0)
k2=f(0+0.1/2;1+0.1/2*0)
k2=f(0.05,1)=-0.05*1=-0.05
f(x,y)= -xy
k3=f(xe+ h2 ; ye+ h2 k2)
k3=f(xo+0.05;1+0.05*(-0.05))
k3=f(0.05;1-0.05*0.05)
k3=f(0.05;1-0.0025)=f(0.05;0.9975)=-0.05*0.9975=
k3=-0.049875
k4=f(xe+ h ; ye+ h k3)
k4=f(xo+0.1;yo+0.1*(-0.049875))
k4=f(0.1;1-0.0049875)=f(0.1;0.9950125)
Vasco Abudo & Valentim 5Raposo
04/03/2013
k4=-0.1*0.9950125=-0.09950125
EQUAÇÕES DIFERENCIAIS ORDINÁRIAS

Teste 1: Trabalho de investigação sobre


h
= ye +de Dicotomia
ye+1Método (k1 + 2k2 +ou2kBissecção
3 + k 4 ) para
6
o cálculo das raízes de uma equação.
Y0+1 =y0+0.1/6*(0+2*(-0.05)+2*(
Entrega 6ª F, 24/04/2020 depois da
-
0.049875)+( -0.09950125))
aula. Valeraposao@gmail.com
Y1=1+0.01667*(-0.1-0.09975-0.09950125)

Y1=0.995011

e=1:
k1=f(xe, ye)=f(x1,y1)=f(0.1, 0.995011)=

TPC
Mostrar os passos e completar a
tabela. (quarta as 18:00Horas)

Vasco Abudo & Valentim 6Raposo


04/03/2013
EQUAÇÕES DIFERENCIAIS ORDINÁRIAS

aletoalex@gmail.com
geninhamachava@gmail.com
jmussivane@gmail.com
raquelcandido46@gmail.com
neldbanzem@gmail.com
lucasanachelsia@gmail.com
ednantemansaka@gmail.com
idelsoncovele@gmail.com
bistinho@Gmail.com
ednantemansaka@gmail.com
rungolarisse@gmail.com
Kalven.gobene@gmail.com
rubia.dmm@gmail.com
aidermartins69@gmail.com
geninhamachava@gmail.com
lazarotamele311@gmaill.com
geninhamachava@gmail.com
aletoalex@gmail.com

Vasco Abudo & Valentim 7Raposo


04/03/2013
EQUAÇÕES DIFERENCIAIS ORDINÁRIAS

4.1. Método de Euler

ye+1 = ye + hf(xe, ye)


Resolva a equação: y’=-xy,
para x0=0; y0=1; h=0.1;
e xe f(xe)
0 0 1
1 0.1 1
2 0.2 0.99
3 0.3
4 0.4
5 0.5
6 0.6
7 0.7
8 0.8
9 0.9
10 1.0

Vasco Abudo & Valentim 8Raposo


04/03/2013
EQUAÇÕES DIFERENCIAIS ORDINÁRIAS

a1=3
an+1=an+6
n=1: a1+1=a1+6
a2=3+6
a2=9
an+1=an+6
n=2: a2+1=a2+6
a3= 9 + 6
a3=15
an+1=an+6
n=3: a3+1=a3+6
a4= 15 + 6
a4= 21
Fazer o trabalho abaixo até 18:30
1. Resolva a equação diferencial ordinária
y’ = x-cos(x*y) , y(0)=2.0, no intervalo
[0.0 ; 0.5] e h=0.1 usando o método de Runge
Kutta.
y’ = x-cos(x*y) então f(x,y)= x-cos(x*y)

Proxima aula: Integração e derivaçao


numérica
Ericaemilia30@gmail.com
Vasco Abudo & Valentim 9Raposo
04/03/2013
EQUAÇÕES DIFERENCIAIS ORDINÁRIAS

O método de Euler utiliza os dois primeiros termos da função de desenvolvimento de Taylor,


y(x+h)=y(x)+hf(x,y), substituindo: x=xe; y=ye; y(xe+h)=ye+1, daí que resulta a equação:

ye+1 = ye + hf(xe, ye)


onde: e=0,1,2,3,4,5,.... e y(x0)=y0

Exemplo: Resolva numericamente a equação y’ = -xy no intervalo [0 ; 1]; x0=0; y0=1.

Resolução:
f(x,y)= -xy; x0=0; y0=1; h=0.1;

Aplicando a fórmula ye+1 = ye + hf(xe, ye) teremos:

− x2
A solução exacta da equação y’ = -xy é y = e 2
, obtida pelo método analítico.

Obs: Existe uma grande diferença entre ye e a solução exacta, isto mostra que o método de
Euler é de pouca precisão. Na prática aconselha-se recorrer a outros métodos, por exemplo o
de Runge-Kutta .
Exercícios:

1. Resolva a equação diferencial ordinária y’ = sen(x*y) , para y(1)=2.0, n=10 e h=0.1


usando o método de Euler.

2. Resolva a equação diferencial ordinária y’ = x-cos(x*y) , y(0)=2.0, no intervalo


[0.0 ; 0.5] e h=0.1 usando o método de Euler.

3. Resolva a equação diferencial ordinária y’ = y , y(0) = 1, no intervalo [0 ; 1] e h=0.1


usando o método de Euler.

Solução do exercício nº 3.

Vasco Abudo & Valentim 10Raposo


04/03/2013
EQUAÇÕES DIFERENCIAIS ORDINÁRIAS

a) h=0.25 b) h=0.1

c) h=0.05 d) h=0.025

Obs:
Para obter uma melhor aproximação dos
valores de ye e da solução exacta devemos
escolher h mais pequeno.

Veja nas tabelas o erro cometido nos pontos xn.

Vasco Abudo & Valentim 11Raposo


04/03/2013
EQUAÇÕES DIFERENCIAIS ORDINÁRIAS

4.2. Método de Runge-Kutta


Os métodos de Runge-Kutta de ordem m fornece valores aproximados da solução que
coincide com os valores obtidos através do desenvolvimento em série de Taylor da solução até
o termo que inclui hm, ou,
h2 ' h 3 '' h m m −1
y ( x + h) = y ( x) + hf ( x, y ) + f ( x, y ) + f ( x, y ).......... + f ( x, y )
2! 3! m!
O calculos dos valores da derivada nos pontos (xe, ye) será substituido pelo valor da função
dos pontos convenientes de tal modo que se produz resultados equivalentes.

Vamos desenvolver a fórmula de Runge-Kutta de 2ª ordem, m=2,

h2 '
y ( x + h) = y ( x) + hf ( x, y ) + f ( x, y )
2
para x=xe; y=ye; y(x+h)=ye+1, temos:

h2 '
y e +1 = y e + hf ( xe , y e ) + f ( xe , y e )
2
A substituição de valores da derivada y’=f(x,y), pelos valores x e y nos pontos
convenientes resulta a fórmula:

h
ye+1 = ye + (k1 + k 2 )
2
k1=f(xe, ye)
k2=f(xe+h; ye+hk1)
e=0, 1, 2, 3,……….

A fórmula deRunge-Kutta de ordem 4, m=4, é a seguinte:

h
ye+1 = ye + (k1 + 2k2 + 2k3 + k4 )
6
k1=f(xe, ye)
h h
k2=f(xe+ ; ye+ k1)
2 2
h h
k3=f(xe+ ; ye+ k2)
2 2
k4=f(xe+ h ; ye+ h k3)
e=0, 1, 2, 3,……….

Exemplo:
Resolva a equação diferencial y’= -xy; para x0=0; y0=1; h=0.1 e n=10.
Vasco Abudo & Valentim 12Raposo
04/03/2013
EQUAÇÕES DIFERENCIAIS ORDINÁRIAS

Solução:

Analisando os valores da função produzidos pela fórmula de Runge-Kutta de ordem 4


chega-se a conclusão de que são quase exactos. O método de Runge-Kutta fornece
melhores resultados que o de Euler.

Exercícios:

1. Resolva a equação diferencial ordinária y’ = sen(x*y) , para y(1)=2.0, n=10 e h=0.1


usando o método de Runge-Kutta.

2. Resolva a equação diferencial ordinária y’ = x-cos(x*y) , y(0)=2.0, no intervalo


[0.0 ; 0.5] e h=0.1 usando o método de Range-Kutta.

3. Resolva a equação diferencial ordinária y’ = y , y(0) = 1, no intervalo [0 ; 1] e h=0.1


usando o método de Runge-Kutta.

3. Resolva a equação diferencial ordinária y’ = ysen(x) , y(0) = e-1, no intervalo [0 ; 0.010]


e h=0.001 usando o método de Runge-Kutta.

4. Resolva a equação diferencial ordinária

y’=x 1 + x 2 , para y(1.35673)= -2.00135, no intervalo [1.35673 ; 2.35673] e h=0.2

5. Resolva a equação y’=y-x, para y(0)=1.5, usando uma precisão de 0.01, pelo método de
Runge Kutta.
Vasco Abudo & Valentim 13Raposo
04/03/2013

Você também pode gostar