You are on page 1of 59

CAPTULO 2 :

Solucin Numrica de Ecuaciones Diferenciales

2.1 Introduccin
Las leyes fundamentales de la fsica, mecnica, electricidad y termodinmica estn
basadas con frecuencia en observaciones experimentales que explican variaciones en las
propiedades fsicas y estados de los sistemas. Estas leyes, mas que describir
directamente el estado de los sistemas fsicos se expresan en trminos de los cambios
espaciales y temporales de las variables intervinientes. Es por ello que las ecuaciones
diferenciales tienen importancia fundamental en las aplicaciones de ingeniera ya que
numerosos procesos fsicos son idealizados (o modelizados) matemticamente por estas
ecuaciones. Tales ecuaciones son a veces conocidas como ecuaciones de razn ya que
expresan la razn de cambio de una variable como una funcin de las variables y
parmetros del problema.
Podemos citar como ejemplos de las leyes fundamentales que se escriben en trminos de
la razn de cambio de las variables a:

Segunda ley de Newton del movimiento


dv
F
=
dt
m

donde v es la velocidad, F es la fuerza, m es la masa y t el tiempo.

Ley del calor de Fourier


q = k'

dT
dx

donde q es el flujo de calor, k es la conductividad trmica, T es la temperatura y x


la variable espacial.

Ley del difusin de Fick


J = D

dc
dx

donde q es el flujo msico, D es el coeficiente de difusin, c es la concentracin y


x la variable espacial.
CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.1

Ley de Faraday
VL = L

di
dt

donde VL es la caida de voltaje, L es la inductancia, i es la corriente y t la variable


temporal.
La mayora de las ecuaciones diferenciales de importancia prctica no se pueden resolver
mediante mtodos analticos de calculo, y es debido a esto que los mtodos numricos
han adquirido una importancia extraordinaria en todos los campos de la ingeniera sobre
todo a partir de la disponibilidad de computadoras que soportan grandes volmenes de
clculo.
Solo a forma de sntesis de lo estudiado en los cursos de matemtica superior, se
enumeran a continuacin un conjunto de definiciones acerca de las ecuaciones
diferenciales, su caracterizacin y solucin.

Variables independientes y dependientes: Se dice que una variable de una ecuacin


diferencial es independiente si existen una o ms derivadas con respecto a esa
variable. Una variable es dependiente cuando existen derivadas de esa variable. El
nmero de variables dependientes se denomina a menudo en los problemas de
ingeniera como grados de libertad del problema.

Ecuaciones Diferenciales ordinarias y parciales: Si en una ecuacin diferencial hay


una sola variable independiente, las derivadas son totales y a la ecuacin se la
denomina ordinaria. Por el contrario, si aparecen dos o ms variables independientes
las derivadas sern parciales y la ecuacin ser diferencial parcial.
Orden de una Ecuacin diferencial: es la derivada de mayor orden que aparece en la
ecuacin.

Ecuacin diferencial lineal: Una ecuacin diferencial es lineal si en ella no aparecen


potencias de la variable dependiente ni de sus derivadas ni productos de la variable
dependiente por sus derivadas o productos entre derivadas.
Una ecuacin diferencial ordinaria lineal es aquella que se ajusta a la forma general:
'

a n x y n .. .. ...a1 x y a 0 x y= f x
donde y (n) es la n-sima derivada de y con respecto a x, y a (x) y f (x) son funciones
especficas de x.
CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.2

Solucin de una ecuacin diferencial: Es cualquier relacin funcional que no incluya


derivadas o integrales de funciones desconocidas y que la verifique idnticamente por
sustitucin directa.

2.2 Solucin de una Ecuacin Diferencial


Dada un a ecuacin diferencial ordinaria de orden n, cuya forma general puede escribirse
como:
(n)
F(x,y,y,y.........y ) = 0
(2.1)
su solucin general resulta dependiente de n constantes arbitrarias y puede escribirse en
la forma:
G (x,y,c1, c2, ...., cn) = 0
(2.2)
Se requiere de n condiciones para obtener una solucin nica.
Grficamente, la ecuacin (2.2) representa a una familia de curvas planas, cada una de
ellas obtenidas para valores particulares de las n constantes c1, c2, ...., cn como se
muestra en la figura siguiente.

G =0
4

G =0
3

G =0
2

G =0
1

Cada una de estas curvas corresponde a una solucin particular de la ecuacin (2.1) y
analticamente puede obtenerse sujetando la solucin general (2.2) a n condiciones
independientes que permitan valuar las constantes arbitrarias. Dependiendo de cmo se
establezcan estas condiciones, se distinguen dos tipos de problemas: los llamados de
valores iniciales y los de valores de frontera.
a) Problema de valores iniciales: Un problema de valores iniciales est gobernado por una
ecuacin diferencial de orden n y un conjunto de n condiciones independientes, todas
CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.3

ellas vlidas para el mismo punto inicial. Es decir, si se especifican todas las condiciones
en el mismo valor de la variable independiente al inicio del dominio al problema se lo
denomina como problema de condiciones iniciales o valor inicial.
Si en la ecuacin (2.1) x = a es el punto inicial, en un problema de valores iniciales, las
condiciones de contorno resultarn del tipo:
(n)

y(a) = y0 , y(a) = y0 , y(a)=y0................. y (a)= y

(n)

y se tratar de encontrar una solucin particular para (2.1) que verifique las anteriores, tal
como se muestra en la figura siguiente:
y

x= a

b) Problemas de frontera: Por el contrario, en los problemas de valores de frontera deben


establecerse condiciones en todos y cada uno de los puntos que constituyen la frontera
del dominio de definicin del problema. Es decir, si las condiciones se especifican sobre
distintos valores de la variable independiente en la frontera del dominio al problema se lo
denomina problema de condiciones de contorno o valor lmite.
En particular, en el espacio unidimensional hay dos puntos de frontera, por ejemplo x = a
y x = b si el dominio de definicin es el intervalo cerrado [a,b].

x= a

x= b

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.4

Bsicamente, la solucin numrica de ecuaciones diferenciales consisten en sustituir el


dominio continuo de soluciones por uno discreto, es decir formado por puntos igualmente
espaciados entre s.
As, en un problema de valores iniciales el dominio de definicin del problema, x a, se
sustituye por el conjunto infinito de puntos: x0 = a, x1 = x0 + , x2 = x0 + 2 , x3 = x0 +
3 .. .
En los problemas de frontera, el dominio se discretiza en x0 = a, x1 = x0 + , x2 = x0 + 2 ,
x3 = x0 + 3 ....... xn = x0 + n = b, obtenidos al dividir el intervalo [a,b] en n partes
iguales.
Habindose discretizado el problema continuo se tratar de obtener una solucin para los
puntos considerados, y esto se har, en general, sustituyendo las derivadas que
aparezcan en la ecuacin diferencial y en las condiciones de contorno, por expresiones
numricas de derivacin que proporcionen una aproximacin a las derivadas o tratando
de integrar la ecuacin y reemplazando al proceso de integracin por una frmula
numrica que se aproxima a la integral.

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.5

2.3 Ecuaciones Diferenciales Ordinarias


2.3.1 Problemas de Condiciones Iniciales
En este tipo de problemas, como ya lo expresamos anteriormente, debemos obtener
valores aproximados de la funcin solucin de una ecuacin diferencial en m puntos de un
intervalo del dominio de la misma, partiendo de condiciones iniciales conocidas de la
funcin a determinar en el extremo inicial del intervalo.
En los denominados mtodos de un paso, que describiremos a continuacin, el valor de la
funcin en el primer punto interior del intervalo se calcula a partir del valor conocido de la
funcin en punto inicial del intervalo. De la misma forma el valor de la funcin incgnita en
el i-simo punto del dominio, xi, se calcula a partir del valor de la funcin en el punto x i-1. A
su vez la funcin en el punto i+1 se calcula a partir del valor de la funcin en el punto i, .
Es decir que se calcula la funcin en un punto cualquiera del intervalo partiendo de la
solucin obtenida para el punto anterior, y as sucesivamente. De esta manera, con la
aplicacin recurrente los algoritmos correspondientes a cualquiera de estos mtodos, a lo
largo de todo el intervalo de integracin, se obtiene la denominada trayectoria de la
solucin.
Los mtodos que estudiaremos estn limitados a la solucin de ecuaciones diferenciales
ordinarias de primer orden. Esto, que en principio parece una severa limitacin de los
mismos, no lo es tanto si recordamos que cualquier ecuacin diferencial ordinaria de
orden n puede ser transformada en un sistema de n ecuaciones diferenciales ordinarias
de primer orden. Por otra parte el procedimiento para obtener la solucin de un sistema
de EDOs de primer orden es una sencilla extensin del procedimiento para obtener la
solucin de una sola EDO por lo que estos mtodos pueden ser aplicados sin ninguna
dificultad a la solucin de EDOs de orden n.
Dada una ecuacin diferencial ordinaria de primer orden de la forma:

dy
= f ( x, y )
dx

la solucin numrica tendr la forma:

y i +1 = y i + h

De acuerdo con esta ecuacin, una pendiente estimada se usa para extrapolar desde un
valor anterior yi a un nuevo valor yi+1 en una distancia h.
CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.6

Todos los denominados mtodos de un paso, que veremos en este captulo, se pueden
expresar en esta forma general, que solo va a diferir en la manera en la cual se estima la
pendiente.

2.3.1

Mtodo de Euler

Como sabemos, la primera derivada de una funcin f(x) valuada en un punto del dominio
xi representa la pendiente de la funcin en xi. Si la ecuacin diferencial ordinaria a resolver
la expresbamos como:
dy
= f ( x, y )
dx

entonces la pendiente en xi e yi ser:

= f ( xi , y i )

En este procedimiento, la pendiente = f ( xi , y i ) calculada en el extremo inicial del


intervalo, xi, es tomada como una aproximacin de la pendiente promedio sobre todo el
intervalo. Entonces se predice un nuevo valor de y por medio de la pendiente en xi , que
CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.7

habr de extrapolarse en forma lineal sobre el paso de longitud h , mediante la aplicacin


de la expresin:
y i +1 = y i + h = y i + f ( xi , y i ) h

Ejemplo 1: Usar el mtodo de Euler para resolver numricamente la ecuacin:


dy
= - 2 x 3 + 12 x 2 - 20 x + 8.5
dx

desde x = 0 hasta x = 4 con un paso de h = 0.5. La condicin inicial en x = 0 es y = 1.


Para el primer paso:
y ( 0.5 ) = y ( 0 ) + f ( 0 ,1) 0.5

donde y (0) = 1 y la pendiente estimada en x = 0 es:


dy
f (0,1) = ( x =0,y =1) = - 2 ( 0 ) 3 + 12 ( 0 ) 2 - 20 ( 0 ) + 8.5 = 8.5
dx

reemplazando:

y ( 0.5 ) =1.0 + 8.5 ( 0.5 ) = 5.25

La funcin solucin exacta es:


y = - 0.5 x 4 + 4 x 3 - 10 x 2 +8.5 x +1

y para x = 0.5 la solucin exacta es:


y = - 0.5 ( 0.5 ) 4 + 4 ( 0.5 ) 3 - 10 ( 0.5 ) 2 + 8.5 ( 0.5 ) +1 = 3.21875

As, el error absoluto es:


