Você está na página 1de 11

ESCUELA COLOMBIANA DE CARRERAS INDUSTRIALES ESCUELA TECNOLGICA

COORDINACIN DE MECNICA
GUA DE APRENDIZAJE AUTNOMO
Ing. Daniel E. Villalobos C. (danielevc66@gmail.com)

MTODOS NUMRICOS
ECUACIONES DIFERENCIALES ORDINARIAS

Competencia:
Resolver ecuaciones diferenciales ordinarias de primer y segundo orden mediante mtodos
numricos de primero hasta cuarto orden.

ECUACIONES DIFERENCIALES

Una ecuacin diferencial es una ecuacin en la que aparecen derivadas o diferenciales. Si una
ecuacin contiene solo derivadas de una funcin de una variable, entonces se dice que es
ordinaria. Las ecuaciones diferenciales son muy importantes en la ingeniera porque expresan las
relaciones de las variables de entrada y salida, y predicen comportamientos de sistemas basados
en leyes y ecuaciones constitutivas. Por ejemplo la ecuacin diferencial que expresa la ley de
conduccin de calor unidimensional de Fourier:

= kA
JI
Jx


Donde

se refiere al flujo de calor en W, k es una constante especfica de los materiales y que


puede ser funcin de la temperatura llamada conductividad trmica en W/(mK), A es el rea
superficial de intercambio trmico en m
2
, I es la temperatura absoluta en K y x es la distancia en
m.





Generated by Foxit PDF Creator Foxit Software
http://www.foxitsoftware.com For evaluation only.
TEORA ELEMENTAL DE PROBLEMAS DE VALOR INICIAL
MTODO DE EULER

La idea del mtodo de Euler es muy sencilla y est basada en el significado geomtrico de la
derivada de una funcin en un punto dado.

Si se tuviera la curva solucin de la ecuacin diferencial y se traza la recta tangente a la curva en
el punto dado por la condicin inicial. Debido a que la recta tangente aproxima a la curva en
valores cercanos al punto de tangencia, podemos tomar el valor de la recta tangente en el punto x
1

como una aproximacin al valor deseado y(x
1
) segn se muestra en la Figura 1.










Figura 1. Esquema mtodo de Euler.

As, calcular la ecuacin de la recta tangente a la curva solucin de la ecuacin diferencial dada en
el punto (x
0
, y
0
). De los cursos de Geometra Analtica, sabemos que la ecuacin de la recta es:

y = y
0
+m(x x
0
)

donde m es la pendiente. En este caso, sabemos que la pendiente de la recta tangente se calcula
con la derivada:

m = y
i
|
(x
0
,
0
)
= (x
0
, y
0
)



Por lo tanto, la ecuacin de la recta tangente es:

y = y
0
+(x
0
, y
0
)(x x
0
)

Generated by Foxit PDF Creator Foxit Software
http://www.foxitsoftware.com For evaluation only.
Ahora bien, si se tiene que x
1
es un punto cercano a x
0
, y por lo tanto estar dado como x
1
= x
0
+
. De esta forma, tenemos la siguiente aproximacin:

y(x
1
) = y(x
0
+) y
0
+(x
0
, y
0
)(x
1
x
0
)

De aqu, se tiene la frmula de aproximacin:

y(x
0
+ ) y
0
+ (x
0
, y
0
)

Esta aproximacin puede ser suficientemente buena, si el valor de es realmente pequeo,
teniendo de una dcima menos. Pero si el valor de es ms grande, entonces se puede cometer
mucho error al aplicar dicha frmula. Una forma de reducir el error y obtener de hecho un mtodo
iterativo, es dividir la distancia = |x
I
x
0
| en n partes iguales (procurando que estas partes sean
de longitud suficientemente pequea) y obtener entonces la aproximacin en n pasos, aplicando la
frmula anterior n veces de un paso a otro, con la nueva igual a
|x
l
-x
0
|
n

Para obtener y
2
nicamente hay que pensar que ahora el papel de (x
0
, y
0
) lo toma el punto (x
1
, y
1
),
y por lo tanto, si se sustituye los datos adecuadamente, se obtendr que:

y
2=
y
1
+(x
1
, y
1
)

De aqu se ve claramente que la frmula recursiva general, est dada por:

y
n+1=
y
n
+ (x
n
, y
n
)

Esta es la conocida frmula de Euler que se usa para aproximar el valor de y(x
I
) aplicndola
sucesivamente desde x
0
hasta x
I
en pasos de longitud .

EJEMPLO 1

Dada la siguiente ecuacin diferencial con la condicin inicial:

