Vous êtes sur la page 1sur 3

Mircoles 29 de mayo de 2013

ECUACIONES DIFERENCIALES ORDINARIAS:

CON CONDICION INICIAL


CON CONDICIONES DE BORDE

METODOS PARA RESOLVER:


a) mtodo de diferencias finitas: problemas con valor inicial y con valor en la frontera
b) mtodo de Euler: problemas con valor inicial
c) mtodo de runge kuttrs:problemas con valor inicial y con valor en la frontera.
Mtodo de Euler Normal (Euler explicito): funciona con ecu. Dif. de orden 1

yi 1 yi h. f xi , yi

Formula:

Ej. Resolver la ecuacin diferencial mediante Euler explcito:

dy
yx

dx f x, y
X1=0
Y1=1

Condicin inicial:
y(0)=1
h=0.20
X1=0.2.
Y2=?

yi 1 yi h. f xi , yi

Condicin final:
y(1)=?
X1=0.4
Y3=?

X1=0.6
Y4=?

X1=0.8
Y5=?

h = 0.2

yi 1 yi h * f xi , yi yi h yi xi

i 1

y2 yi h y1 x1 1 0.2 * (1 0) 1.2

i2

y3 yi h y2 x2 1 0.2 * (1.2 0.2) 1.4

i 3

y4 yi h y3 x3 1 0.2 * (1.4 0.4) 1.6

i4

y5 yi h y4 x4 1 0.2 * (1.6 0.6) 1.8

i 5

y6 yi h y5 x5 1 0.2 * (1.8 0.8) 2.0

EN MATLAB:
>>diary clases
>>x1=0 % valor inicial x
x1 =
0

X1=1
Y6=?

>>xf = 1 % valor final x


xf =
1
>> y1=1 % valor inicial y
y1 =
1
>> n=5 % nmero de intervalos
n=
5
>> h=(xf-x1)/n % tamao de intervalo
h=
0.2000
>>x(1)=x1
x=
0
>>y(1)=y1
y=
1
>> x=[x1:h:xf]'
x=
0
0.2000
0.4000
0.6000
0.8000
1.0000
>>for i=1:n
y(i+1)=y(i)+h*feval(@ecu,x(i),y(i))
end
y=

1.0000 1.2000
y=
1.0000 1.2000 1.4000
y=
1.0000 1.2000 1.4000 1.6000
y=
1.0000 1.2000 1.4000 1.6000 1.8000
y=
1.0000 1.2000 1.4000 1.6000 1.8000 2.0000
>> y=y'
y=
1.0000
1.2000
1.4000
1.6000
1.8000
2.0000
>> [x y]
ans =
0 1.0000
0.2000 1.2000
0.4000 1.4000
0.6000 1.6000
0.8000 1.8000
1.0000 2.0000

Vous aimerez peut-être aussi