E t = verdadero aproximado = 3.21875 5.25 = -2.03125
y el error relativo porcentual:
t % =

Et
2.03125
100 =
100 = 63.1%
verdadero
3.21875

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.8

Para el segundo paso:


y (1) = y ( 0.5 ) + f ( 0.5 , 5.25) 0.5

y (1) = 5.25 + - 2 ( 0.5 ) 3 +12 ( 0.5 ) 2 - 20 ( 0.5 ) + 8.5 0.5


y (1) = 5.875

y para x = 1.0 la solucin exacta es:


y = - 0.5 (1.0 )4 + 4 (1.0 ) 3 - 10 (1.0 ) 2 + 8.5 (1.0 ) +1 = 3.0

As, el error absoluto es:


E t = verdadero aproximado = 3.0 5.875 = -2.875
y el error relativo porcentual:
t % =

Et
2.875
100 =
100 = 95.8%
verdadero
3.0

y si seguimos calculando la solucin para el resto de los puntos del dominio


correspondientes a un paso h = 0.5, obtenemos la siguiente tabla:
x

r%

yverdadero

yEuler

Lr% local

0.0

1.00000

1.00000

0.5

3.21875

5.25000

-63.1

-63.1

1.0

3.00000

5.87500

-28.0

-95.8

1.5

2.21875

5.12500

-1.41

-131.0

2.0

2.00000

4.50000

20.5

-125.0

2.5

2.71875

4.75000

17.3

-74.7

3.0

4.00000

5.87500

4.0

-46.9

3.5

4.71875

7.12500

-11.3

-51.0

4.0

3.00000

7.00000

-53.0

-133.3

global

Si graficamos la solucin verdadera y la solucin calculada vemos que si bien el error es


considerable, tal como se desprende de los clculos de errores hechos anteriormente, la
solucin calculada copia de manera bastante aproximada la forma de la solucin exacta.
Intuitivamente es de esperar que si disminuimos el paso h, esto es si la extrapolacin de

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.9

la pendiente calculada al inicio del intervalo se hace sobre un intervalo menor, entonces
la solucin calculada se aproxime a la exacta.

Ejemplo 2. Si para la misma ecuacin diferencial del ejemplo anterior, con las mismas
condiciones iniciales, tomamos ahora un paso h = 0.25. Es claro que al tomar ahora un
paso, es decir un incremento de x, que es la mitad del anterior, los puntos donde
deberemos valuar a la expresin solucin del mtodo de Euler se duplicara. Esto significa
que para aproximar a la funcin solucin en el mismo intervalo el esfuerzo computacional
se incrementara. Los resultados obtenidos, que compararemos con los obtenidos en el
ejemplo anterior, se condensaron en la siguiente tabla:
e%r

yverdadero

yEuler

0.00

1.00000

1.00000

0.25

2.56055

3.12500

-22.0

0.50

3.21875

4.17969

-29.9

0.75

3.27930

4.49219

-37.0

1.00

3.00000

4.34375

-44.8

1.25

2.59180

3.96875

-53.1

1.50

2.21875

3.55469

-60.2

1.75

1.99805

3.24219

-62.3

2.00

2.00000

3.12500

-56.3

2.25

2.24805

3.25000

-44.6

2.50

2.71875

3.61719

-33.0

2.75

3.34180

4.17969

-25.1

3.00

4.00000

4.84375

-21.1

3.25

4.52930

5.46875

-20.7

3.50

4.71875

5.86719

-24.3

global

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.10

3.75

4.31055

5.80469

-34.7

4.00

3.00000

5.00000

-66.7

Si ahora graficamos las soluciones calculadas y la solucin exacta obtenemos:

Se puede apreciar que, si bien los errores siguen siendo considerables, estos han
disminuido apreciablemente respecto de aquellos obtenidos cuando el paso es h = 0.5.
Si se sigue disminuyendo el paso h , los errores van disminuyendo segn una ley que se
grafica a continuacin:

Podemos observar que se puede disminuir el error al disminuir el tamao del paso y que
disminuyendo el paso a la mitad se disminuye el error relativo aproximadamente a la
mitad. Sin embargo se observa que para h = 0.001 el error relativo porcentual todava

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.11

excede el 0.1 %, es decir que el mtodo de Euler exige un gran esfuerzo computacional
para dar niveles de error aceptables.
Es claro que una fuente fundamental de error en este mtodo es que la derivada al inicio
del intervalo se aplica a travs de todo el intervalo.
2.3.1.1.1 Anlisis del error para el mtodo de Euler
Se puede tener cierto conocimiento acerca de la magnitud y propiedades del error que se
comete al aplicar el mtodo de Euler si derivamos a este directamente de la expansin de
la serie de Taylor. Es necesario aclarar que esta estimacin del error inherente al mtodo
en si mismo no contempla, por lo tanto, los errores de redondeo que se producen al
almacenar los nmeros provenientes del calculo en la memoria de las computadoras.
En el error inherente al mtodo, denominado tambin error de truncamiento, se distinguen
dos componentes: el error de truncamiento local, que resulta de la aplicacin del mtodo
en cuestin sobre un paso , y el error de truncamiento propagado que resulta de las
aproximaciones producidas en los pasos previos. La suma de los dos es el total o el error
de truncamiento global.
La ecuacin diferencial sujeta a integracin es de la forma general:
y = f ( x, y )

donde y = dy / dx, y es la variable dependiente, y x es la variable independiente. Como


sabemos, si la funcin solucin y tiene derivadas continuas, puede representarse como
una expansin de la serie de Taylor con respecto a los valores de inicio (xi , yi), es decir:
y i1= yi y'ih

y ''i 2 y'''i 3
y i n n
h h . ... .. .. ..
h R n
2!
3!
n!

donde h = xi+1 - xi y Rn es el residuo definido como:


Rn =

y n1 n1
h
n1 !

donde L esta en algn lugar en el intervalo xi a xi+1.


La ecuacin anterior tambin puede expresarse como:

f ' x i ,y i 2 f '' xi ,y i 3
f n1 x i ,yi n
y i1= yi f x i ,yi h
h
h . .
h O h n1
2!
3!
n!

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.12

donde O( h n +1 ) especifica que el error de funcionamiento local, o residuo, es proporcional


al tamao del paso elevado a la potencia (n+1)-sima.
Al comparar esta ltima ecuacin con la del mtodo de Euler, vemos que esta
corresponde a la serie de Taylor que incluye hasta el trmino de la primera derivada:

'

y i1= yi f x i ,yi h= y i y h= y i h

De la comparacin surge claramente que ocurre un error de truncamiento porque


aproximamos la solucin verdadera mediante un nmero finito de trminos de la serie de
Taylor.
Entonces el error de truncamiento en el mtodo de Euler es atribuible a los trminos
remanentes de la expansin de Taylor que no se incluyeron en la ecuacin, esto es:

f ' xi ,y i 2 f '' x i ,y i y '''i 3


f n1 x i ,y i n
E t=
h
h ..
h O hn1
2!
3!
n!
donde Et es el error de truncamiento local verdadero. Para h lo suficientemente pequeo
(menor que 1) los errores en los trminos de la ecuacin anterior generalmente
disminuyen al aumentar el orden por lo que el resultado es a menudo representado
mediante la aproximacin:
f ' xi ,y i 2
E a=
h
2!

o tambin como E a = O(h 2 ) donde Ea es el error de truncamiento local aproximado.


Esto significa que el error aproximado local es proporcional al cuadrado del tamao del
paso y a la primera derivada de la ecuacin diferencial. Es decir que si h disminuye el
error disminuye con el cuadrado de h.
El desarrollo de la serie de Taylor proporciona solo un estimado del error de truncamiento
local, pero no proporciona una medida del error de truncamiento propagado y por lo tanto
tampoco del error de truncamiento global. Sin embargo se puede demostrar que el error
de truncamiento global es O(h), es decir de orden 1 o proporcional al tamao del paso.
Es obvio que el mtodo de Euler proporcionara predicciones libres de error si la funcin
solucin de la ecuacin diferencial es lineal, debido a que para una funcin lineal la
derivada segunda es nula, o visto de otra forma porque Euler utiliza segmentos de lnea
CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.13

recta para aproximar la solucin. De all que el mtodo de Euler se conozca como uno de
primer orden. De la misma manera, podemos extrapolar, los mtodos de orden n-simo
darn resultados perfectos si la funcin solucin de la ecuacin diferencial a resolver es
un polinomio de orden n-simo.

2.3.2

Mtodo de Heun

Como ya hemos mencionado la fuente fundamental de error en el mtodo de Euler es que


la derivada de la funcin al inicio del intervalo se aplica a travs de toda la longitud del
mismo. El mtodo de Heun propone mejorar la estimacin de la pendiente calculando las
derivadas al comienzo y al final del intervalo. Luego, estas derivadas se promedian para
obtener una estimacin mejorada de la pendiente para todo el intervalo. Este
procedimiento se ilustra en la siguiente figura:

En este mtodo primero se calcula la derivada al comienzo del intervalo:


'

y i= f x i , y i
y se usa para extrapolar linealmente a un valor de y i+1, que distinguiremos con el
suprandice 0 por ser la misma una prediccin intermedia y no la respuesta final como lo
hubiera sido en el mtodo de Euler:
y 0i1= yi f xi , y i h

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.14

Esta ecuacin es la llamada ecuacin predictor y da una prediccin intermedia de yi+1,


0
denominada y i+
1 , que permite el clculo de una estimacin de la pendiente al final del
intervalo:
y'i1= f x i 1 ,y0i 1
Luego se obtiene una pendiente promedio para el intervalo:
0
y 'i y 'i1 f x i , y i f x i1 , y i1
=
y =
2
2
'

Esta pendiente promedio se usa para extrapolar nuevamente desde yi a yi+1 usando el
mtodo, ya conocido, de Euler
y i1= yi

f xi , y i f x i1 , y 0i1
2

la cual es conocida como ecuacin corrector.


El mtodo de Heun es un procedimiento predictor corrector o multipaso. Este puede
expresarse en forma resumida como:
y0i 1 = y i f xi , y i h

PREDICTOR

CORRECTOR

y i1= yi

f x i , y i f x i 1 , y 0i 1
2

Como la ecuacin corrector tiene a yi+1 en ambos miembros, entonces puede aplicarse en
forma iterativa, y de esta manera obtener una estimacin mejorada de y i+1. El criterio de
iteracin no necesariamente converge a la solucin verdadera sino que lo har sobre una
solucin aproximada con un error de truncamiento finito. Como sucede con la mayora de
los mtodos iterativos un criterio de terminacin para la convergencia del corrector est
dado por la ecuacin:
j
j-1
y i1
- y i1
a=
100 %
j
y i1
-1
donde yij+1 e yij+
1 resultan de dos iteraciones sucesivas, la actual y la anterior
respectivamente.
Ejemplo. Resolver mediante el mtodo de Heun la siguiente ecuacin diferencial:

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.15

dy
'
= y = 4 e 0. 8 x - 0 .5 y
dx
desde x = 0 a x = 4, con un tamao de paso h = 1, y la condicin inicial en x = 0 es y = 2.
Antes de resolver el problema en forma numrica y a los efectos de comparar error
calculamos la solucin exacta que es :
y=

4
e 0. 8 x - e-0 .5 x 2 e-0 . 5 x
1.3