y
i
= 2xy
y(u) = 1

Aproximar y(u.S)

Generated by Foxit PDF Creator Foxit Software
http://www.foxitsoftware.com For evaluation only.
Solucin

Primero se observa que esta ecuacin s puede resolverse por mtodos tradicionales de
ecuaciones diferenciales. Por ejemplo, podemos aplicar el mtodo de separacin de variables.
Veamos las dos soluciones.

Solucin Analtica

Jy
Jx
= 2xy
Jy
y
= 2xJx
_
Jy
y
= _2xJx
ln|y| = x
2
+c

Sustituyendo la condicin inicial:

y(u) = 1
ln|1| = u
2
+c

De lo que se concluye que c = u

Por lo tanto, tenemos que la curva solucin real est dada:

ln|y| = x
2

e
In|y|
= c
x
2

y = c
x
2


Y por lo tanto, el valor real que se pide es:

y(u.S) = c
(0.5)
2
= 1.284u2S416687741


Solucin Numrica

Aplicando el mtodo de Euler con = u.1 es decir con 5 intervalos.
Generated by Foxit PDF Creator Foxit Software
http://www.foxitsoftware.com For evaluation only.
Para ver como se aplica la frmula de Euler se mostrar los dos primeros clculos y los siguientes
se resumen en la tabla 1. En la tabla 1 tambin se realiza el clculo de los errores absolutos y
relativos.

(x, y) = 2xy
y(u.1) = y(u) + (u,1)
y(u.1) = 1 +u.1 (2 u 1) = 1

y(u.2) = y(u.1) + (u.1,1)
y(u.2) = 1 + u.1 (2 u.1 1) = 1.u2

Tabla 1. Mtodo de Euler aplicado con = u.1
x
y (Mtodo de
Euler)
y (Exacto) Error Absoluto Error relativo
0 1 1 0 0
0,1 1 1,01005017 0,01005017 0,00995017
0,2 1,02 1,04081077 0,02081077 0,01999477
0,3 1,0608 1,09417428 0,03337428 0,0305018
0,4 1,124448 1,17351087 0,04906287 0,04180862
0,5 1,21440384 1,28402542 0,06962158 0,05422134

Ahora repitamos la experiencia anterior pero con un inferior por ejemplo = u.uS. En la tabla 2 se
muestra el desarrollo.

Realizando una comparacin entre los valores dados en el error relativo de la tabla 1 y tabla 2 se
pone en evidencia que la convergencia del mtodo de Euler es lineal, esto es, el error es
directamente proporcional al tamao del paso seleccionado. En este caso especfico con = u.1
en el punto final de evaluacin el error es del 5.42%, mientras que con = u.uS el error relativo es
de 2.81%.








Generated by Foxit PDF Creator Foxit Software
http://www.foxitsoftware.com For evaluation only.
Tabla 2. Mtodo de Euler aplicado con = u.uS
x
y (Mtodo de
Euler)
y (Exacto) Error Absoluto Error relativo
0 1 1 0 0
0,05 1 1,00250313 0,00250313 0,00249688
0,1 1,005 1,01005017 0,00505017 0,00499992
0,15 1,01505 1,02275503 0,00770503 0,00753361
0,2 1,03027575 1,04081077 0,01053502 0,01012194
0,25 1,05088127 1,06449446 0,01361319 0,01278841
0,3 1,0771533 1,09417428 0,01702099 0,01555601
0,35 1,1094679 1,13031912 0,02085122 0,0184472
0,4 1,14829927 1,17351087 0,0252116 0,02148391
0,45 1,19423124 1,22446009 0,03022884 0,02468749
0,5 1,24797165 1,28402542 0,03605377 0,0280787

EJEMPLO 2
Aplicar el mtodo de Euler para aproximar y(1.S), dada la ecuacin diferencial.

Jy
Jx
= x
2
+ u.Sy
2

y(1) = 2

Solucin

La solucin analtica de esta ecuacin es demasiada compleja y en este caso est totalmente
justificado pasar directamente a la solucin numrica. Se obtendr una solucin numrica tomando
varios tamaos de pasos y realizar un anlisis comparativo entre ellos. De nuevo realizamos un
ejemplo del desarrollo numrico tomando = u.1 y aplicando el mtodo de Euler as:

x
0
= 1
y
0
= 2
= u.1
(x, y) = x
2
+ u.Sy
2


En un primer paso, tenemos que:

