You are on page 1of 24

Universidad Nacional de Misiones

SOLUCIN NUMRICA DE PROBLEMAS


DE VALOR INICIAL

Dr. Ing. Aldo Luis Caballero MSc. Ing. Corina Feltan


ltima versin: septiembre de 2014

El problema de Cauchy
Como es bien conocido, muchos problemas de ingeniera tratan con fenmenos o
procesos que pueden representarse o modelarse matemticamente mediante una
ecuacin diferencial ordinaria de primer orden:

x ' = f (t , x )

(1)

Donde x es la derivada primera de x respecto de t.


El denominado problema de Cauchy consiste en hallar la funcin x = x(t) que
satisface la ecuacin diferencial (1) y la condicin inicial x(t0) = x0.
Otros problemas, se modelan mediante ecuaciones diferenciales de orden n:

x ( n ) = f [t , x, x' , x" , K , x ( n 1) ]

(2)

Siendo x(n) la derivada de orden n de x con respecto a t.


En este caso el problema es hallar la solucin x = x(t) que satisface la ecuacin
diferencial (2) y las condiciones iniciales x(t0) = x0, x(t0) = x0, x(t0) = x0, ... , x(n-1)
(t0) = x 0( n 1) .

Juan Manuel de Rosas 325 Tel/Fax (+54 3755) 422 179 422 170 www.fiobera.unam.edu.ar e-mail: facing@fiobera.unam.edu.ar
CP3360 Ober Misiones Argentina

SOLUCIN NUMRICA DE PROBLEMAS DE VALOR INICIAL

Tambin se presentan, con bastante frecuencia, situaciones en las que se


requiere resolver un sistema de n ecuaciones diferenciales de primer orden:

x'1 = f 1 (t , x1 , x 2 , K , x n )
x' = f (t , x , x , K , x )
2
2
1
2
n

M
x' n = f p (t , x1 , x 2 , K , x n )

(3)

Para el que se necesita hallar las funciones x1(t), x2(t), ... , xn(t) que satisfacen
simultneamente las n ecuaciones diferenciales (3) con sus respectivas
condiciones iniciales x1(t0) = x1(0), x2(t0) = x2(0), ... , xn(t0) = xn(0).
Una ecuacin diferencial de orden n puede reducirse a un sistema de n
ecuaciones diferenciales de primer orden mediante sustitucin de variables. Esto
puede verificarse llevando a cabo en (2) los siguientes reemplazos:

x = x1 , x' = x 2 , x" = x3 , ... , x ( n ) = x n

(4)

Es muy simple comprobar as que las expresiones (2) y (3) son equivalentes.
En definitiva, cualquier problema de sistemas de ecuaciones diferenciales
ordinarias de cualquier orden puede reducirse a otro sistema de ecuaciones
diferenciales de primer orden realizando la sustitucin de variables que sea
conveniente.
Si bien hay mtodos que permiten hallar la solucin analtica explcita de
ecuaciones diferenciales comnmente denominada solucin exacta, esos
procedimientos son bastante limitados y no permiten resolver las ecuaciones que
se presentan en la mayora de los problemas reales de ingeniera. En estos casos
resultan realmente importantes las tcnicas numricas.

Solucin numrica por medio de la serie de Taylor


El desarrollo en serie de Taylor de la funcin x(t) alrededor de t = t0, considerando
hasta el trmino de orden m+1, es:

x(t ) = x(t 0 ) +

(t t 0 )
(t t 0 ) 2
(t t 0 ) m +1 ( m +1)
x' (t 0 ) +
x" (t 0 ) + K +
x
(t 0 )
1!
2!
(m + 1) !

(5)

Si se tiene en cuenta la (1) la expresin precedente puede escribirse como:

MODELACIN EN INGENIERA MATERIAL DIDCTICO No08 Ao 2014

SOLUCIN NUMRICA DE PROBLEMAS DE VALOR INICIAL

x(t ) = x(t 0 ) +

(t t 0 )
(t t 0 ) 2
(t t 0 ) m +1
f (t 0 , x 0 ) +
f ' (t 0 , x 0 ) + K +
f
1!
2!
(m + 1) !

(m)

(t 0 , x 0 ) (6)

Haciendo las sustituciones:

Tm (t , x, h) =

x(t 0 ) = x 0

(7)

(t t 0 ) = h

(8)

(t t 0 )
(t t 0 ) 2
(t t 0 ) m +1
f (t 0 , x 0 ) +
f ' (t 0 , x 0 ) + K +
f
1!
2!
(m + 1) !

(m)

(t 0 , x 0 ) (9)

La expresin (5) puede llevarse a la forma:

x(t 0 + h) = x 0 + Tm (t , x, h)

(10)

Esta ltima pone en evidencia que si se conoce la condicin inicial x0 = x(t0),


evaluando Tm(t0,x0,h), puede calcularse el valor aproximado de la funcin x(t) en t1
= t0 + h. Esto es:

x1 = x(t 0 + h) = x 0 + Tm (t 0 , x 0 , h)

(11)

Luego, si se repite el procedimiento a partir del punto (t1,x1), puede obtenerse


otro punto x2 correspondiente a t2 = t1 + h = t0 + 2h:

x 2 = x(t1 + h) = x(t 0 + 2 h) = x1 + Tm (t1 , x1 , h)


El

proceso

tantas

puede

veces

repetirse

como

sea

x (t )

necesario hasta cubrir todo el

x2
x1

intervalo

de

x0

inters. En la figura 1 se ilustra

xk
x k+1

de

integracin

el procedimiento.

Solucin analtica

Generalizando,
valor

de

conocido

el

funcin

xk

la

correspondiente a

(12)

t = tk+1, el

valor xk+1 de la funcin para t =

Solucin numrica

t0

t1 t2

t k t k +1

Figura 1: Solucin numrica de ecuaciones


diferenciales ordinarias mediante
la serie de Taylor.

MODELACIN EN INGENIERA MATERIAL DIDCTICO No08 Ao 2014

SOLUCIN NUMRICA DE PROBLEMAS DE VALOR INICIAL

tk+1 = tk + h se calcula segn:

x k +1 = x k + Tm (t k , x k , h)

(13)

Obsrvese que en este planteamiento se ha tomado el desarrollo en serie hasta el


trmino que contiene la derivada m-sima, por ese motivo se dice que se trata de
un mtodo numrico de resolucin de ecuaciones diferenciales ordinarias de
orden m.
La frmula de Taylor con resto establece que el error que se comete al calcular
xk+1, si el valor de xk es exacto (este error comnmente se llama error local)
cuando se emplea un mtodo de orden m es:

E=

h m +1
h m +1
x (m +1) ( k ) =
f
(m + 1) !
(m + 1) !

(m)

[ k , x( k )]

t k < k < t k +1

(14)

De acuerdo con esta ltima expresin, el error local depende no solamente de la


cantidad de trminos de la serie que se consideren, sino tambin del paso de
integracin h. Evidentemente, el error es menor cuando mayor es la cantidad de
trminos de la serie que se tienen en cuenta y menor el paso de integracin. A
veces tambin se hace referencia a este tipo de error llamndolo error de
truncamiento, porque el mismo se debe al hecho de tomar un nmero finito de
trminos de la serie; de este modo se lo diferencia del error de redondeo, el cual
se debe a la cantidad limitada de cifras con que se opera numricamente.
El mtodo de la serie de Taylor y todos aquellos que calculan la solucin en el
punto k + 1 usando solamente la informacin que se tiene sobre la funcin y sus
derivadas en un punto k se denominan mtodos de un paso.

El mtodo de Euler
El procedimiento propuesto por Euler tambin conocido como mtodo de EulerCauchy consiste en el mtodo de la serie de Taylor con m = 1.

x k +1 = x k + T1 (t k , x k , h)

(15)

Segn (9):

MODELACIN EN INGENIERA MATERIAL DIDCTICO No08 Ao 2014

SOLUCIN NUMRICA DE PROBLEMAS DE VALOR INICIAL

T1 (t k , x k , h) = h f (t k , x k )

(16)

Llevando (16) a (15) se obtiene la llamada frmula de Euler:

x k +1 = x k + h f (t k , x k )

(17)

El error local de este mtodo es:

E=

h2
f ' [ k , x( k )]
2

(18)

Si se despeja f(tk,xk) de (17) se obtiene:

f (t k , x k ) =
De esto se deduce que el

x k +1 x k
= tg k
h

(19)

mtodo de Euler aproxima la


funcin

x(t)

poligonal

segn
formada

f (t , x )

una
por

x3

segmentos cuyas pendientes


son iguales a los valores de la
funcin f(t,x) en los puntos
(tk,xk). En

la figura 2 se

Euler

x2

x1
x0

muestra esta interpretacin


geomtrica

del

mtodo

de

Euler.

t0

h
t1

t2

t
t3

Figura 2: Interpretacin geomtrica del mtodo de Euler.

Si se tiene en cuenta que un


sistema de n ecuaciones diferenciales ordinarias de primer orden puede
escribirse en notacin matricial como:

x ' = f (t , x )

(20)

Donde x es el vector de las derivadas de las n variables dependientes o variables


de estado y f se refiere a las n funciones de los miembros a la derecha del signo
igual en la expresin (3), es decir:

MODELACIN EN INGENIERA MATERIAL DIDCTICO No08 Ao 2014

SOLUCIN NUMRICA DE PROBLEMAS DE VALOR INICIAL

x'1
x'
x' = 2
M

x' n

f 1 (t , x1, , x 2, , K , x n )
f (t , x , x , K , x )
2
1,
2,
n
f (t , x) =

f n (t , x1, , x 2, , K , x n )

(21)

Esta forma de escritura hace evidente que el mtodo de Euler puede


generalizarse para un sistema de n ecuaciones diferenciales ordinarias de primer
orden como:

x k +1 = x k + h f (t k , x k )

t k +1 = t k + h

(22)

O en forma escalar:

x1( k +1) = x1( k ) + h f 1 (t k , x1( k ) , x 2( k ) , K , x n ( k ) )


x
2( k +1) = x 2 ( k ) + h f 2 (t k , x1( k ) , x 2( k ) , K , x n ( k ) )
M
x
= x n ( k ) + h f n (t k , x1( k ) , x 2 ( k ) , K , x n ( k ) )
n ( k +1)
t k +1 = t k + h

(23)

El mtodo de Euler mejorado


El mtodo de Euler mejorado consiste en determinar primero un valor auxiliar
*
x k+
1 y a continuacin, sobre la base del mismo, calcular el valor de xk+1 de la

solucin para el valor tk+1 de la variable independiente. Para un sistema de


ecuaciones el mtodo de Euler mejorado puede escribirse en la notacin matricial
como:

x *k +1 = x k + h f (t k , x k )

h
*
x k +1 = x k + f (t k , x k ) + f (t k +1 , x k +1 )
2

t k +1 = t k + h

MODELACIN EN INGENIERA MATERIAL DIDCTICO No08 Ao 2014

(24)

SOLUCIN NUMRICA DE PROBLEMAS DE VALOR INICIAL

Geomtricamente puede decirse que la integracin avanza desde tk hasta tk+h/2


por la lnea de pendiente f(tk,xk),
movindose luego desde

tk+h/2

f (t , x )

hasta tk+1 = tk+h por la lnea de


pendiente f(tk+1, x

*
k+1 ).

Esto se

ilustra en la figura 3 para la


evolucin desde t = t0 hasta t =
t1. Ntese que el valor auxiliar

mtodo de Euler mejorado

x1
x1*
x0

mtodo de Euler

*
x k+
1 coincide con el valor xk+1

calculado mediante el mtodo

t
t1 = t 0 + h

t0

de Euler; en tanto que, como es


notorio, con el mtodo de Euler
mejorado

se

consigue

Figura 3: Interpretacin geomtrica del


mtodo de Euler mejorado.

una

significativa mejor aproximacin. Los procedimientos de estas caractersticas, es


decir aquellos que predicen primero un valor de la solucin y luego lo corrigen, se
denominan mtodos predictor-corrector; el mtodo de Euler mejorado es el ms
sencillo de ellos. Puesto que el mismo surge de considerar la serie de Taylor con
m = 2, en consecuencia, el error local en este caso y de acuerdo con la expresin
(14) es del orden de h3.

Ejemplos de aplicacin de los mtodos de Euler y Euler mejorado


A modo de ejemplos de aplicacin de estos mtodos se confeccionaron dos
programas muy sencillos para resolver la ecuacin diferencial:

dI 1
= (V R I )
dt L
Como

es

conocido, la

(25)

ecuacin

diferencial en cuestin constituye el


modelo matemtico de un circuito

V = 12 V

serie R-L excitado mediante una

R = 1
I
L = 0.25 Hy

fuente de voltaje constante V como


el que se muestra en la figura 4 y

Figura 4: Circuito del ejemplo.

su solucin analtica es:

MODELACIN EN INGENIERA MATERIAL DIDCTICO No08 Ao 2014

SOLUCIN NUMRICA DE PROBLEMAS DE VALOR INICIAL

I=

R
t
V
1 e L
R

(26)

Es obvio que este problema no exige la aplicacin de mtodos numricos, no


obstante, se lo ha considerado porque, al ser conocida la solucin analtica, es
muy sencillo realizar la comparacin de los resultados obtenidos numricamente
con la corrientemente denominada solucin exacta.
Segn la frmula de Euler (17), para la ecuacin diferencial en estudio, la
solucin en el paso nmero k+1 es:

I k +1 = I k +

h
(V R I k )
L

(27)

Por lo tanto, el algoritmo secuencial correspondiente al mtodo de Euler para


resolver la ecuacin diferencial en un intervalo 0 tT = 5L/R (cinco veces la
constante de tiempo del circuito) puede escribirse en notacin matemtica
convencional como:

k =0;t =0; I =0

(28.a)

0 t T = 5

L
:
R

(28.b)

I k +1 = I k +

h
(V R I k )
L

(28.c)

tk +1 = tk + h

(28.d)

k = k +1

(28.e)

Mientras que para el mtodo de Euler mejorado se tiene:

k =0;t =0; I =0
0 t T =5
I k* +1 = I k +

(29.a)

L
:
R

(29.b)

h
(V R I k )
L
I k +1 = I k +

(29.c)

[(

h
V R I k* +1 + (V R I k )
2

(29.d)

tk +1 = tk + h

(29.e)

k = k +1

(29.f)

MODELACIN EN INGENIERA MATERIAL DIDCTICO No08 Ao 2014

SOLUCIN NUMRICA DE PROBLEMAS DE VALOR INICIAL

En los grficos de la figura 5 se dan los resultados obtenidos mediante el mtodo


de Euler utilizando dos pasos de integracin diferentes. En ambos casos se ha
representado tambin la solucin analtica, indicndose el valor absoluto del
mximo error relativo porcentual de la solucin numrica referida a la analtica
considerada como exacta.
Puede observarse en los grficos de la figura 5 que con un paso de integracin h
= 0.1 s se tienen errores verdaderamente apreciables, en este caso el mximo
valor absoluto del error relativo porcentual supera el 21%. No obstante, si el paso
se reduce a h = 0.001 s el error se reduce significativamente, apenas superando
el 0.2%. Ya en este caso, y segn la escala empleada para representar los
grficos, la curva obtenida numricamente prcticamente se superpone a la
analtica.
En la figura 6 se muestran los resultados obtenidos mediante el mtodo de Euler
mejorado con los mismos pasos de integracin que en el caso precedente. Puede
notarse la sensible disminucin del error respecto del mtodo de Euler.
Advirtase que con h = 0.001 s el valor absoluto del mximo error relativo
porcentual es menor que 3 diezmilsimas (3 millonsimas por unidad).

MODELACIN EN INGENIERA MATERIAL DIDCTICO No08 Ao 2014

SOLUCIN NUMRICA DE PROBLEMAS DE VALOR INICIAL

12

I [A]

Mtodo de Euler
Solucin analtica

10

Paso de integracin h = 0.1 s

Valor absoluto del error relativo mximo= 21.3298 %


2

0
0

0.2

0.4

0.6

0.8

1.2

1.4

t [s]
12

I [A]

Mtodo de Euler
Solucin analtica

10

Paso de integracin h = 0.001 s


Valor absoluto del error relativo mximo= 0.20013 %

0
0

0.2

0.4

0.6

0.8

1.2

1.4

t [s]

Figura 5: Solucin numrica de la ecuacin diferencial de un


circuito R-L serie excitado con una fuente de voltaje
constante aplicando el mtodo de Euler.

MODELACIN EN INGENIERA MATERIAL DIDCTICO No08 Ao 2014

10

SOLUCIN NUMRICA DE PROBLEMAS DE VALOR INICIAL

I [A]

12

Mtodo de Euler mejorado


Solucin analtica

10

6
Paso de integracin h = 0.1 s
4
Valor absoluto del error relativo mximo= 2.9362 %
2

0
0

0.2

0.4

0.6

0.8

1.2

1.4

t [s]

12

I [A]

Mtodo de Euler mejorado


Solucin analtica

10

Paso de integracin h = 0.001 s


Valor absoluto del error relativo mximo= 0.00026693 %

0
0

0.2

0.4

0.6

0.8

1.2

1.4

t [s]

Figura 6: Solucin numrica de la ecuacin diferencial de un


circuito R-L serie excitado con una fuente de voltaje
constante aplicando el mtodo de Euler mejorado.

MODELACIN EN INGENIERA MATERIAL DIDCTICO No08 Ao 2014

11

SOLUCIN NUMRICA DE PROBLEMAS DE VALOR INICIAL

Seleccin del paso, error global y estabilidad numrica


Anteriormente se seal que el error local en el paso k+1 se evala a partir del
valor exacto de la solucin en el paso k. Sin embargo, conforme el proceso de
clculo numrico de la solucin de una ecuacin diferencial avanza, los errores
locales se propagan punto a punto. El error as acumulado se denomina error
global. Entonces, si se utiliza repetidas veces un paso h durante un cierto
intervalo t de la variable independiente, como el error local es del orden de h2 en
el mtodo de Euler y de h3 en el mtodo de Euler modificado, los errores globales
de dichos mtodos son del orden de (t/h)h2 = h y (t/h)h3 = h2, respectivamente.
La acumulacin de errores puede tambin dar lugar al problema que se conoce
con el nombre de inestabilidad numrica, el cual merece especial atencin por
cuanto puede conducir a conclusiones totalmente errneas en muchos
problemas de ingeniera relacionados con fenmenos transitorios y la estabilidad
de sistemas.
Como en la ingeniera las ecuaciones diferenciales adquieren importancia en la
medida en que ellas constituyen modelos matemticos que permiten resolver
problemas que ocurren en el mundo fsico, para aclarar los conceptos de
estabilidad (o inestabilidad) numrica, es conveniente primero analizar el
significado de la estabilidad en sistemas fsicos. Siguiendo esta lnea y para
explicarlo del modo ms sencillo posible, puede decirse que un sistema es
estable si al ser perturbado, estando en una situacin inicial de estado estable,
evoluciona hacia otra condicin de estado estable similar o diferente de la inicial.
Un ejemplo concreto de sistema estable es el caso del circuito elctrico de la
figura 4. El mismo se encuentra inicialmente en rgimen permanente sin
excitacin hasta que, en un cierto instante tomado como referencia (t = 0), se
cierra la llave S introducindose una perturbacin determinada por el voltaje
constante V; la intensidad de corriente evoluciona entonces creciendo en el
tiempo con una tendencia definida a estabilizarse finalmente en el valor V/R = 12
A. Sin embargo, si el problema se estudia mediante el mtodo de Euler utilizando
un paso h = 0.5 s se obtiene la respuesta oscilante que se expone en la figura 7,
la cual no solamente est afectada de una error tremendamente grande (del
orden de 5000%) sino que, adems, no tiende a un nuevo estado estable.
Si se sabe a ciencia cierta que el sistema es estable, porqu la solucin obtenida
mediante el mtodo de Euler muestra un comportamiento inestable?. La
MODELACIN EN INGENIERA MATERIAL DIDCTICO No08 Ao 2014

12

SOLUCIN NUMRICA DE PROBLEMAS DE VALOR INICIAL

respuesta a este interrogante es: porque se ha producido inestabilidad numrica.


Es decir, los errores locales se fueron acumulando paso a paso de manera que el
error global conduce a una solucin totalmente alejada de la realidad. Inclusive,
si h se aumenta todava ms, las oscilaciones pueden ir aumentando en
amplitud y alejarse cada vez ms de la solucin verdadera en lugar de converger
hacia ella.

I [A]

25

Mtodo de Euler
Solucin analtica
20

15

10
Paso de
integracin h = 0.5 s
5

Valor absoluto del error


relativo mximo= 5000.6666 %

0
0

0.5

1.5

2.5

3.5

t [s]

Figura 7: Inestabilidad numrica en el mtodo de Euler.

Este ejemplo, aunque muy sencillo, pone de manifiesto la importancia de


analizar la estabilidad numrica de los sistemas de resolucin de ecuaciones
diferenciales. El estudio riguroso del problema de la estabilidad numrica exige
analizar las ecuaciones diferenciales correspondientes a cada caso; no obstante,
a efectos de formular criterios comparativos sobre la estabilidad de los diferentes
mtodos, en la matemtica numrica se acostumbra a tomar como referencia la
siguiente ecuacin testigo:

dx
= A x
dt

MODELACIN EN INGENIERA MATERIAL DIDCTICO No08 Ao 2014

(30)

13

SOLUCIN NUMRICA DE PROBLEMAS DE VALOR INICIAL

Y luego extender al caso general los resultados obtenidos para ella.


La solucin analtica de esta ecuacin testigo es:

x (t ) = x 0 e At

(31)

Y el valor absoluto de la misma es decreciente para valores positivos de A, desde


el punto de vista de la estabilidad esto significa que la solucin de la ecuacin
testigo es estable cuando se verifica la condicin A> 0.
Si ahora se aplica el mtodo de Euler a la ecuacin (30) se tiene:

x k +1 = x k h A xk = (1 A h ) x k

(32)

Como el coeficiente A es positivo, la frmula precedente conducir a valores


decrecientes de la solucin solamente si se cumple:

1 A h < 1

(33)

Es decir que el mtodo de Euler es numricamente estable para la ecuacin


testigo si se cumple:

h<

2
A

(34)

Los mtodos que, como los de Euler, son estables solamente si se verifica cierta
condicin se denominan condicionalmente estables.
Realizando un anlisis similar al precedente puede estudiarse la estabilidad
numrica de cualquier otro mtodo en relacin con la ecuacin testigo (30).
Desde una perspectiva ms ingenieril puede decirse que la estabilidad numrica
est relacionada con la rigidez (stiffness) de las ecuaciones diferenciales. En
problemas dependientes del tiempo la rigidez se asocia con la relacin entre las
constantes de tiempo ms grande y ms pequea. En trminos matemticos ms
estrictos, la rigidez se mide por la relacin entre los valores caractersticos
eigenvalores ms grande y ms pequeo de las ecuaciones linealizadas.
En los problemas de ingeniera, la rigidez de las ecuaciones aumenta cuando se
eleva el nivel de detalle con que se modelan los sistemas, es decir, cuando se
tienen en cuenta ms factores. Si un sistema de ecuaciones diferenciales es muy
rgido, una pequea modificacin en el valor de uno o ms de sus parmetros
produce grandes cambios en la solucin. Si se tiene en cuenta que en la
MODELACIN EN INGENIERA MATERIAL DIDCTICO No08 Ao 2014

14

SOLUCIN NUMRICA DE PROBLEMAS DE VALOR INICIAL

ingeniera hablar de valores absolutamente exactos no tiene sentido (puesto que


siempre

habr

al

menos

un

valor

medido

toda

medicin

implica

inevitablemente un error), se comprende que algunas veces es preferible trabajar


con modelos ms sencillos y con menor cantidad de parmetros que pueden
medirse o estimarse con exactitud adecuada, que con modelos muy detallados
cuyos parmetros son muy difciles de medir o estimar con la exactitud
apropiada; se trata simplemente de un problema de propagacin de errores.
El aumento del error y la tendencia a la inestabilidad numrica con el
incremento del paso implican la necesidad de seleccionar h lo suficientemente
pequeo. Esto parece tener una solucin simple: utilizar valores de h muy
pequeos. Sin embargo, cuando menor sea el paso de integracin, mayor ser la
cantidad de clculos que debern efectuarse para encontrar la solucin en un
intervalo dado de la variable independiente; esto implicar mayores esfuerzos de
computacin, tanto en tiempo de clculo como en requerimientos de memoria.
En problemas sencillos como el ejemplo planteado precedentemente ello no
representa mayores inconvenientes; sin embargo, en muchos problemas reales
de ingeniera deben resolverse sistemas de ecuaciones diferenciales de grandes
dimensiones, por lo que el problema de la seleccin del tamao del paso de
integracin debe resolverse buscando compatibilizar eficientemente los errores de
clculo con los requerimientos de tiempo de computacin y capacidad de
memoria.
Hay diferentes maneras de seleccionar el paso de integracin adecuado para
cada mtodo, algunos ms rigurosos que otros. Sin embargo, una manera
sencilla de programar la seleccin del paso consiste en tomar inicialmente un
valor determinado de h (razonablemente escogido de acuerdo con los conceptos
expuestos hasta aqu), se avanza un paso con ese incremento y luego se repite el
clculo del mismo punto pero con paso h/2; si la diferencia entre los resultados
es significativa el paso se reduce a h/4, y as sucesivamente hasta que la
diferencia entre los resultados de los clculos con uno u otro paso sea
despreciable. Un procedimiento similar puede emplearse en sentido inverso, es
decir, ampliando el paso. Esta modalidad de ajustar el paso, si la comprobacin
se realiza para todos los puntos, puede hacer que los programas de clculo sean
relativamente lentos, por ello usualmente se acostumbra a realizar la verificacin
cada cierto nmero de pasos.

MODELACIN EN INGENIERA MATERIAL DIDCTICO No08 Ao 2014

15

SOLUCIN NUMRICA DE PROBLEMAS DE VALOR INICIAL

Los mtodos de Runge-Kutta


Los mtodos de Runge-Kutta son quizs los ms populares entre los
procedimientos numricos para resolver ecuaciones diferenciales ordinarias.
Ellos tambin se basan en la serie de Taylor, aunque permiten construir mejores
aproximaciones de Tm(tk,xk,h) que el mtodo de Euler sin que ellas contengan
derivadas de f(t,x).
La frmula general de los mtodos de Runge-Kutta es:

x k +1 = xk + Rm (t k , xk , h)

(36)

Donde la funcin Rm(tk,xk,h) se obtiene mediante una combinacin lineal con


coeficientes constantes pi de ciertas funciones ki(h), con i = 1, 2, ... , m.
m

R m (t k , x k , h) = p i k i ( h)

(37)

i =1

Donde:

k1 = h f (t k , x k )
k 2 = h f [t k + a 2 h, x k + b21 k1 (h)]
k 3 = h f [t k + a 3 h, x k + b31 k1 ( h) + b32 k 2 ( h)]

(38)

M
k m = h f [t k + a m h, x k + bm1 k1 ( h) + bm 2 k 2 ( h) + K + bm ( m-1) k m ( m-1) ( h)]

Las constantes p1, p2, ... , pm, a1, a2, ... , am, b21, b31, b32, ... , bm(m1) se obtienen
de la condicin de coincidencia entre la expresin (37) con el desarrollo de Taylor.
No es difcil demostrar que para m = 1 la formulacin de Runge-Kutta es
equivalente al mtodo de Euler.

MODELACIN EN INGENIERA MATERIAL DIDCTICO No08 Ao 2014

16

SOLUCIN NUMRICA DE PROBLEMAS DE VALOR INICIAL

Mtodo de Runge-Kutta de segundo orden


Con m = 2 se obtiene el llamado esquema de Runge-Kutta de segundo orden, el
que puede escribirse generalizado para un sistema de ecuaciones diferenciales
ordinarias de primer orden como:

k 1 = h f (t k , x k )
k = h f (t + h, x + k )
k
k
1
2

1
x k +1 = x k + 2 (k 1 + k 2 )
t = t + h
k +1 k

(39)

Puede verificarse que, en realidad, este esquema coincide con el mtodo de Euler
mejorado, por lo que el error local es tambin EL(h3) y el error global EG(h2).

Mtodo de Runge-Kutta de tercer orden [m = 3, EL(h4), EG(h3)]

k 1 = f (t k , x k )

h
h

k 2 = f t k + , x k + k 1
3
3

2
2

k 3 = f t k + h, x k + h k 2
3
3

x k +1 = x k + 4 (k 1 + 3 k 3 )
t = t + h
k +1 k

MODELACIN EN INGENIERA MATERIAL DIDCTICO No08 Ao 2014

(40)

17

SOLUCIN NUMRICA DE PROBLEMAS DE VALOR INICIAL

Mtodo de Runge-Kutta de cuarto orden [m = 4, EL(h5), EG(h4)]

k 1 = h f (t k , x k )

k
h

k 2 = h f t k + , x k + 1
2
2

k
h
k 3 = h f t k + , x k + 2

2
2

k = h f (t + h, x + k )
k
k
3
4
1
x = x + (k + 2 k + 2 k + k )
k
1
2
3
4
k +1
6
t k +1 = t k + h

(41)

Mtodo de Runge-Kutta de quinto orden [m = 5, EL(h6), EG(h5)]


k 1 = f (t k , x k )

2
2

k 2 = f t k + h, x k + k 1
7
7

4
4

k 3 = f t k + 7 h, x k + 7 k 2

6
6

k 4 = f t k + 7 h, x k + 7 k 3

k 5 = f (t k + h, x k + h k 1 )
7
35
7
1
11

x
=
x
+
h

k
+

k
+

k
+

k
+

k
+
1
k
1
2
3
4
5

24
96
48
12
96

t = t + h
k +1
k

(42)

Entre los mtodos de Runge-Kutta, los ms frecuentemente utilizados son los de


segundo y cuarto orden.
La estabilidad numrica del mtodo de Runge-Kutta de segundo orden para la
ecuacin testigo (30) est condicionada por la relacin:

h<

2
A

(43)

En tanto que para el esquema de Runge-Kutta de cuarto orden es:

MODELACIN EN INGENIERA MATERIAL DIDCTICO No08 Ao 2014

18

SOLUCIN NUMRICA DE PROBLEMAS DE VALOR INICIAL

h<

2.785
A

(44)

Por lo tanto, estos mtodos son al igual que los de Euler condicionalmente
estables; es decir, no son afectados por inestabilidad numrica si se cumple la
condicin de tomar h lo suficientemente pequeo.
Richardson desarroll una frmula para evaluar el error de truncamiento
acumulado que se propaga en el curso de la integracin mediante los mtodos de
Runge-Kutta, para el caso del procedimiento de cuarto orden y expresada en
trminos del error absoluto Ea determinado por la diferencia entre el valor
calculado y el valor verdadero de la variable de estado x dicha frmula es:

Ea =

x ( h) x ( 2 h )
15

(45)

)El conjunto de funciones ode de MATLAB


El conjunto de funciones ode (ordinarydifferentialequations) de MATLAB
constituye una herramienta poderosa para la solucin de problemas de valor
inicial. El mismo contempla varios algoritmos distintos que permiten resolver
problemas de diferentes caractersticas con mnimo esfuerzo de programacin
por parte del usuario, aunque con una flexibilidad realmente elogiable.

Algoritmos
Diferentes versiones de MATLAB ofrecen distintos tipos o variantes de
algoritmos. Los que se describen a continuacin corresponden a la versin 6
Release 12, del ao 2000, (ya est en oferta la versin 6.1 de ao 2001). No
obstante, los dos primeros pueden utilizarse del modo que se explica ms
adelante con versiones desde la 4 en adelante.

ode45 se basa en el mtodo de Runge-Kutta en sus versiones de cuarto y


quinto rdenes. Entre los diferentes algoritmos que ofrece MATLAB es el que
se recomienda para un primer intento de solucin en la gran mayora de los
problemas.

MODELACIN EN INGENIERA MATERIAL DIDCTICO No08 Ao 2014

19

SOLUCIN NUMRICA DE PROBLEMAS DE VALOR INICIAL

ode23 es una implementacin del mtodo de Runge-Kutta en sus rdenes dos


y tres, puede ser ms eficiente que ode45 con tolerancias crudas y con la
presencia de rigidez moderada.

ode113 es un algoritmo de orden variable basado en las frmulas de AdamsBashforth y Adams-Moulton. Puede ser ms eficaz que ode45 con tolerancias
severas, especialmente cuando la funcin es difcil de evaluar.

Los tres algoritmos precedentes son tiles para resolver sistemas de ecuaciones
que no sean rgidos o presenten una rigidez moderada. Para ecuaciones con
rigidez importante se recomiendan los que se dan a continuacin.

ode15s es un esquema predictor-corrector de orden variable basado en las


frmulas de diferenciacin numrica. Opcionalmente tambin utiliza las
frmulas de diferenciacin hacia atrs conocidas como mtodo de Gear,
aunque en este caso es menos eficiente. Cuando ode45 falla (inestabilidad
numrica, por ejemplo) o es muy ineficiente, se sugiere emplear ode15s. Este
esquema funciona muy bien para resolver sistemas rgidos o problemas
diferenciales-algebraicos.

ode23s est basado en una modificacin de la frmula de Rosenbrock de


orden dos y constituye una alternativa al algoritmo anterior. Como se trata de
un mtodo de paso simple puede ser ms eficaz que el mismo con tolerancias
crudas y para algunos problemas rgidos en los que ode15s no es efectivo.

ode23t es una versin de la regla trapezoidal que recomienda para problemas


moderadamente

rgidos

cuando

se

necesita

una

solucin

sin

amortiguamiento numrico. Puede resolver tambin sistemas de ecuaciones


diferenciales y algebraicas.

ode23tb utiliza una frmula de Runge-Kutta con una primera fase que es un
paso de la regla trapezoidal y una segunda fase basada en la frmula de
diferenciacin numrica hacia atrs de segundo orden. Para tolerancias
crudas puede ser ms eficiente que ode15s.

Sintaxis

MODELACIN EN INGENIERA MATERIAL DIDCTICO No08 Ao 2014

20

SOLUCIN NUMRICA DE PROBLEMAS DE VALOR INICIAL

La sintaxis para el empleo de los algoritmos presentados en el epgrafe anterior


en MATLAB es:
[t,x] = ode(@(x,t) F,To,Xo,opciones)

ode es alguno de los algoritmos entre los presentados anteriormente.

@(x,t) F es una funcin annima definida por el usuario para evaluar el


miembro derecho del sistema de ecuaciones diferenciales que se necesita
resolver. Todos los algoritmos pueden resolver sistemas de ecuaciones de la
forma x = f(t,x) o problemas que involucran una matriz de masa M, de la
forma M(t,x)x = f(t,x). ode23s resuelve nicamente con matriz de masa
constante; ode15s y ode23t pueden resolver problemas con una matriz de
masa que es singular, por ejemplo, sistemas de ecuaciones diferenciales y
algebraicas.

Por ejemplo, para el sistema de dos ecuaciones diferenciales que se da a


continuacin:

d x1
d t = x2
d x
1
2

= [Wm sen(2 f t ) ka x 2 kr x 1 ]
G
dt

Que

corresponde

representado
figura

9;

al

problema

grficamente

es

decir,

un

en

la

sistema

ka

kr

mecnico constituido por un cuerpo


de masa G, sometido a la accin de

x1

una fuerza peridica senoidal de


amplitud Wm y frecuencia f, un
resorte

de

amortiguador

constante
de

kr

constante

un

G
W = Wm sen(2 f t )

Figura 9: Sistema masa-resorte-amortiguador.

ka.

Obsrvese que, en realidad, se trata de un sistema de segundo orden que se ha


llevado a un sistema de dos ecuaciones diferenciales de primer orden mediante
las sustituciones de variables indicada por (4). As planteado el problema, x1 da
la posicin de la masa y x2 su velocidad.
MODELACIN EN INGENIERA MATERIAL DIDCTICO No08 Ao 2014

21

SOLUCIN NUMRICA DE PROBLEMAS DE VALOR INICIAL

La funcin annima@(x,t) Falmacena en F las funciones, en nuestro caso de


estudio, el sistema de ecuaciones diferenciales,se define como:

A = [0 1;-kr/G -ka/G]; B = [0;1/G];

@(t,x)[A*[x(1);x(2)]+ B*Wm*sin(2*pi*f*t)

To es una matriz fila que indica el intervalo de la variables independiente en


el cual se requiere resolver el problema:
To = [ti tf]

Donde ti y tf son un nmeros reales representativos de los extremos inferior y


superior del intervalo (ti <tf). Para obtener la solucin para ciertos valores
determinados de la variable independiente ti, t1, t2, ... , tf, (todos crecientes o
decrecientes) se utiliza:
To = [ti t1 t2 ...tf]

Xo es el vector de condiciones iniciales. Para un sistema de n ecuaciones


diferenciales:
Xo = [x1;x2;x3; ... ;xn]

Donde x1, x2, x3, ..., xn son los nmeros representativos de los valores de las
condiciones iniciales.

opciones permite establecer parmetros de integracin opcionales mediante


la utilizacin de la funcin odeset. No es obligatorio utilizar esta posibilidad;
si ella no se emplea los algoritmos toman sus valores por defecto. La sintaxis
a emplear es:
opciones = odeset('Propiedad 1',Valor 1,'Propiedad 2',Valor 2,...)

Propiedad 1, Propiedad 2, etc. son los nombres de las propiedades que se


requieren adecuar o acondicionar; Valor 1, Valor 2, ... etc. son los valores
asignados a tales propiedades.
Las propiedades que pueden acondicionarse dependen del algoritmo empleado y
de la versin de MATLAB con la que se trabaje, por ese motivo y teniendo en

MODELACIN EN INGENIERA MATERIAL DIDCTICO No08 Ao 2014

22

SOLUCIN NUMRICA DE PROBLEMAS DE VALOR INICIAL

cuenta que este es un seminario introductorio, aqu solamente se tratan las ms


generales.
-

RelTol (tolerancia de error relativo): Es el valor de tolerancia que se aplica a


todas las componentes del vector solucin. El error estimado e en cada paso k
del

proceso

de

integracin

satisface

la

condicin

e(k)

max(RelTol*abs(x(k)),AbsTol(k)). Su valor por defecto es 110-3.


-

AbsTol (tolerancia de error absoluto): Si se indica como un escalar, su valor


se aplica a todas las componentes del vector solucin, mientras que si se
especifica como un vector sus componentes se aplican a cada uno de los
componentes del vector solucin. Su valor por defecto es 110-6.

MaxStep (paso mximo): Es la magnitud lmite superior del tamao del paso
que puede utilizar el algoritmo. Su valor por defecto es la dcima parte del
intervalo de solucin To.

InitialStep (paso inicial): Es el tamao sugerido para el paso inicial. El


algoritmo prueba este paso primero, pero si es demasiado grande usa un paso
ms pequeo.

Adems de estas propiedades, el algoritmo ode15s permite acondicionar las


siguientes:
-

MaxOrder (orden mximo): Es el orden mximo de la formulacin empleada,


puede ser 1 | 2 | 3 | 4 | 5. Por defecto es 5.

BDF (BackguardDifferentiation Formula): Permite especificar si se deben


utilizar las frmulas de diferenciacin hacia atrs (BDF), en lugar de las
frmulas de diferenciacin numrica (NDF). Esta ltimas se consideran por
defecto, es decir que el valor por defecto de esta propiedad en on, la
alternativa es off.

Bibliografa
lvarez M. B., Gmez A. M., Guerra A. H., Lau R. F. Matemtica numrica.
Editorial Flix Varela. La Habana, Cuba, 1998.

MODELACIN EN INGENIERA MATERIAL DIDCTICO No08 Ao 2014

23

SOLUCIN NUMRICA DE PROBLEMAS DE VALOR INICIAL

Kreyszig E. Matemticas avanzadas para ingeniera. Traduccin al Espaol del


original en Ingls por Jos Hernn Prez Castellanos. Novena reimpresin.
Editorial Limusa. Mxico, 1976.
BozaValerino J., Vilaragut J., Feltan C., Caballero A. Matlab applications to the
solution of problems associated to electric power systems. Software for Electrical
Engineering - Analysis and Design IV. WitPress. UK, USA, Canada and Mexico.
1999.

MODELACIN EN INGENIERA MATERIAL DIDCTICO No08 Ao 2014

24

You might also like