Ahora, ya abordando el problema desde el punto de vista numrico, inicialmente


calculamos la pendiente en ( x0 , y0 ):
'

y 0= 4 e 0 - 0.5 2 = 3
Se puede apreciar la falta de precisin de este calculo si tenemos en cuenta que la
pendiente promedio real para el intervalo [ 0 , 1 ] es 4.1946.
Usando la ecuacin predictor obtenemos un estimado de y en x = 1:
'

y10= y0 { y 0 h = 2 3 1 = 5
Obsrvese que este sera el resultado que se obtendra con Euler, con un error relativo
porcentual del 25.3 %.
0
Ahora para mejorar el estimado anterior en Yi+1 usamos el valor y 1 para predecir la
pendiente en el final del intervalo:
y'1= f x1 ,y10 =4 e 0. 8 1 - 0. 5 5 = 6. 402164
Esta pendiente se promedia con la pendiente inicial para obtener una pendiente promedio
sobre el intervalo [ 0,1 ]
'

y=

3 6. 402164
= 4. 701082
2

Podemos ver que esta pendiente promedio calculada es mas cercana a la pendiente
promedio verdadera de 4.1946.
Ahora aplicamos la ecuacin corrector, sin iterar:
y1 = 2 4 .701082 1 = 6. 701082

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.16

Se observa claramente que esta estimacin, que se obtuvo sin iteracin sobre la ecuacin
corrector, tiene un error relativo porcentual del 8.18 % respecto de la solucin exacta.
Entonces esta es mucho mas aproximada a la solucin exacta que la que se obtuvo en el
primer paso, que es equivalente a la aplicacin simple de Euler.
Si refinamos la prediccin de y1 al sustituir este valor calculado en el segundo miembro de
la ecuacin corrector tendremos:
'

'

y y
y 1= y0 0 1 h
2
Ahora calculamos nuevamente la estimacin de la pendiente en el punto final del
intervalo:
y1 = 4 e0.8 x1 - 0.5 y1 = 4 e0.8 1 - 0.5 6.701082 = 5.551623

Y por ltimo con esta nueva estimacin de la pendiente obtenemos una nueva estimacin
del valor de la funcin al final del intervalo:
y1 = 2 +

3 + 5.551623
1 = 6.275811
2

Esta nueva estimacin tiene un error relativo porcentual es de 1.31 %.


Debe tenerse en cuenta de que puede suceder que al efectuar un nmero mayor de
iteraciones el error aumente. Si esto sucediera significara que el tamao del paso
utilizado no es el adecuado y tendramos que disminuirlo. Para el caso particular que
estamos analizando si iterramos nuevamente obtendramos un valor de y1 = 6.382129, lo
que significara un error relativo porcentual de 3.03%. esto nos indica en principio que el
paso h = 1 que estamos utilizando es excesivo.
Los resultados se sintetizan en la siguiente tabla:
x

yverdadero

1 iteracin
yHeun

15 iteraciones

yHeun

r
%

2.0000000

2.0000000

0.00

2.0000000

0.00

6.1946314

6.7010819

8.18

6.3608655

2.68

14.8439219

16.3197819

9.94

15.3022367

3.09

33.6771718

37.1992489

10.46

34.7432761

3.17

75.3389626

83.3377674

10.62

77.7350962

3.18

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.17

En el siguiente grfico podemos ver una comparacin, para la ecuacin polinmica del
ejemploanterior, entre los mtodos de Heun, Euler, calculado con h = 0.5, y la solucin
verdadera:

2.3.1.2.1 Anlisis del error para el mtodo de Heun


En las ecuaciones predictor y corrector que vimos precedentemente la derivada es una
funcin tanto de la variable independiente x, como de la variable dependiente y. En casos
tales como polinomios, donde la EDO es solo funcin de la variable independiente la
ecuacin predictor no es requerida y el corrector se aplica solo una vez en cada paso.
Para estos casos la tcnica se aplica en forma concisa como:

y i +1 = y i +

f ( xi ) + f ( xi +1 )
h
2

Por otro lado, si recordamos la expansin de Taylor para una funcin f(x) alrededor del
punto xi, tendremos:
f '' (xi ) 2 f '' ' (xi ) 3
f (n)(xi ) n
y i +1 = y i + f (xi ) h +
h +
h + .. +
h + O(h n +1 )
2!
3!
n!
'

La derivada segunda de la funcin f(x) en el punto xi puede expresarse en forma


aproximada como:

f (xi ) =

f (xi +1 ) f (xi )
h

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.18

Si reemplazamos esta en la expansin de Taylor y tomamos el desarrollo hasta el trmino


de orden 3 tendremos que:

f (xi +1 ) f (xi )
f (xi ) 3
f (xi +1 ) f (xi )
h
y i +1 = y i + f (xi ) h +
h2 +
h = y i + f (xi ) h +
h + O(h3 )
2!
3!
2
Reordenando la ecuacin queda:

y i +1 = y i +

f (xi +1 ) + f (xi )
h + O(h3 )
2

Vemos que los dos primeros trminos del segundo miembro se corresponden con la
expresin de la ecuacin corrector del mtodo de Heun. Por lo tanto, el error de
truncamiento local del mtodo de Heun es de orden 3 y esta dado por la expresin:
Ea =

f ( ) 3
h
12

Queda demostrado de esta manera que el mtodo de Heun es de segundo orden porque
se incluyen trminos de segundo orden del desarrollo de Taylor. Ntese que si la funcin
solucin es un polinomio cuadrtico o inferior el mtodo de Heun es exacto puesto que la
tercer derivada de la funcin solucin es cero.
Puede demostrarse que el error global es de orden O(h2). Esto significa que al disminuir el
paso h disminuye el error a una velocidad mayor que para el mtodo de Euler.

2.3.3

Mtodo del punto medio ( o del polgono mejorado)

Esta tcnica es otra simple modificacin del mtodo de Euler. El mtodo consiste en usar
el mtodo de Euler para predecir un valor de y en el punto medio del intervalo:
y i + 1 / 2 = y i + f ( xi , y i )

h
2

Este valor predicho se usa para calcular una pendiente en el punto medio del intervalo:

y i + 1 / 2 = f ( xi + 1 / 2 , y i + 1 / 2 )

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.19

Esta pendiente se considera como una pendiente promedio en todo el intervalo. Luego
con esta pendiente promedio estimada se extrapola linealmente desde xi hasta xi+1:
y i +1 = y i + f ( xi + 1 / 2 , y i + 1 / 2 ) h

Esta tcnica no es iterativa puesto que yi+1 no esta en ambos miembros de la ecuacin
corrector.

2.3.1.3

El error en el mtodo del punto medio

En un anlisis similar que el realizado para el mtodo de Heun se demuestra que el


mtodo del polgono mejorado tambin es un mtodo de segundo orden, que
tampoco requiere de la evaluacin de derivadas superiores al primer orden.
Tambien en este mtodo los errores de truncamiento local y global son de orden
O(h3) y O(h2) respectivamente.

2.3.4

Mtodos de Runge Kutta

El mtodo de Heun, el del punto medio y la misma tcnica de Euler son casos particulares
de una clase mas general de procedimientos de un paso denominados mtodos de Runge
Kutta. Esta afirmacin ser demostrada en los desarrollos subsiguientes.
CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.20

Los mtodos de Runge Kutta (RK) tienen la caracterstica de poseer precisiones propias
de desarrollos de Taylor que incluyen trminos de derivadas de ordenes superiores a uno
sin requerir el clculo de las mismas.
Si escribimos la ecuacin original del mtodo de Euler en forma generalizada, tendremos:

y i +1 = y i + ( xi , y i , h ) h
donde a ( xi , y i , h ) se la denomina funcin incremento, y puede ser interpretada como
una pendiente representativa sobre el intervalo. La funcin incremento se escribe en
general como:
= a1 k1 + a2 k2 + .......... .......... + an k n

donde las a son constantes y las k son:


k1 = f ( xi , y i )

k2 = f ( xi + p1 h, y i + q11 k1 h )

k3 = f ( xi + p2 h, y i + q21 k1 h + q22 k2 h )
.
kn = f ( xi + pn-1 h, y i + qn-1,1 k1 h + qn-1,2 k2 h + .......... .. + qn-1,n-1 kn-1 h )

Se observa claramente que las k son relaciones de recurrencia ya que la primera


interviene en la segunda, a su vez la primera y la segunda intervienen en la tercera y as
sucesivamente.
Es posible concebir varios tipos de mtodos de Runge Kutta al emplear diferentes
nmeros de trminos en la funcin incremento, que en general tiene n. Si tomamos n = 1,
mtodo de Runge Kutta de primer orden, tendremos que la funcin incremento es:

= a1 k1 = a1 f ( xi , y i )
Como se observa el mtodo de Runge Kutta de primer orden es el mtodo de Euler.
Una vez que se elige n, se evalan las a, p y q al igualar la ecuacin inicial a los trminos
correspondientes de la serie de Taylor. As, al menos para las versiones de orden inferior,
el nmero de trminos n representa el orden de la aproximacin.
Por ejemplo, los mtodos de Runge Kutta de segundo orden, n = 2, para los cuales la
funcin incremento consta de dos trminos, sern exactos si la solucin de la ecuacin
diferencial es una cuadrtica. Adems, como los trminos que tienen h3 y mayores no son
considerados en el desarrollo el error de truncamiento local es O(h3) y el global es O(h2).

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.21

2.3.1.4.1 Mtodos de Runge Kutta de segundo orden.


Si la funcin incremento tiene dos trminos, esto es n = 2 entonces la ecuacin general
del mtodo de Runge Kutta se escribe como:

y i +1 = y i + ( a1 k1 + a2 k2 ) h
Las ai son constantes a determinar y las ki son:
k1 = f ( xi , y i )

k2 = f ( xi + p1 h, y i + q11 k1 h )

Las constantes p1 y q11 tambin deben ser determinadas. En definitiva deberemos


determinar los valores de las constantes a1, a2, p1 y q11.
Para ello desarrollamos la serie de Taylor de segundo orden para y i+1 en trminos de yi y
la derivada primera de la funcin respecto de x valuada en xi, yi , f ( xi , y i ) :

y i +1 = y i + f ( xi , y i ) h +

f ( x i , y i ) 2
h
2!

Si tenemos en cuenta que :


f ( xi , y i ) =

f ( x, y ) f ( x, y ) dy
+

x
y
dx

Sustituyendo esta en la anterior, tendremos que:

y i1= yi f x i ,yi h

f x,y f x,y dy h2


x
y dx 2!

Por otro lado desarrollamos por serie de Taylor a la funcin k2, recordando que una serie
de Taylor para dos variables se define como:
g ( x +r,y +r ) = g ( x,y ) + r

g
g
+ s
+ .......... ........
x
y

Entonces tendremos que:


k2 = f ( xi + p1 h, y i + q11 k1 h ) = f ( xi , y i ) + p1 h

f
f
+ q11 k1 h
+ .........
x
y

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.22

Si ahora reemplazamos k1 y k2 desarrollado como serie en la ecuacin inicial nos queda:


y i +1 = y i + a1 h f ( xi , y i ) + a2 h f ( xi , y i ) + a2 p1 h2

f
f
+ a2 f ( xi , y i ) q11 h2
+ ....
x
y

Si agrupamos trminos:

f
f
y i1= yi [ a1f x i ,yi a2f x i ,yi ]h a2p1 a2 f x i ,yi q11
h2 . .. .
x
y

Si comparamos trminos de esta ltima ecuacin con:

y i1= yi f x i ,yi h

f x,y f x,y dy h2


x
y dx 2!

para hacer equivalentes las dos ecuaciones se debe cumplir que:


a1 + a2 = 1 , a2 p1 =

1
2

a2 q11 =

1
2

Se observa que estas tres ecuaciones simultneas contienen las cuatro constantes
desconocidas. Al haber una incgnita mas que el nmero de ecuaciones, no existe un
conjunto nico de constantes que satisfagan las ecuaciones. Sin embargo, podemos
suponer una de las constantes y calcular a las otras tres. En consecuencia, existe una
familia de mtodos de segundo orden.
Si hacemos que todas las constantes queden, por ejemplo, en funcin de a2:
a1 = 1 - a2 , p1 =

1
2 a2

q11 =

1
2 a2

Debido a que podemos elegir infinitos valores para a2, entonces tenemos infinitos mtodos
de Runge Kutta de segundo orden. Cada una de estas versiones daran el mismo
resultado si la solucin de la ecuacin diferencial ordinaria fuera cuadrtica, lineal o
constante, y diferentes resultados si la solucin es mas complicada.
Mtodo de Heun con un solo corrector : Para a2 = tendremos que, por reemplazo en las
ecuaciones anteriores, a1 = , p1 = 1 y q11 = 1. Reemplazando estos valores en la
ecuacin general de segundo orden del mtodo de Runge Kutta :

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.23

y i +1 = y i + ( a1 k1 + a2 k2 ) h
Obtendremos la ecuacin:

1
1
y i1= yi k 1 k 2 h
2
2
Ecuacin esta donde:
k1 = f ( xi , y i )

k2 = f ( xi + h, y i + k1 h )

Se observa que k1 es la pendiente en el inicio del intervalo y k2 la pendiente al final del


mismo. Quda claro entonces que se reproduce de esta manera el mtodo de Heun sin
iteracin.
Mtodo del punto medio: Para a2 = 1, tendremos entonces, por reemplazo en las
ecuaciones correspondientes, que a1 = 0, p1 = q11 = . Si reemplazamos a estas
constantes en la ecuacin general de segundo orden:

y i +1 = y i + ( a1 k1 + a2 k2 ) h
Quedar la ecuacin:
y i +1 = y i + k2 h

Ecuacin esta donde:


k 1= f xi ,y i

1
1
k 2 = f x i h,y i k 1h
2
2

Se observa que k1 es la pendiente en el inicio del intervalo y k2 la pendiente en el punto


medio del mismo. Entonces, con estos valores de constantes se reproduce el mtodo del
punto medio.
Mtodo de Ralston: Para a2 = 2/3, tendremos que, por reemplazo en las ecuaciones
anteriores, a1 = 1/3 , p1 = q11 = . Si reemplazamos estos valores en la ecuacin general
de segundo orden :

y i +1 = y i + ( a1 k1 + a2 k2 ) h
CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.24

Quedara la ecuacin:

1
2
y i1= yi k 1 k 2 h
3
3
Ecuacin donde:
k 1= f xi ,y i

3
3
k 2 = f x i h,y i k 1h
4
4

Se observa que k1 es la pendiente en el inicio del intervalo y k2 la pendiente en el punto


ubicado a 3/4 del mismo. Este es el denominado mtodo de Ralston.

Ejemplo: Usar el mtodo de punto medio y el mtodo de Ralston para resolver


numricamente la ecuacin:
dy
= - 2 x 3 + 12 x 2 - 20 x + 8.5
dx

desde x = 0 hasta x = 4 con un paso de h = 0.5. La condicin inicial en x = 0 es y = 1.

a) Mtodo del punto medio:


k 1= f xi ,y i

1
1
k 2 = f x i h,y i k 1h
2
2

reemplazando, y teniendo en cuenta que la ecuacin solo depende de x:


k1 = f ( xi , y i ) = 2 ( 0 ) 3 + 12 ( 0 ) 2 20 ( 0 ) 8.5 = 8.5
k2 = 2 ( 0.25 ) 3 + 12 ( 0.25 ) 2 20 ( 0.25 ) + 8.5 = 4.21875

Luego, reemplazando en:


y i +1 = y i + k2 h

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.25

Obtendremos el valor en x = 0.5:


y ( 0.5 ) =1 + 4.21875 0.25 = 3.109375

donde el error relativo porcentual respecto de la solucion exacta es de 3.4%. El clculo se


repite para los otros puntos aplicando el mismo criterio.

b) Mtodo de Ralston:
k 1= f xi ,y i

3
3
k 2 = f x i h,y i k 1h
4
4

Reemplazando en las anteriores, y teniendo en cuenta que la ecuacin solo depende de


x, tendremos:
k1 = f ( xi , y i ) = 2 ( 0 ) 3 + 12 ( 0 ) 2 20 ( 0 ) 8.5 = 8.5
k2 = 2 ( 0.375 ) 3 + 12 ( 0.375 ) 2 20 ( 0.375 ) + 8.5 = 2.58203125

Reemplazando estos valores en la ecuacin del mtodo:

1
2
y i1= yi k 1 k 2 h
3
3
Y nos queda para x = 0.5 :

1
2
y 0. 5= 1 8.5 2. 58203125 0. 5=1 4. 5546875 0.5=3 .27734375
3
3
El error relativo porcentual respecto de la solucin exacta es de es de 1.82%. Luego, el
clculo se repite para los otros puntos aplicando el mismo procedimiento.
Heun (sin iteracin)
x

yverdadero

Punto Medio

Ralston

r %

r
%

0.0

1.00000

1.00000

0.0

1.000000

0.0

1.000000

0.0

0.5

3.21875

3.43750

6.8

3.109375

3.4

3.277344

1.8

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.26

1.0

3.00000

3.37500

12.5

2.812500

6.3

3.101563

3.4

1.5

2.21875

2.68750

21.1

1.984375

10.6

2.347656

5.8

2.0

2.00000

2.50000

25.0

1.750000

12.5

2.140625

7.0

2.5

2.71875

3.18750

17.2

2.484375

8.6

2.855469

5.0

3.0

4.00000

4.37500

9.4

3.812500

4.7

4.117188

2.9

3.5

4.71875

4.93750

4.6

4.609375

2.3

4.800781

1.7

4.0

3.00000

3.00000

0.0

3.000000

0.0

3.031250

1.0

En la tabla anterior se presentan los valores de la funcin solucin de la ecuacin


diferencial propuesta calculada segn los distintos mtodos. En el grfico inferior se
graficaron dichas soluciones para su comparacin.

2.3.1.4.2 Mtodos de Runge Kutta de tercer orden.


Partiendo de la ecuacin general de Runge Kutta y haciendo n = 3 nos queda:
y i +1 = y i + ( a1 k1 + a2 k2 + a3 k 3 ) h
Se puede hacer un hacer un desarrollo similar al del mtodo de segundo orden. Como

resultado de dicho desarrollo se llegan a 6 ecuaciones con 8 incgnitas por lo que deben
especificarse con antelacin los valores de 2 de ellas con el fin de establecer todos los
parmetros restantes.
Una versin comn del mtodo de Runge Kutta de tercer orden que resulta es:
y i +1 = y i +

1
( k1 + 4 k2 + k3 ) h
6

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.27

donde:
k 1= f xi ,y i

1
1
k 2 = f x i h,y i k 1h
2
2
k 3= f xi h,y i k 1h2k 2h
Puede observarse que si la derivada de la funcin solucin depende solo de x este
mtodo de tercer orden se reduce a la regla de Simpson 1/3. Los mtodos de Runge
Kutta de tercer orden tienen errores local y global de O(h4) y O(h3) respectivamente y dan
resultados exactos cuando la funcin es una funcin cbica o de menor orden. Si se trata
de polinomios la ecuacin anterior dar tambin resultados exactos cuando la funcin
solucin de la ecuacin diferencial es de cuarto orden debido a que la regla de Simpson
1/3 proporciona estimaciones exactas de la integral de cbicas.

2.3.1.4.3 Mtodos de Runge Kutta de cuarto orden.


De las infinitas versiones de los mtodos de Runge Kutta los de cuarto orden son los
ms utilizados. Partiendo de la ecuacin general y haciendo n = 4 tenemos:
y i +1 = y i + ( a1 k1 + a2 k2 + a3 k3 + a4 k4 ) h

Se puede hacer un hacer un desarrollo similar al del mtodo de segundo orden. Como
resultado de dicho desarrollo se llega a un nmero de ecuaciones inferior a la cantidad de
incgnitas por lo que deben especificarse con antelacin los valores de algunas de ellas
con el fin de establecer todos los parmetros restantes.
La forma de uso mas comn, de todas las infinitas posibilidades, es la que se denomina
mtodo de Runge Kutta clsico de cuarto orden. La expresin resultante es:
y i +1 = y i +

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

donde:

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.28

k 1= f xi ,y i

1
1
k 2 = f x i h,y i k 1h
2
2
1
1
k 3= f x i h,y i k 2h
2
2
k 4 = f x i h,y i k 3h

Puede observarse que si la derivada de la funcin solucin depende solo de x el mtodo


de Runge Kutta clsico de cuarto orden es similar a la regla de Simpson 1/3. Tambin
presenta alguna similitud con el mtodo de Heun, en el sentido que son desarrolladas
estimaciones mltiples de las pendientes en el punto medio, para finalmente, combinadas
con las pendientes obtenidas al inicio y final del intervalo, obtener una pendiente promedio
mejorada para el intervalo. En esta versin del mtodo, como en las anteriores de
distintos ordenes, cada una de las ki representa una pendiente. Luego, reemplazadas
estas en la primera expresin, se obtiene una pendiente media mejorada representativa
del intervalo. La interpretacin grfica de las pendientes estimadas ki se presenta a
continuacin:

Ejemplo: Resolver, utilizando el mtodo de Runge Kutta de cuarto orden, las siguientes
ecuaciones:
a)

dy
= f ( x, y ) = -2 x 3 + 12 x 2 - 20 x + 8.5
dx

mediante un tamao de paso de h = 0.5 y una condicin inicial de y = 1 en x = 0.


En principio debemos calcular las pendientes ki, segn las ecuaciones dadas para las
mismas. Obsrvese que la derivada solo depende de x:

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.29

k 1= f xi ,y i = -2 x i 12 x i -20 x i 8. 5

1
1
1
1
1
k 2 = f x i h,y i k 1h = -2 x i h 12 x i h -20 x i h 8 .5
2
2
2
2
2
3

1
1
1
1
1
k 3= f x i h,y i k 2h =-2 x i h 12 x i h -20 x i h 8.5
2
2
2
2
2
3

k 4 = f x i h,y i k 3h =-2 xi h 12 xi h -20 x ih 8 .5