x
1
= x
0
+ = 1 +u.1 = 1.1
Generated by Foxit PDF Creator Foxit Software
http://www.foxitsoftware.com For evaluation only.
y
1
= y
0
+(x
0
, y
0
) = 2 + u.1 (1
2
+ u.S (2)
2
) = 2.S

En la tabla 3 se muestra el desarrollo de este ejemplo.

Tabla 3. Mtodo de Euler aplicado con = u.1
n x y
0 1 2
1 1,1 2,3
2 1,2 2,6855
3 1,3 3,19009551

Por medio de una ayuda computacional por ejemplo en Matlab es posible por medio de comandos
sencillos obtener la solucin numrica ms exacta. Se mostrar en seguida la forma de proceder.


y=dsolve('Dy=x^2+0.5*y^2','y(1)=2','x')
y =
-(-(2*bessely(1/4,1/4*2^(1/2))+2^(1/2)*bessely(-
3/4,1/4*2^(1/2)))/(2*besselj(1/4,1/4*2^(1/2))+2^(1/2)*besselj(-3/4,1/4*2^(1/2)))*besselj(-
3/4,1/4*2^(1/2)*x^2)+bessely(-3/4,1/4*2^(1/2)*x^2))*x*2^(1/2)/(-
(2*bessely(1/4,1/4*2^(1/2))+2^(1/2)*bessely(-
3/4,1/4*2^(1/2)))/(2*besselj(1/4,1/4*2^(1/2))+2^(1/2)*besselj(-
3/4,1/4*2^(1/2)))*besselj(1/4,1/4*2^(1/2)*x^2)+bessely(1/4,1/4*2^(1/2)*x^2))

La conclusin del resultado anterior es que si es posible obtener una solucin analtica que
involucre desarrollo en series de potencias y en este caso aparecen las funciones de Bessel. Sin
embargo realizar este procedimiento puede ser complejo y largo. La solucin ms exacta se podra
obtener en Matlab evaluando la funcin resultante en el valor de x = 1.S.

yp=subs(y,1.3)
yp =3.448467477093541

Ahora se procede a realizar una comparacin de la solucin numrica al reducir el paso. En la
tabla 4 se observan los resultados. Para este anlisis se tomo de referencia el valor dado en
Matlab.

Generated by Foxit PDF Creator Foxit Software
http://www.foxitsoftware.com For evaluation only.
Tabla 4. Mtodo de Euler aplicado diversos pasos.
h n y(1.3) Error absoluto Error relativo
0.1 3 3,19009551 0,25837196709354 0,07492371
0.05 6 3,30301292 0,14545455309354 0,04217948
0.01 30 3,41595181 0,03251567209354 0,00942902
0.005 60 3,43196012 0,01650735509354 0,00478687
0.001 300 3,44512472 0,00334276109354 0,00096935

De los resultados de la tabla anterior se concluye que el error relativo decrece de manera
proporcional al tamao del paso. Sin embargo el costo computacional se incrementa al disminuir el
tamao de paso.

MTODOS DE RUNGE KUTTA

Una desventaja del mtodo de los mtodos de Euler es que el orden de exactitud es bajo. Si se
desea un orden de exactitud elevado necesitamos una h muy pequea lo que no solo aumenta el
tiempo de cmputo si no que tambin causara errores de redondeo.

En los mtodos de Runge-Kutta el orden de exactitud se incrementa mediante el empleo de un
mtodo de integracin numrica de ms alto orden. La mayor exactitud implica que el resultado
calculado es ms exacto y tambin que los errores se reducen con mayor rapidez al reducirse h.

Consideremos una ecuacin diferencial ordinaria.

y = (y, t), y(u) = y
0


Si queremos calcular y
n+1
con un valor conocido de y
n
integramos la ecuacin en el intervalo
t
n
t t
n+1
para obtener

y
n+1
= y
n
+ _ (y, t)Jt
t
n+1
t
n


Los mtodos de Runge-Kutta se deducen aplicando un mtodo de integracin numrica al
miembro derecho de la ecuacin anterior.
Generated by Foxit PDF Creator Foxit Software
http://www.foxitsoftware.com For evaluation only.
MTODO DE RUNGE-KUTTA DE CUARTO ORDEN

Disponemos de varias alternativas al elegir el esquema de integracin numrica que se aplica a la
ecuacin; el mtodo de cuarto orden de Runge Kutta es exacto hasta el termino de cuarto orden de
la expansin de Taylor de modo que el error local es proporcional a
5
. Se presentan las
ecuaciones de RK4.

y
n+1
= y
n
+
1
6
t(k
0
+ 2k
1
+2k
2
+k
3
)

Donde:

k
0
= (t
n
, y
n
)
k
1
= (t
n
+
t
2
, y
n
+
k
0
2
t)
k
2
= (t
n
+
t
2
, y
n
+
k
1
2
t)
k
3
= (t
n
+t, y
n
+k
2
t)

EJEMPLO 3
Para observar el comportamiento de una solucin numrica aplicando el mtodo de Runge Kutta
se retoma el ejemplo 2 para aproximar y(1.S), dada la ecuacin diferencial.

Jy
Jx
= x
2
+ u.Sy
2

y(1) = 2

Solucin

Aplicamos directamente las ecuaciones del mtodo de Runge-Kutta. Se realiza el primer paso
como ejemplo y en la tabla 5 se muestra el desarrollo hasta obtener la respuesta.

x
0
= 1
y
0
= 2
= u.1
(x, y) = x
2
+ u.Sy
2


k
0
= (x
0
, y
0
) = 1
2
+u.S(2)
2
= S.u
Generated by Foxit PDF Creator Foxit Software
http://www.foxitsoftware.com For evaluation only.
k
1
= _x
0
+
h
2
, y
0
+
k
0
2
h] = _1 +
u.1
2
]
2
+ u.S_2 +
S.u
2
u.1]
2
= S.41S7S
k
2
= _x
0
+
h
2
, y
0
+
k
1
2
h] = _1 +
u.1
2
]
2
+u.S_2 +
S.41S7S
2
u.1]
2
= S,4S8442111
k
3
= (x
0
+h, y
0
+k
2
h) = (1 +u.1)
2
+ u.S(2 +S,4S8442111 u.1)
2
= S,961492SS1
y
1
= y
0
+
1
6
(k
0
+ 2k
1
+2k
2
+k
3
)
y
1
= 2 +
1
6
u.1 (S + 2 S.41S7S +2 S,4S8442111 + S,961492SS1)
y
1
= 2,S4Su979S

Con ayuda de herramientas computacionales como Excel es sencillo implementar el mtodo dada
una ecuacin diferencial. En el caso de Matlab es posible crear una funcin como sigue:

En el editor se guarda esta funcin como rk4ode.m
function [t,y] = rk4ode(func, a, b, y0, h);
t = [a];
y = [y0];
i = 1;
while t(i) < b
k0 = feval(func, t(i), y(i));
k1 = feval(func, t(i)+h/2, y(i)+k0*h/2);
k2 = feval(func, t(i)+h/2, y(i)+k1*h/2);
k3 = feval(func, t(i)+h , y(i)+k2*h );
i = i+1;
t(i) = t(i-1) + h;
y(i) = y(i-1) + (k0 + 2*k1 + 2*k2 + k3)*h/6;

end

Ahora en la ventana de comandos de Matlab se genera la funcin que representa la ecuacin
diferencial de primer orden.

func=@(x,y)x.^2+0.5.*y.^2

Y se procede a ejecutar el mtodo llamando a la funcin previamente creada y segn las
condiciones y paso deseado.

[t,y] = rk4ode(func, 1, 1.3, 2, 0.1)
t =
1.000000000000000 1.100000000000000 1.200000000000000 1.300000000000000
y =
2.000000000000000 2.345097945901815 2.807102120699886 3.448456485918778
Generated by Foxit PDF Creator Foxit Software
http://www.foxitsoftware.com For evaluation only.
Tabla 5. Mtodo de Runge-Kutta aplicado con = u.1.

n x k
0
k
1
k
2
k
3
y
0 1 3 3,41375 3,458442111 3,96149253 2
1 1,1 3,95974219 4,5561408 4,632420033 5,38338664 2,34509795
2 1,2 5,37991116 6,29368846 6,435275613 7,6434226 2,80710212
3 1,3 7,63592607 9,15791821 9,452294523 11,6122381 3,44845649

Como se concluye del resultado el error relativo se calcula as:

S.448467477u9SS41 S.4484S648S918778
S.448467477u9SS41
= S.18726SS7uSSSS64c uu6

Y de esta manera se verifica que el error local es de orden de magnitud
5
.

REFERENCIAS

VILLALOBOS CORREA, Daniel Eduardo. Mtodos numricos. Bogot: Editorial ECCI, 2010. 84p.
ISBN 9789588330693

MATHEWS, John H. y FINK Kurtis D. Numerical Methods Using Matlab, 4 edicin New Jersey:
Pearson Prentice Hall, 2004. 680 p. ISBN 9780130652485
Generated by Foxit PDF Creator Foxit Software
http://www.foxitsoftware.com For evaluation only.

Você também pode gostar