Entonces tenemos que xi = 0, xi+1/2 = 0.25 y xi+h = 0.5.
Reemplazando en las anteriores:
k1 = -2 ( 0 ) 3 + 12 ( 0 ) 2 - 20 ( 0 ) + 8.5 = 8.5
k2 = -2 ( 0.25 ) 3 + 12 ( 0.25 ) 2 - 20 ( 0.25 ) + 8.5 = 4.21875
k3 = -2 ( 0.25 ) 3 + 12 ( 0.25 ) 2 - 20 ( 0.25 ) + 8.5 = 4.21875
k4 = -2 ( 0.5 ) 3 + 12 ( 0.5 ) 2 - 20 ( 0.5 ) + 8.5 = 1.25

Luego estas pendientes son reemplazadas en la expresin del mtodo de Runge Kutta
clsico de cuarto orden:
y i +1 = y i +

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

Aplicada esta ecuacin, para obtener el valor de la funcin en 0.5, y(0.5), partiendo del valor
conocido de la funcin en 0, y(0):
y(0.5) = 1 +

1
( 8.5 + 2 4.21875 + 2 4.21875 + 1.25 ) 0.5 = 3.21875
6

Esta solucin coincide con la exacta. Esto se debe a que la solucin verdadera es de
cuarto orden porque estamos integrando un polinomio de tercer orden. Entonces este
mtodo, que para polinomios reproduce la solucin de Simpson 1/3 nos proporciona la
solucin exacta.

b)

dy
= f ( x, y ) = 4 e0.8 x 0.5 y
dx

mediante un tamao de paso de h = 0.5 y una condicin inicial de y = 2 en x = 0.


De la misma manera procedemos al clculo de las pendientes partiendo de que en xi = 0,
yi = 2:

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.30

k1 = f ( 0,2 ) = 4 e0.8 ( 0 ) 0.5 ( 2 ) = 3

Este valor de k1 se usa para calcular un valor de y y la pendiente k2 en el punto medio:

h
0 .5
y 0 .25 = y 0 k 1 =23.
=2. 75
2
2

k 2 = f 0. 25,2 .75 =4e 0 .8 0 . 25 0. 5 2. 75 =3. 510611

Esta pendiente k2 se usa a su vez para calcular otro valor de y y otra pendiente, k3, en el
punto medio del intervalo:

h
0. 5
y 0 .25 = y 0 k 2 =23. 510611.
=2 .877653
2
2

k 3= f 0 . 25,2. 877653 =4e 0. 8 0. 25 0 .5 2 .877653 =3 . 446785


Despus, esta pendiente k3 se usa a su vez para calcular el valor de y y la pendiente k4 en
el punto final del intervalo:
y ( 0.5 ) = y ( 0 ) + k3 h = 2 + 3.446785.( 0.5 ) = 3.723392

k4 = f ( 0.5,3.7233 92 ) = 4 e0.8 ( 0.5 ) 0.5 ( 3.723392 ) = 4.105603

Por ultimo, las cuatro estimaciones de la pendiente se combinan para obtener una
pendiente promedio, que a su vez es utilizada para realizar la prediccin al final del
intervalo:
y(0.5) = 2 +

1
( 3 + 2 3.510611 + 2 3.446785 + 4.105603 ) 0.5 = 3.751669
6

La solucin verdadera es y(0.5) = 3.751521.

2.3.1.4.4 Mtodos de Runge Kutta de orden superior.


Si se requiere mayor exactitud en las estimaciones es recomendable utilizar alguno de los
mtodos de Runge Kutta de quinto orden. Entre estos se destaca el mtodo de Butcher:
y i +1 = y i +

1
(7 k1 + 32 k3 + 12 k4 + 32 k5 + 7 k6 ) h
90

donde:
CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.31

k 1= f xi ,y i

1
1
k 2 = f x i h,y i k 1h
4
4
1
1
1
k 3= f x i h,y i k 1h k 2h
4
8
8
1
1
k 4 = f x i h,y i k 2hk 3h
2
2
3
3
3
k 5= f x i h,y i k 1h k 4h
4
16
16
3
2
12
12
8
k 6 = f x i h,y i k 1h k 2h k 3h k 4h k 5h
7
7
7
7
7

Este mtodo es mas preciso que el de cuarto orden, pero es mucho mayor la complejidad
adicional y el esfuerzo computacional.

2.3.1.4.5 Comparacin de los mtodos de Runge Kutta


La comparacin se plantea en trminos de resolver la ecuacin diferencial:
dy
= f ( x, y ) = 4 e0.8 x 0.5 y
dx

mediante distintos tamaos de paso. La condicin inicial es que la funcin solucin vale :
y = 2 en x = 0 y el intervalo de solucin es el [0,4].
Se compararon las exactitudes de los distintos mtodos al calcular el resultado de la
funcin solucin en x = 4. La respuesta exacta para este punto del dominio es:
y(4) = 75.33896
Se realiz el calculo mediante los mtodos de Euler, Heun sin iteracin, Runge Kutta de
tercer orden, Runge Kutta clsico de cuarto orden y el Runge Kutta de Butcher de
quinto orden.
La comparacin se realizo calculando el error relativo porcentual de cada mtodo para
distintos tamaos de paso. El esfuerzo computacional involucrado en la obtencin de
cada solucin se define como:
Esfuerzo = nf

b- a
h

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.32

donde nf es el nmero de evaluaciones de la funcin involucradas en el clculo para un


determinado mtodo. Para nf menores o iguales que 4, nf es igual al orden del mtodo.
Para ordenes superiores nf es mayor que el orden del mtodo (el mtodo de Butcher es
de orden 5 y requiere de 6 evaluaciones). Por otro lado, la cantidad ( b a ) / h (el
intervalo dividido por el tamao del paso) es la cantidad de aplicaciones del mtodo para
obtener el resultado.
Si consideramos que las evaluaciones de la funcin son con frecuencia los pasos que
consumen la mayor cantidad de tiempo, la ecuacin anterior proporciona una cierta
medida del tiempo de ejecucin requerido para alcanzar la respuesta.
Por ultimo se grafic el valor absoluto del error relativo porcentual contra el esfuerzo
computacional para cada uno de los mtodos utilizados en la comparacin.

La simple inspeccin del l grfico anterior nos permite concluir que:

Los mtodos de orden superior alcanzan mayor exactitud para el mismo esfuerzo
computacional.
La ganancia en exactitud con el esfuerzo adicional (disminuyendo h) tiende a
disminuir despus de un punto. Las curvas primero caen con rapidez y luego
tienden a nivelarse.

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.33

2.4

2.4.1.1

Resolucin de Ecuaciones Diferenciales Ordinarias de orden n mediante las


tcnicas de Runge - Kutta.
Transformacin de una EDO de orden n en un sistema de n EDOs de primer
orden

Considrese una ecuacin diferencial de la siguiente forma:

dn y
dy d 2 y
d n1 y
=
f
x,y,
,
,..
..
..
,
dx dx 2
dx n
dx n1

para x [a,b]

Esta ecuacin diferencial ordinaria involucra a la funcin y y a sus n primeras derivadas,


puesto que la derivada n-sima depende, segn una funcin conocida f, de x, y y las n 1
primeras derivadas.
Para que la ecuacin anterior tenga una solucin nica son necesarias n condiciones
adicionales sobre la funcin incgnita y. Como sabemos, estas condiciones adicionales se
llaman condiciones iniciales si estn dadas en un mismo punto del intervalo [a,b], o
condiciones de contorno si estn dadas en ms de un punto del intervalo [a,b].
Un caso habitual de condiciones iniciales es que la funcin y y sus n - 1 primeras
derivadas tengan valores prescritos conocidos 0, 1, 2,.........,n-1 en el extremo a del
intervalo:

y ( a ) = 0 ;

2
dy
( a ) = 1 ; d 2y ( a ) = 2
dx
dx

;......... ..;

d n-1y
dx n-1

( a ) = n 1

Entonces, si se complementa la ecuacin diferencial ordinaria con las condiciones


iniciales anteriores, se obtiene un problema de valor inicial. Partiendo de la informacin
que se tiene de la funcin y en el punto x = a debemos integrar la ecuacin diferencial
ordinaria para hallar la evolucin de la funcin y en todo el intervalo [a,b].
Por otro lado sabemos que una ecuacin diferencial ordinaria de orden n puede ser
transformada en un sistema de n ecuaciones diferenciales ordinarias de primer orden con
n funciones incgnitas. Es decir que podemos reducir el orden de las derivadas a costa de
aumentar el nmero de incgnitas

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.34

En nuestro caso esta transformacin es necesaria puesto que las tcnicas numricas que
hemos visto hasta este momento estn diseadas para resolver problemas de primer
orden.
La idea bsica de la transformacin es tratar explcitamente como funciones incgnita a
las n 1 primeras derivadas de la funcin y. Esto puede expresarse como:

y1 y
y2
y3

dy dy1
=
dx
dx
d2y
dx

dy 2
dx

dy n 1
dx

(1)

.
yn

dny
dx

Con la ayuda de las ecuaciones anteriores la ecuacin diferencial ordinaria original puede
escribirse como:

dy n
= f ( x, y1 , y 2 , y 3 ,......, y n )
dx

para x [a,b]

Queda claro que, en definitiva, solo hemos hecho un cambio de notacin. Si tomamos
esta ltima ecuacin y la combinamos con las (1) a excepcin de la primera y se
transforman tambin las condiciones iniciales se obtiene:

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.35

dy 1 dy

dx dx
dy 2 d 2 y
] y3 =

dx dx 2
]:
]
dy n1 d n y
] y n=
n
dx
dx
dy
] n = f x,y 1 ,y2 ,y 3 , ... .. .,y n
dx

y 2=

y 1 a = y a = 0
dy
] y 2 a = a = 1
dx
d2 y1
] y3 a = 2 a = 2
]
dx
].
d n-1 y
] . y n a = n-1 a = n1
dx

n ecuaciones con n incognitas

n condiciones iniciales

Ejemplo: Expresar la siguiente ecuacin diferencial ordinaria de orden 3 en un sistema de


tres ecuaciones diferenciales ordinarias de orden 1.
Dada la siguiente ecuacin:
x

d3y( x)
dx

+2

d2y( x)
dx

+ 3 x2

dy ( x )
+ 4 y ( x ) = 4 ex + 2
dx

Donde las condiciones iniciales son en x = 0, y(0) =4, y(0) = -1, y(0) = 2.
Transformarla en un sistema de 3 ecuaciones de primer orden.
Para ello definimos las siguientes variables dependientes:
y' ( x ) = v ( x )
v' ( x ) = u( x )

Entonces puede apreciarse que:


y' ( x ) = v ( x )
y '' ( x ) = v ' ( x ) = u ( x )
y '' ' ( x ) = v '' ( x ) = u' ( x )
CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.36

La ecuacin original podr entonces escribirse en trminos del siguiente sistema:


y' ( x ) = v ( x )
v' ( x ) = u( x )
u' ( x ) =

4 e x + 2 2 v' ( x ) 3 x 2 y' ( x ) 4 y
x

Y las condiciones iniciales en x = 0:

y (0) = 4; v(0) = 1

2.4.1.2

u(0) = 2

Resolucin de un sistema de n EDOs de primer orden

Ya sea que estemos afrontando un problema de ingeniera cuya solucin implique la


resolucin de una ecuacin diferencial de orden n, o uno que implique la resolucin de un
sistema de ecuaciones diferenciales ordinarias de primer orden, nos enfrentaremos a la
necesidad de resolver un sistema que podremos expresar como sigue:
dy1
= f1 ( x , y1 , y 2 ,......... ..., y n )
dx
dy 2
= f2 ( x , y1 , y 2 ,......... ..., y n )
dx
.
.
dy n
= fn ( x , y1 , y 2 ,......... ..., y n )
dx

Por supuesto, la solucin de tal sistema requiere de que se conozcan las n condiciones
iniciales en el valor inicial del intervalo correspondiente a x.
Todos los mtodos vistos anteriormente para simples ecuaciones pueden extenderse a la
resolucin de sistemas como el anterior. El procedimiento para resolver un sistema de
ecuaciones simplemente involucra aplicar las tcnicas conocidas para cada ecuacin en
cada paso, antes de proceder con el siguiente. Esto quedar claramente ilustrado con el
siguiente ejemplo donde hemos aplicado el mtodo de Euler.

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.37

Ejemplo 1: Resolucin de un sistema de EDOs mediante el mtodo de Euler.


Resolver el siguiente conjunto de ecuaciones diferenciales ordinarias:
dy1
= - 0.5 y1
dx
dy 2
= 4 - 0.3 y 2 - 0.1 y1
dx

Resolveremos el sistema en el intervalo entre x = 0 y x = 2, con condiciones iniciales en x


= 0, y1 = 4 , y2 = 6. Utilizaremos un paso h = 0.5.
Se implementa el mtodo de Euler para cada variable mediante la ya conocida expresin:
y i +1 = y i + f ( xi , y i ) h

Primero calculamos las pendientes:


dy1
= f1 ( 0 , 4, 6) = - 0.5 4 = - 2
dx
dy 2
= f2 ( 0 , 4, 6) = 4 - 0.3 6 - 0.1 4 = 1.8
dx

Y luego los valores de la funcin para el primer paso:


y1 ( 0.5 ) = y1 ( 0 ) + f1 ( 0 , 4 , 6) h = 4 + ( - 2 ) 0.5 = 3
y 2 ( 0.5 ) = y 2 ( 0 ) + f2 ( 0 , 4 , 6) h = 6 + (1.8 ) 0.5 = 6.9

Para un segundo paso volvemos a calcular las pendientes:


dy1
= f1 ( 0.5 , 3, 6.9) = - 0.5 3 = - 1.5
dx
dy 2
= f2 ( 0.5 , 3, 6.9) = 4 - 0.3 6.9 - 0.1 3 = 1.63
dx

Y luego los valores de la funcin para el segundo paso:

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.38

y1 (1.0 ) = y1 ( 0.5 ) + f1 ( 0.5 , 3, 6.9) h = 3 + ( - 1.5 ) 0.5 = 2.25


y 2 (1.0 ) = y 2 ( 0.5 ) + f2 ( 0.5 , 3, 6.9) h = 6.9 + (1.63 ) 0.5 =7.715

Y as contina el clculo hasta el final. Los resultados se resumen en la siguiente tabla:


x

y1

y2

0.0 4.000000 6.000000


0.5 3.000000 6.900000
1.0 2.250000 7.715000
1.5 1.687500 8.445250
2.0 1.265625 9.094870

Ejemplo 2: Resolucin de un sistema de EDOs mediante el mtodo de Runge Kutta


clsico de cuarto orden.
Resolver el mismo conjunto de ecuaciones diferenciales ordinarias anterior:
dy1
= - 0.5 y1
dx
dy 2
= 4 - 0.3 y 2 - 0.1 y1
dx

Resolveremos el sistema en el intervalo entre x = 0 y x = 2, con condiciones iniciales en x


= 0, y1 = 4 , y2 = 6. Utilizaremos un paso h = 0.5.
Si bien la aplicacin del mtodo de Runge Kutta a un sistema de ecuaciones
diferenciales ordinarias no presenta mayor complicacin, desde el punto de vista
conceptual, respecto a su aplicacin a una sola ecuacin, debe tenerse cuidado al
determinarse las pendientes y al calcular los valores intermedios necesarios. Por ello
antes de abordar la resolucin planteada describiremos en detalle los pasos a seguir:

Primero se calculan las pendientes para todas las variables en el valor inicial (las
k1).
Esas pendientes se usarn entonces para hacer predicciones de las variable
dependientes yi en el punto medio del intervalo.

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.39

Dichos valores del punto medio se utilizan, a su vez, para calcular un conjunto de
pendientes en el punto medio (las k2).
Esas nuevas pendientes se usarn entonces para hacer otro conjunto de
predicciones de las variables dependientes yi en el punto medio, que a su vez se
utilizarn para una nueva prediccin de la pendiente en el punto medio (las k3).
Estas despus se emplearn con el fin de hacer las predicciones de las variables
dependientes yi al final del intervalo que sern usadas para calcular las pendientes
del final del intervalo (las k4).
Por ultimo las ki se combinan para formar un conjunto de funciones incremento,
que se utilizan para hacer la prediccin final de las variables dependientes.
Entonces, comenzando el procedimiento antes descripto primero calculamos las
pendientes al inicio del intervalo:
k1,1 = f1 ( 0 , 4, 6) = - 0.5 4 = - 2
k1,2 = f2 ( 0 , 4, 6) = 4 - 0.3 6 - 0.1 4 =1.8

Donde la nomenclatura utilizada debe interpretarse de la siguiente manera: ki,j es el isimo valor de k para la j-sima variable dependiente. Luego calculamos los primeros
valores de y1 e y2 en el punto medio:

( 2 ) = y1 ( 0 ) + k1,1 2h = 4 + ( - 2 ) 0.5
= 3.5
2

y1 h

( 2 ) = y 2 ( 0 ) + k1,2 2h = 6 + (1.8 ) 0.5


= 6.45
2

y2 h

Estos valores se usarn para calcular el primer conjunto de pendientes de punto medio:
k2,1 = f1 ( 0.25 , 3.5, 6.45) = - 0.5 3.5 = - 1.75
k2,2 = f2 ( 0.25 , 3.5, 6.45) = 4 - 0.3 6.45 - 0.1 3.5 =1.715

Estas pendientes, a su vez, se usan para determinar el segundo conjunto de predicciones


de las variables dependientes en el punto medio:

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.40

( 2 ) = y1 ( 0 ) + k2,1 2h = 4 + ( - 1.75 ) 0.5


= 3.5625
2

y1' h

( 2 ) = y2 ( 0 ) + k2,2 2h = 6 + (1.715 ) 0.5


= 6.42875
2

y '2 h

Estos valores se utilizarn para calcular el segundo conjunto de pendientes de punto


medio:
k3,1 = f1 ( 0.25 , 3.5625, 6.42875) = - 0.5 3.5625 = - 1.78125
k3,2 = f2 ( 0.25 , 3.5625, 6.42875) = 4 - 0.3 6.42875 - 0.1 3.5625 =1.715125

Estas pendientes, a su vez, se utilizarn para determinar las predicciones de las variables
dependientes al final del intervalo:
y1 ( h ) = y1 ( 0 ) + k3,1 h = 4 + ( - 1.78125 ) 0.5 = 3.109375
y 2 ( h ) = y 2 ( 0 ) + k3,2 h = 6 + (1.715125 ) 0.5 = 6.857563

Estas predicciones de las variables dependientes al final del intervalo sern utilizadas
para calcular las pendientes al final del intervalo:
k4,1 = f1 ( 0.5 , 3.109375, 6.857563) = - 0.5 3.109375 = - 1.554688
k4,2 = f2 ( 0.5 , 3.109375, 6.857563) = 4 - 0.3 6.857563 - 0.1 3.109375 = 1.631794

Los valores de k se pueden utilizar entonces para calcular las predicciones de las
variables dependientes , mediante la ecuacin:
y i +1 = y i +

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

Reemplazando los valores obtenidos calculamos las variables dependientes y1 e y2


respectivamente:
y1 ( 0.5 ) = y1 ( 0 ) +
y1 ( 0.5 ) = 4 +

1
( k1,1 + 2 k2,1 + 2 k3,1 + k4,1 ) h
6

1
( - 2 + 2 ( - 1.75 ) + 2 ( - 1.78125 ) + ( 1.554688 ) ) 0.5 = 3.115234
6

y
CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.41

y 2 ( 0.5 ) = y 2 ( 0 ) +
y 2 ( 0.5 ) = 6 +

1
( k1,2 + 2 k2,2 + 2 k3,2 + k4,2 ) h
6

1
(1.8 + 2 (1.715 ) + 2 (1.715125 ) + (1.631794 ) ) 0.5 = 6.857670
6

Procediendo de la misma manera para los puntos restantes se obtiene los resultados que
se condensan en la siguiente tabla:
x

y1

y2

0.0 4.000000 6.000000


0.5 3.115234 6.857670
1.0 2.426171 7.632106
1.5 1.889523 8.326886
2.0 1.471577 8.946865

2.5

Resolucin de Ecuaciones Diferenciales Ordinarias de orden n mediante el


mtodo de diferencias finitas.

La integracin hacia delante paso a paso de ecuaciones diferenciales de orden superior


puede tambin efectuarse sustituyendo en la ecuacin diferencial y en sus condiciones
iniciales, las derivadas por las expresiones ya conocidas de derivacin numrica por
diferencias finitas.
Como ya sabemos el reemplazo debe hacerse siempre por expresiones de derivacin
consistentes, es decir, que tengan el mismo orden de interpolacin, o dicho de otra
manera el mismo orden de error.
Los operadores para interpolaciones de distinto orden se obtienen segn lo ya visto en
cursos anteriores y son validas todas las conclusiones vistas entonces. Un breve resumen
de este tema se desarrolla en los Apndices 2.1 y 2.2 del presente captulo.
Ejemplo: Resolver, por el mtodo de diferencias finitas, la siguiente ecuacin diferencial
ordinaria de segundo orden:
d2y
dx

dy
2 y = 0
dx

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.42

en el intervalo entre x = 0 y x = 0.5, con paso h = 0.1, y las siguientes condiciones


= 0.2 .
y(0)
iniciales: y(0) = 0.1 y
Sustituyendo las derivadas primera y segunda que aparecen en la ecuacin diferencial
por las expresiones numricas correspondientes a una interpolacin limitada de segundo
orden, tendremos, para el i-simo punto:
1
h

( y i-1 2 y i + y i +1 )

1
( - y i-1 + 0 y i + y i +1 ) 2 y i = 0
2 h

Reemplazando h = 0.1 nos queda, para el i-simo punto, la siguiente ecuacin:

100 ( y i-1 2 y i + y i +1 ) 5 ( - y i-1 + y i +1 ) 2 y i = 0


Si operamos y reordenamos los trminos nos queda:
105 y i-1 202 y i + 95 y i +1 = 0

Entonces, si despejamos el valor de y en el punto (i + 1), este nos queda en funcin de los
valores de y ya conocidos en los puntos (i) e (i 1):
y i +1 = 2.126 y i 1.105 y i-1

Las condiciones iniciales tambin deben se discretizadas. Entonces tenemos:


y ( 0 ) = 0.1
y (0 ) =

1
( - y i-1 + y i +1 ) = 0.2
2 h

Se puede apreciar que la segunda ecuacin nos permite expresar un punto exterior al
dominio (yi-1), en funcin de otro interior al mismo (yi+1). Entonces:
y -1 = y1 - 0.04

Si aplicamos el operador obtenido los puntos x = 0.1, x = 0.2, .... tendremos:


Para x = 0.1

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.43

y1 = 2.126 y 0 1.105 y -1 = 2.126 ( 0.1) 1.105 ( y1 0.04 )


y1 = 0.213 1.105 y1 + 0.044
2.105 y1 = 0.257
y1 = 0.117

Para x = 0.2
y 2 = 2.126 y1 1.105 y 0 = 2.126 ( 0.117 ) 1.105 ( 0.1) =
y 2 = 0.138

Para x = 0.3
y 3 = 2.126 y 2 1.105 y1 = 2.126 ( 0.138 ) 1.105 ( 0.117 ) =
y 3 = 0.164

para x = 0.4
y 4 = 2.126 y 3 1.105 y 2 = 2.126 ( 0.164 ) 1.105 ( 0.138 ) =
y 4 = 0.196

para x = 0.5
y 5 = 2.126 y 4 1.105 y 3 = 2.126 ( 0.196 ) 1.105 ( 0.164 ) =
y 4 = 0.235

2.5.1

Problemas de valores en la frontera.

Un problema de valores en la frontera se defini como aquel en el cual las condiciones de


contorno se imponen sobre ambos extremos del intervalo que constituye el dominio de
definicin. Para ecuaciones diferenciales ordinarias de orden 2n, en general habr n
condiciones de frontera en cada borde x = a y x = b y estas condiciones contendrn
derivada hasta de orden 2n-1.
La solucin de estos problemas ser planteada en este apartado en base al
procedimientos de Diferencias Finitas, el cual consiste, bsicamente, en reemplazar a
cada una de las derivadas que aparecen en la expresin de la ecuacin diferencia por su
aproximacin en Diferencias Finitas.
CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.44

El procedimiento de clculo se ilustrar con el siguiente ejemplo:


Ejemplo: resolver la siguiente ecuacin diferencial:
d2y
dx 2

y =0

0 x 1

y sujeta a las siguientes condiciones de contorno: y(0)=0 ; y(1)=1


El problema se resolver dividiendo el dominio de definicin en 4 partes iguales, es decir
=0.25.
Paso 1: Discretizacin del dominio
x = 0
0

x x = 1
3

Paso 2: Modelo matemtico de la ecuacin de gobierno


Si se considera una interpolacin limitada de segundo orden, la derivada puede
aproximarse en el punto x = xi mediante la siguiente expresin en diferencias finitas:
d2y
dx

X =Xi

1
2

[ y i 1 2 y i + y i +1 ]

la cual, reemplazada en la ecuacin de gobierno, proporciona la expresin de la ecuacin


diferencial valuada en ese punto:
1
2

[ y i 1 2 y i + y i +1 ] y i

=0

la cual puede representarse por el siguiente operador:

1
2
1
, - 2 1 , 2 =0
2

; [ 16 , -33 , 16 ]=0

el cual constituye el operador de la ecuacin diferencial.


Paso 3: Valoracin de la ecuacin discretizada en cada uno de los puntos incgnitas:

En x = x1 16 y0 33 y1 +16 y2 = 0 -33 y1 +16 y2 = 0 (considerando que y0=0)

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.45

En x = x2 16 y1 33 y2 +16 y3 = 0
En x = x3 16 y2 33 y3 +16 y4 = 0 +16 y2 -33 y1 = -16 (considerando que y4=1)

Las ecuaciones anteriores pueden escribirse en el siguiente como :


-33
16
0

16
-33
16

0
16
-33

y1
y2
y3

0
0
-16

y1
y2
y3

0.22
= 0.44
0.70

Ejemplo: resolver la ecuacin diferencial :


d4y
dx 4

16. y = x

0 x 1

sujeta a las condiciones de contorno: y/0) = y(0) = 0 ; y(1) = y(1) = 0


Paso 1: Discretizacin del dominio

Caso a) = 1/4

Caso b) = 1/8

Paso 2: Modelo matemtico de la ecuacin de gobierno


Para representar a las derivadas que aparecen tanto en la ecuacin de gobierno como en
las condiciones de contorno se considerar una interpolacin limitada de segundo orden.
De acuerdo a ello:
1
[ 1
2

+ 1]

[+1

-2

+ 1]

[+ 1

- 4 + 6 - 4 + 1]

a)

y' i =

b)

y' ' i =

c)

y IV =

1
2
1
4

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.46

+1

+1

-2

-2

+1

+1

-2

+1

+1

-2

+1

+6

-4

+1

+1
1/

+1

-4

Operador de la Ecuacin Diferencial:

[+ 1

1
4

- 4 + 6 16 4 - 4 + 1 = x

Paso 3: Valoracin del operador diferencial en los puntos del dominio.


Caso a)

En el punto x = 0 la solucin es conocida, y(0)=0, por lo cual no se valoriza el operador


en este punto.
4
4
En x = 1 1/ (+1 y* -4 y0 +(6-16 ).y1 4.y2 + 1 y3) = x1 . En esta ecuacin el
valor y* no se conoce ya que x* (x =- ) se ubica fuera del dominio del problema.
Sin embargo, de acuerdo a las condiciones de borde enunciadas anteriormente, en x=0
debe cumplirse la condicin de y(0)=0. Discretizando esta condicin, resulta:
y' '0 =

1
2

[ + 1. y*

- 2 * y 0 + 1. y1 ] = 0

reemplazando arriba, resulta en x =1 1/


4

y * = y1

(+(5-16 ).y1 4.y2 + 1 y3) = x1

En x =2 1/ (+1y0 -4y1 +(6-16 ).y24.y3+1y4) = x2


4
4
1/ (-4 y1+(6-16 ).y2 4.y3) = x2

En x =3 1/ (+1y1 -4y2 +(6 -16 ).y3 4.y4 + 1y*) = x3 , nuevamente, en la


expresin anterior y* correspondera al valor de la funcin en un punto x* (x =1+ ),
ubicado fuera del intervalo. Considerando que en x=1 debe cumplirse la condicin de
borde y(1) = 0, discretizando esta ltima, resulta:

y' 4 =

1
[ y 3 + y* ] = 0
2

y * = y3

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.47

que reemplazado en la ecuacin anterior, resulta para x = 3


4

1/ (+1y1 -4y2 +(7-16 ).y3 ) = x3


Agrupando las ecuaciones que resultan de valuar el operador diferencial en los puntos x1,
x2, x3, y x4 resulta el siguiente sistema de ecuaciones lineales:
4

+5-16
-4
+1
4
-4
+6-16
-4
+1
-4
+7-16

y1
y2
y3

x1.
= x2.
x3.

4
4
4

y1
y2
y3

0.0025
0.0034
0.0020

Caso b)

En x =1 1/ (+(5-16 ).y1 4.y2 + 1 y3) = x1


4
4
En x =2 1/ (-4 y1+(6-16 ).y2 4.y3) = x2
4
4
En x =3 1/ (+1y1 -4y2 +(6 -16 ).y3 4.y4 + 1y5) = x3
4
4
En x =4 1/ (+1y2 -4y3 +(6 -16 ).y4 4.y5 + 1y6) = x4
4
4
En x =5 1/ (+1y3 -4y4 +(6 -16 ).y5 4.y6 + 1y7) = x5
4
4
En x =6 1/ (+1y4 -4y5 +(6 -16 ).y6 4.y7 ) = x6
4
4
En x =7 1/ (+1y5 -4y6 +(7-16 ).y7 ) = x7
4

+5-16
-4
+1
0
0
0
0
4
-4
+6-16
-4
+1
0
0
0
4
+1
-4
+6-16
-4
+1
0
0
4
0
+1
-4
+6-16
-4
+1
0
4
0
0
+1
-4
+6-16
-4
+1
4
0
0
0
+1
-4
+6-16
-4
0
0
0
0
+1
-4
+7-16
y1
y2
y3
y4
y5
y6
y7

y1
y2
y3
y4
y5
y6
y7

x1.
x2.
x3.
= x4.
x5.
x6.
x7.

4
4
4
4
4
4
4

0.0012
0.0021
0.0027
0.0027
0.0023
0.0015
0.0005

Finalmente, en la figura de la derecha se representa la solucin obtenida en ambos casos.


CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.48

De los 2 ejemplos resueltos se obtienen las siguientes conclusiones:

La discretizacin de las condiciones de contorno permite en todos los casos obtener


un sistema de ecuaciones del cual solo participan como incgnitas aquellos puntos en
donde la solucin no es conocida a priori.
El sistema de ecuaciones resultantes es simtrico y con una distribucin en banda.
La solucin debe buscarse por el camino de estudiar su convergencia a medida que
0.

APNDICE 2.1. : Interpolacin Polinomial. Diferencias Finitas


Considrese la funcin y = f(x) definida en forma tabular, para la cual se desconoce su
expresin analtica.
Supngase que los valores de x0, x1 = xo + x, x2 = xo + 2. x, ... xn= xn+n. x, todos
ellos igualmente espaciados una magnitud x, se conocen los correspondientes valores
y0, y1, ... yn. Estos valores pueden arreglarse como se muestra en la tabla siguiente:
Xi

Yi

x0

y0

x1=x0+ x

y1

x2=x0+2. x

y2

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.49

xn=x0+n. x

yn

Tabla 1: Funcin definida en forma tabular


Se llaman primeras diferencias hacia delante a las diferencias entre dos valores
consecutivos de y. En la tabla 1, las primeras diferencias hacia delante son:
ao = y1 y0
a1 = y2 y1
a2 = y3 y2
...............
yn.1=yn yn-1
que se representan por yi.
De igual forma, las diferencias de las primeras diferencias se llaman segundas diferencias
hacia delante, y valen:
bo = a1 ao = y2 2.y1 + y0
b1 = a2 a1 = y3 2.y2 + y1
b2 = a3 a2 = y4 2.y3 + y2
..............
bn-2 = an-1 an-2 = yn 2.yn-1 + yn-2
las cuales se representan por 2yi. Nuevamente, las diferencias de las segundas
diferencias son las terceras diferencias hacia delante, 3yi, las cuales resultan:
co = b1 bo = y3 3.y2 + 3.y1 y0
c1 = b2 b1 = y4 3.y3 + 3.y2 y1
.............................
cn-3 = bn-2 bn-3 = yn 3.yn-1 + 3.yn-2 yn-3
Siguiendo el proceso se definen las cuartas, quintas, etc. diferencias hacia delante. Todas
las diferencias pueden ordenarse en una tabla denominada Tabla de Diferencias en
donde cada diferencia se indica entre los dos elementos que la producen, como se
muestra a continuacin:
x0

y0
a0=y1-y0

x1=x0+ x

y1

b0 = a1-a0

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.50

a1=y2-y1
x2=x0+2. x

y2

c0=b1-b0
b1 = a2-a1

......

a2=y3-y2
x3=x0+3. x

y3

c1=b2-b1
b2 = a3-a2

......

a3=y4-y3
x4=x0+4. x

c0=b3-b2

y4

......

......
cn-3=bn-2-bn-3

bn-2=an-1-an-2
an-1=yn-yn-1

xn=x0+n. x

yn
Tabla N 2: Tabla de Diferencias

Aparentemente se tiene la impresin de que el proceso de determinar diferencias es


infinito, pero un ejemplo nos demostrar que no lo es para el caso en que los puntos
dados estn ubicados sobre un polinomio.
Supongamos que los puntos estn ubicados sobre un polinomio de grado 2, entonces se
tendr:
xk = x0 + k. x yk = A(x0 + k. x)2 + B(x0 + k. x) + C
xk+1 = x0 + (k+1).. x yk = A(x0 + (k+1).. x)2 + B(x0 + (k+1).. x) + C
xk+2 = x0 + (k+2).. x yk = A(x0 + (k+2).. x)2 + B(x0 + (k+2).. x) + C
En base a ello, las primeras diferencias adelante resultarn:
yk = yk+1 yk = 2.A. x.x0 + B. x + (2k+1).A. x2
yk+1 = yk+2 yk+1 = 2.A. x.x0 + B. x + (2k+3).A. x2
y las segundas diferencias:
2yk = yk+1 - yk = 2.A. x2
Como las segundas diferencias hacia delante son constantes (no dependen de k) e
iguales entre si, las terceras, cuartas, etc. diferencias sern nulas.
En este ejemplo, se ve que en un polinomio de grado dos se llega a las diferencias de
orden dos. Una consecuencia razonable es pensar que el grado de desarrollo de las

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.51

diferencias es el mismo que el grado del polinomio. En efecto, es posible demostrar que
para un polinomio del tipo y= xn + ... la ensima diferencia se hace constante e igual a :
nyk = n!. xn
Lo anterior puede establecerse como un teorema, que tiene como consecuencia el
siguiente corolario:
Si en el proceso de obtencin de las diferencias hacia delante sucesivas de una funcin,
una de estas se vuelve constante (o aproximadamente constante), puede afirmarse que
el conjunto de valores tabulados queda satisfecho exactamente (o muy
aproximadamente) por un polinomio de grado igual al orden de la diferencia constante.
El ejemplo siguiente ilustra este caso.
X

2y

3y

6
2

48
54

48

62

96
150

48

212

144
294

48

506

192
486

10

992

Como las terceras diferencias son constantes, el conjunto de valores indicados estn
representados por un polinomio de grado 3. En efecto, los mismos han sido tabulados a
partir de :
y = x3 x + 2

Ejemplo 1 : De la tabla siguiente obtener el valor de y para x=0.22


1.20

1.00

0.00

0.00

0.80

0.05

0.48

0.60

0.40
CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES
0.20
CTEDRA MTODOS COMPUTACIONALES 2

Pg.52

0.00
0

0.05

0.1

0.15

0.2
X

0.25

0.3

0.35

0.10

0.84

0.15

1.00

0.20

0.91

0.25

0.60

0.30

0.14

a) Tabla de Diferencias
0

0.00
0.48

0.05

0.48

-0.12
0.36

0.1

-0.09

0.84

-0.21
0.16

0.15

-0.04

1.00

-0.24
-0.09

0.2

0.01
0.06

0.02

0.91

-0.22
-0.31

0.25

0.05
-0.01
-0.01
0.05
0.08

0.60

-0.15
-0.46

0.3

0.14

VALORES DE LA FUNCIN Y INTERPOLADA EN X=0.22


Origen

Orden Interpolacin

xo

yo

Exac

0.22

0.00

0.00

4.4

2.109

1.231

0.701

0.807

0.808

0.05

0.48

3.4

1.710

0.870

0.797

0.808

0.10

0.84

2.4

1.216

0.806

0.810

0.809

0.15

1.00

1.4

0.997

0.997

0.997

0.997

0.20

0.91

0.4

0.874

0.901

0.906

0.906

Errores[%]
Orden Interpolacin
xo

yo

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.53

0.00

0.00

161

52

13

0.05

0.48

112

0.10

0.84

50

0.15

1.00

23

23

23

23

0.20

0.91

11

12

12

APNDICE 2.2. : Derivacin Numrica. Operadores de Diferencias Finitas.


Dada una funcin y=f(x) definida en forma tabular se trata de calcular el valor de sus
derivadas en alguno de los puntos x=x0, x1, x2, .....xn.
Si se acepta aproximar a la funcin f(x) con el polinomio que pasa por los n+1 puntos, se
tiene:

y K = y 0 + k . y 0 +

k(k 1) 2
k(k 1)(k 2) 3
y0 +
y 0 + ...
2!
3!

(b)

en donde k = [X X0]/ x

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.54

Derivando ambos miembros de (b) con respecto a x, y teniendo en cuenta que el


segundo miembro es una funcin compuesta de x, se tiene:
df(x)
d
=
dx
dk

k(k 1) 2
k(k 1)(k 2) 3

dk
y0 +
y 0 + ..
y 0 + k . y 0 + 2!
3!

dx

df(x)
1
2 k 1 2
3 k 2 6 k + 2 3
=
y0 +
y 0 + .....
. y 0 +
dx
x
2
6

Derivando esta ltima expresin con respecto a x se obtiene la derivada segunda:


d 2 f(x)
dx

1
x

[.

y 0 + (k 1). 3 y 0 + .....

y derivando nuevamente, se obtiene la derivada tercera:


d 3 f(x)
dx

x 3

y 0 + .....

Si la derivada fuera limitada de primer orden, es decir si solo se consideraran los trminos
asociados a la primer diferencia, la derivada primera resultara:
df(x)
1
[. y 0 ]
=
dx
x

expresin que indica que la derivada primera resultara constante entre los puntos y1 e y0,
por lo cual, la derivada segunda resultara nula en ese intervalo.
Considerando que y0 = y1 y0 , la derivada primera en x = x0 resulta:
df(x)
1
=
[- y 0 + y1 ]
dx X =X 0
x

Notacionalmente, la expresin anterior se representa como:


y'0 =

1
{ 1
x

+1 }

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.55

en donde se ha subrayado el coeficiente del pivote en donde se est calculando la


derivada. Geomtricamente, equivale a tomar como primera derivada a la pendiente de la
recta que une los puntos (x0,y0) y (x1,y1).
La expresin indicada puede utilizarse corriendo el pivote sobre todos los puntos del
dominio en donde quiera evaluarse la primer derivada a excepcin del ltimo punto del
cual se conoce informacin, (xn, yn).. Para l ser necesario utilizar un operador corrido
a la derecha que determine y1.
Como el operador dado no depende de k, y la interpolacin supuesta entre los puntos es
lineal, significa que la derivada primera es constante y el operador para el punto extremo
a la derecha del intervalo puede escribirse como:
y'0 =

1
{ -1
x

+1 }

Lo cual, como es obvio, implica que la derivada primera para los dos ltimos puntos del
intervalo es la misma, solo vlido cuando h0.
Ejemplo 2: La funcin tabulada en el Ejemplo 1 corresponde a y=seno(10.x). Se calcular
a continuacin la derivada numrica en cada uno de los puntos tabulados.
15.00

Y [Exacta] Y[D.F.]

0.00

0.00

10.00

9.59

0.05

0.48

8.78

7.24

0.10

0.84

5.40

3.12

0.15

1.00

0.71

-1.76

0.20

0.91

-4.16

-6.22

0.25

0.60

-8.01

-9.15

0.30

0.14

-9.90

-9.15

10.00
5.00
y'(x)

0.00
-5.00
-10.00
-15.00
0.00

Si ahora se considera que la


interpolacin es limitada de segundo
df(x)
1
=
dx
x

0.05

0.10
Exacta

0.15
x

0.20

0.25

0.30

D.F. 1er Orden

2 k 1 2

. y 0 + 2 y 0

orden, las expresiones para la estimacin de las derivadas resultaran:


y la derivada tercera resultara nula dentro del intervalo [y0, y2].
d 2 f(x)

1
=
. 2 y 0
2
2
CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES
dx

CTEDRA MTODOS COMPUTACIONALES 2

Pg.56

Como:
y0 = y1 y0
2y0 = y2 2.y1 + y0
las expresiones para la estimacin de las derivadas resultan:
df(x)
1
=
dx
x

2 k 1

y1 y 0 + 2 ( y 2 2 y1 + y 0 )

d 2 f(x)

dx

x 2

[ y 2 2 y1 + y0 ]

Como se observa, es necesario contar con la informacin de tres puntos para la


estimacin de ambas derivadas con este orden de interpolacin. Si bien la derivada
segunda resulta la misma en todos los puntos del intervalo, no es as para la derivada
primera la cual depende de k, es decir, de cual de los tres puntos del intervalo [y 0,y2]
estemos calculando la derivada.
En efecto, en x =x0 (k =0) resultar:
df(x)
1
=
[ 3. y 0 + 4. y1 y 2 ]
dx X =X 0
2. x

Por otra parte, si lo que se busca es calcular la derivada primera en el punto x =x1, es
decir k =1, resultar:
df(x)
1
=
[ y0 + y2 ]
dx X =X 1 2. x

y finalmente, en el punto x =x2 (k =2), resultar:


df(x)
1
=
[ +1. y0 4. y1 + 3 y 2 ]
dx X =X 2
2. x

expresiones que pueden ser escritas en forma de operador de la siguiente manera:


y'0 =

1
[ 3
2. x

+ 4 1]

Los operadores de derivada segunda no dependen de k, por lo cual:


1
y'1 = 1 [ 1 0 + 1]
y' '0 = 2. x [ + 1 2 + 1]
CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES
x 2 DIFERENCIALES
CTEDRA MTODOS COMPUTACIONALES 2 1
y'2 =
[ +1 - 4 + 3]
2.
x
1
[ + 1 2 + 1]
y' '1 =
x 2

Pg.57

y' ' 2 =

1
x 2

[ +1

2 + 1]

Ejemplo 3: Calcular los valores de la derivada primera de la funcin tabulada en el


Ejemplo 1 utilizando operadores corridos a izquierda, centrados y corridos a derecha.
X

Y [Exac]

CI

0.00

0.00

10.00

10.76

0.05

0.48

8.78

9.30

8.41

0.10

0.84

5.40

5.56

5.18

6.07

0.15

1.00

0.71

0.46

0.68

1.06

0.20

0.91

-4.16

-4.75

-3.99

-4.21

0.25

0.60

-8.01

-7.68

-8.44

0.30

0.14

-9.90

CD

-10.61

15.00
10.00
5.00
Y`(X)

En el cuadro de la derecha se
representaron las diferentes
aproximaciones junto a la
solucin exacta. Como se
observa, en todos los casos los
resultados son satisfactorios y
significativamente mas precisos
aquellos estimados en base a
interpolaciones limitadas de
primer orden

CE

0.00
-5.00
-10.00
-15.00
0.00

que
0.05

0.10

0.15

0.20

0.25

0.30

X
Exacta

CI

CE

CD

Por otra parte, si se compara los resultados detallados en la tabla se concluye que
aquellos obtenidos utilizando operadores centrados generan, en promedio, errores ms
reducidos que en caso de utilizar errores corridos. Esta conclusin es coherente con lo
que se intuye si se considera que los operadores centrados recogen informacin de la
forma de la curva hacia ambos lados del punto en donde se est estimando la derivada,
mientras que los operadores corridos lo hacen solamente considerando lo que ocurre
hacia atrs o hacia delante segn los casos.

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.58

CAPITULO 2 SOLUCIN NUMRICA DE ECUACIONES DIFERENCIALES

CTEDRA MTODOS COMPUTACIONALES 2

Pg.59