Está en la página 1de 22

Resolución numérica de

Ecuaciones Diferenciales de
Ordinarias (ODEs) de primer
orden: Problema de Valor Inicial �
�.� Contextualización . . . . . . . ��
�.� Contextualización �.� Métodos numéricos de resolu-
ción para PVIs . . . . . . . . . . . ��
Numerosos fenómenos, tanto naturales como artificiales, consisten de Errores asociados a los métodos
relaciones entre magnitudes en las que el concepto tasa de cambio juega de aproximación de ODEs . . . ��
un papel fundamental. La representación matemática de estas relaciones �.� Método de Euler . . . . . . . . ��
son, a menudo, ecuaciones en las que dicha tasa de cambio se expresa Análisis del error en el método
a través de derivadas. Por tal motivo, este tipo de ecuaciones reciben el de Euler . . . . . . . . . . . . . . . ��
nombre de ecuaciones diferenciales o, a veces, ecuaciones de cambio. Pseudocódigo del Método de Eu-
Así, fenómenos tales como: ler . . . . . . . . . . . . . . . . . . . ��
�.� Métodos de Heun y del punto
I El movimiento de los fluidos. medio . . . . . . . . . . . . . . . . ��
I E flujo de corriente en un circuito. Método de Heun . . . . . . . ��
I La disipación del calor en estructuras sólidas. Método del punto medio . . ��
I La propagación y detección de ondas sísmicas. �.� Método de Runge-Kutta IV . ��
I La dinámica de poblaciones.
I ...
se modelan e investigan a través de ecuaciones diferenciales, cuyo estudio
(propiedades y soluciones) se hace entonces indispensable.

A modo de ilustración se muestran a continuación dos ecuaciones difer-


enciales:
�. Ecuación diferencial que modela el flujo de carga, &(C), en un
circuito RLC sometido a una tensión alterna ⇢(C),

3 2 &(C) 3&(C) 1
! +' + &(C) = ⇢(C) (�.�)
3C 2 3C ⇠
En (�.�) la cantidad que cambia, &(C), se denomina variable de-
pendiente, mientras que la cantidad con respecto a la cual cambia,
C , se denomina variable independiente.
Como se puede observar, (�.�) involucra sólo una variable inde-
pendiente. A este tipo de ecuaciones diferenciales se les denomina
ecuaciones diferenciales ordinarias.

�. Ecuación que describe la propagación de una onda unidimen-


sional,
%2 D(G, C) %2 D(G, C)
22 = (�.�)
%G 2 %C 2
En (�.�) la variable dependiente es la propiedad de la onda D(G, C),
y las variables independientes son, G y C .
Como se puede observar, (�.�) involucra dos variables independi-
entes.
Las ecuaciones diferenciales que involucran dos o más variables
independientes reciben el nombre de ecuaciones diferenciales en
derivadas parciales.
� Resolución numérica de Ecuaciones Diferenciales de Ordinarias �ODEs� de
��
primer orden� Problema de Valor Inicial

Las ecuaciones diferenciales (ordinarias y en derivadas parciales) se


clasifican a su vez por su orden.

Definition �.�.� Orden de una ecuación diferencial


El orden de una ecuación diferencial es el orden de la derivada más alta que
aparece en la ecuación.

Así, (�.�) es una ecuación diferencial ordinaria (EDO) de orden �, dado


que la derivada más alta que aparece es de orden �. Sin embargo, la
ecuación diferencial que modela el movimiento en caída libre de un
cuerpo con resistencia,

3E(C) ✏
=6 E(C) (�.�)
3C <
es una EDO de orden �, dado que la derivada más alta involucrada es de
orden �.
De igual forma, (�.�) es una ecuación en derivadas parciales (EDP) de
orden �, dado que la derivada parcial más alta que aparece en la ecuación
es de orden �. Por el contrario, la ecuación diferencial conocida con el
nombre de ecuación de advección,

%D(G, H) %D(G, H)
+ =0 (�.�)
%G %H

es una EDP de orden �, dado que la derivada parcial más alta involucrada
es de orden � .

Definition �.�.� EDO de orden =


En general, la ecuación

[C, H(C), H 0(C), . . . , H (=) (C)] = 0 (�.�)

se denomina EDO de orden = y representa una relación entre la variable


independiente,C , y la variable dependiente, la función H , junto con sus
derivadas H 0 , H 00 , . . . , H (=) .
Otra manera de expresar (�.�) es mediante su forma normal o estándar,
i.e.,
H (=) = 5 (C, H, H 0 , H 00 , . . . , H (= 1) ) (�.�)
donde se asume que 5 es una función real.

Usualmente, interesa determinar la solución de la ecuación diferencial


(ordinaria o en derivadas parciales) que modela el fenómeno bajo estudio,
dado que provee de información relevante acerca de este, para lo cual en
primer lugar hay que definir qué se entiende por solución de una EDO.

Definition �.�.� Solución de una EDO


Una solución de la EDO (�.�) sobre el intervalo C 2 (0, 1) es una función
H(C) = )(C) tal que )0 , )00 , )000 , . . . , ) (=) existen y satisfacen
1)
) (=) = 5 (C, ), )0 , )00 , . . . , ) (= ), 8C 2 (0, 1)

A partir de ahora sólo se hablará de EDOs y los métodos numéricos involucrados en su


resolución. Las EDPs tienen su tema correspondiente más adelante.
� Resolución numérica de Ecuaciones Diferenciales de Ordinarias �ODEs� de
��
primer orden� Problema de Valor Inicial

En base a las definiciones anteriores, cabe hacerse las siguientes preguntas


acerca de las soluciones de las EDO (�.�):
�. ¿Tiene siempre una solución?
No.
�. Entonces, ¿cómo podemos saber si tiene una solución?
Esta pregunta está relacionada con la existencia de una solución y
se contesta con ciertos teoremas que establecen restricciones sobre
la función 5 bajo las cuales (�.�) siempre tiene una solución.
Desde un punto de vista práctico, la respuesta a esta pregunta
ahorra tiempo y esfuerzo al abordar un problema, sabiendo de
antemano que no tiene solución.
�. Asumiendo que (�.�) tiene una solución, la siguiente pregunta
es, ¿cuántas soluciones tiene y cuántas condiciones adicionales
deben especificarse para obtener una solución particular?
Esta cuestión tiene que ver con la unicidad de la solución.
En general, la solución, si existe, (�.�) contienen = constantes de
integración de forma que no hablamos de una solución sino de una
familia de soluciones.
Así, para obtener una solución particular se tendrán que dar
valores adecuados a cada una de estas constantes.
I Si todas las constantes de integración está determinadas para
el mismo valor de la variable independiente, se habla de un
problema de valor inicial.

Teorema �.�.� Teorema de existencia y unicidad de la solu-


ción de un PVI
%5
Sean las funciones 5 y %H definidas sobre el rectángulo 0 < C < 1 ,
2 < H < 3 que contiene al punto (C0 , H0 ). Entonces, en algún
intervalo C0 ⌘ < C < C0 + ⌘ contenido en el intervalo 0 < C < 1 ,
existe una única solución, H = )(C), del PVI

3H(C)
= 5 (C, H),
3C
H(C0 ) = H0
I Por el contrario, si las constantes de integración están deter-
minadas para distintos valores de la variable independiente,
se habla de un problema de valores en la frontera† .
De nuevo, la cuestión de la unicidad tiene implicaciones prácticas
dado que si conseguimos hallar la solución de un problema y se
sabe que tiene solución única, ya hemos acabado. Pero si existen
más soluciones, habrá que continuar con el proceso de búsqueda.
�. Por último, sabiendo que existe al menos una solución de (�.�),
¿cómo se calcula?
Existen métodos analíticos que permiten obtener la familia de
soluciones exacta de (�.�). Desafortunadamente, en la mayoría de
los casos, sobre todo aquellos que involucran relaciones no lineales,
los métodos analíticos de resolución resultan inviables.
Una forma de solventar este inconveniente implica el uso de méto-
dos numéricos, que permitirán obtener una aproximación a una
solución particular de (�.�).

En este tema se abordará la resolución numérica de un problema de

† Este tipo de problemas se tratarán en el siguiente tema.


� Resolución numérica de Ecuaciones Diferenciales de Ordinarias �ODEs� de
��
primer orden� Problema de Valor Inicial

valor inicial (PVI) en el que la EDO involucrada es de orden �, i.e.,

3H(C)
= 5 (C, H), 0<C<1
3C
H(C0 ) = H0

La razón de estudiar sólo este tipo de EDOs se debe a que, por un pro-
cedimiento denominado reducción de orden, toda EDO de orden superior
a � puede expresarse como un sistema de EDOs de orden �.
A modo de ejemplo, la EDO de orden �,

32 G(C) 3G(C)
< +2 + :G(C) = 0
3C 2 3C
que modela el movimiento de un sistema masa-resorte (<, :) con amor-
tigüación (2), puede escribirse como el siguiente sistema de EDOs de
orden � (
3G(C)
3C = H(C)
3H(C) : 2
3C = < G(C) < H(C)

�.� Métodos numéricos de resolución para PVIs

Para el PVI,

3H(C)
= 5 (C, H), 0C1 (�.�)
3C
H(C0 ) = H0

y suponiendo que se cumplen las condiciones de existencia y unicidad de


la solución (Teorema �.�.�), la resolución analítica sólo es posible cuando
la EDO involucrada pertenece a una de estas categorías:
�. Lineal.
�. Separable.
�. Exacta.
�. Ninguna de las anteriores, pero puede transformarse en una de
ellas.
En el resto de casos, no hay método analítocos para obtener la solución
del problema y, por tanto, se recurrirán a los métodos numéricos.

En este sentido, pueden identificarse dos categorías de métodos numéri-


cos orientados a la resolución de (�.�):
�. Métodos de un paso.
Este tipo de métodos permiten el cálculo de la aproximación H 8+1 a
partir de la aproximación anterior H 8 .
A este tipo pertenecen los llamados métodos o técnicas Runge-Kutta.
Entre ellos cabe mencionar:
a) El método de Euler‡ .
b) Los métodos de Heun y del punto medio.
c) El método de Runge-Kutta IV.

‡ Nopertenece estrictamente a los métodos Runge-Kutta, aunque puede pensarse como


una versión cero de los mismos.
� Resolución numérica de Ecuaciones Diferenciales de Ordinarias �ODEs� de
��
primer orden� Problema de Valor Inicial

�. Métodos multipaso.
Estos métodos calculan la aproximación H 8+1 a partir de varias
aproximaciones anteriores.

Errores asociados a los métodos de aproximación de


ODEs

Previo al estudio de los métodos numéricos que permiten aproximar la


solución de un PVI, es necesario introducir los errores asociados a su
implementación:

Error de truncamiento o discretización Este error es inherente a los


métodos numéricos empleados para aproximar los valores de
la solución real. Este a su vez, está compuesto de los siguientes
errores:
I Error de truncamiento local, ⇢ ;
Este error depende solamente del método numérico empleado
y aparece al aplicar este en un sólo paso.
Para conocer su magnitud y propiedades se recurre al desar-
rollo de Taylor de la solución del PVI:
3H
Sea H(C) la solución real de la EDO 3C = 5 (C, H) asociada
al PVI (�.�). Suponiendo que tiene derivadas continuas,
su desarrollo de Taylor de orden = en un entorno del
punto (C 8 , H 8 ) resulta

H 00(C 8 ) 2 H (=) (C 8 ) = H (=+1) (⇢) =+1


H(C 8+1 ) = H(C 8 +⌘) = H(C 8 )+H 0(C 8 )⌘+ ⌘ +. . .+ ⌘ + ⌘ , ⇢ 2 [C 8 , C 8+1 ]
2! =! (= + 1)!
(�.�)
donde el término en rojo es el resto asociado a dicho
desarrollo. De hecho, el resto constituye una cota superior
El símbolo “O()” significa “términos de
al error de truncamiento local, i.e., orden ().

"
|⇢ ; |  ⌘ =+1 , " max | 5 (=) (⇢, H(⇢))|, ◆ 2 (G 8 , G 8+1 )
(= + 1)!

Una forma alternativa de escribir (�.�) involucra a la


función 5 de la EDO, i.e.,

5 0(C 8 , H 8 ) 2 5 (= 1) (C 8 , H 8 ) =
H(C 8+1 ) = H(C 8 +⌘) = H(C 8 )+ 5 (C 8 , H 8 )⌘+ ⌘ +. . .+ ⌘ +$(⌘ =+1 )
2! =!
(�.�)
donde $(⌘ =+1 ) establece que el error local de trun-
camiento es proporcional a ⌘ =+1 .
Como se comprobará en cada uno de los métodos, el
error de truncamiento aparece al aproximar la solución
verdadera haciendo uso de un número finito de términos
en el desarrollo de Taylor de la solución real, esto es, se
trunca u omite parte de esta solución.

Si el error de truncamiento local tiende a 0 cuando ⌘ ! 0,


se dice que el método en cuestión es consistente.
Específicamente, si ⇢ ; = $(⌘ ? ) cuando ⌘ ! 0, se dice
que el método es consistente de orden ? .
� Resolución numérica de Ecuaciones Diferenciales de Ordinarias �ODEs� de
��
primer orden� Problema de Valor Inicial

Sin embargo, el desarrollo de Taylor anterior no pro-


porciona información acerca del error de truncamiento
propagado y, por tanto, del error global.
• Error de truncamiento propagado
Este error resulta de arrastrar los errores asociados al
cálculo de las aproximaciones en los pasos anteriores.
• Error global de truncamiento
Este error se obtiene al sumar los dos errores anteriores.
En general, este error se calcula de la forma

⇢ 6 (8) = H(C 8 ) H8 , 8 = 0, 1, 2, . . . (�.��)

Si ⇢ 6 ! 0 cuando ⌘ ! 0, 8C 2 [0, 1], se dice que el


método numérico es convergente.
Error de redondeo Este error se debe al número limitado de dígitos
significativos con los que puede trabajar el ordenador. Así, cualquier
número con más cifras significativas que las que el ordenador
pueda almacenar, será aproximado por la máquina a un valor
“redondeado”.
En general, este tipo de error es complejo e impredecible.

Conocimientos de MatLab necesarios


I Uso del comando input
I Definición de vectores
I Construcción de estructuras en bucle (loops) con el comando
while
I Uso del condicional con el comando if
I Representación gráfica haciendo uso de los comandos plot y
fplot

�.� Método de Euler

El método númerico más simple y antigüo para resolver (�.�) se atribuye


al matemático suizo Leonhard Euler alrededor de ����. Se denomina por
este motivo método Euler o método de la tangente. Fig. �.�. Representación gráfica del
método de Euler

La forma de aproximar la solución H(C) = )(C) de (�.�) alrededor de


C = C0 es la siguiente:

I Se sabe que la solución exacta pasa por el punto (C0 , H0 ).


I A partir de (�.�) se sabe que la pendiente de la recta tangente en el
punto (C0 , H0 ) es 5 (C0 , H) , siendo entonces su ecuación

H = H0 + 5 (C0 , H0 )(C C0 ) (�.��)

I Resulta que la tangente es una buena aproximación a la curva


solución real en un intervalo suficientemente pequeño.
Así, si C1 está suficientemente cerca de C0 podemos aproximar )(C1 )
por el valor H1 obtenido al sustituir C = C1 en la ecuación de la recta
tangente en C0 , i.e.,

H1 = H0 + 5 (C0 , H0 )(C1 C0 )
� Resolución numérica de Ecuaciones Diferenciales de Ordinarias �ODEs� de
��
primer orden� Problema de Valor Inicial

I Para obtener la siguiente aproximación, H2 , se repite de nuevo el


proceso. Como no se conoce el valor de la solución real en C1 , )(C1 ),
se hace uso del valor aproximado H1 . Así, en el punto (C1 , H1 ) se
traza la recta tangente con pendiente 5 (C1 , H1 ), i.e.,

H = H1 + 5 (C1 , H1 )(C C1 )

de forma que la aproximación al valor )(C2 ) en torno al C = C2


resulta
H2 = H1 + 5 (C1 , H1 )(C2 C1 )
I Procediendo de forma similar, se emplea el valor de cada aproxi-
mación H en cada iteración para calcular la pendiente de la recta
tangente con la que se calcula la aproximación siguiente.
La expresión general para la aproximación H 8+1 en términos de C 8 ,
C 8+1 e H 8 es
H 8+1 = H 8 + 5 (C 8 , H 8 )(C 8+1 C 8 ) (�.��)
I Asumiendo que la longitud de paso, ⌘ , es uniforme entre los
puntos C0 , C1 , C2 , . . ., i.e.,

C 8+1 = C 8 + ⌘, 8 = 0 , 1 , 2 , . . .

la fórmula de Euler puede reescribirse de la forma

H 8+1 = H 8 + ⌘ 5 (C 8 , H 8 ), 8 = 0, 1, 2, . . . (�.��)

Así, mediante el método de Euler se genera una sucesión de valores


{H0 , H1 , H2 , . . .} que aproximan los valores de la solución real )(C) en los
puntos {C0 , C1 , C2 , . . .}.
Desde un punto de vista geométrico, la gráfica de la solución real,
H = )(C), se aproxima mediante la gráfica de una función lineal a trozos,
donde cada tramo es una recta tangente.

Ejemplo �.�.� Aplicación del Método de Euler

Sea el PVI ( 3H
1
3G =4+4 C
3 H,
H(0) = 1
Hacer uso del método de Euler con cuatro nodos para aproximar los
valores de la solución en el intervalo [0 , 0.4]. Comparar el resultado
con los valores de la solución real.

La solución exacta del PVI es


1 C 2
H(C) = )(C) = 4 ( 3 19 4 3 C + 24 4 C ) (�.��)
2
�. Dado el número de nodos, # = 4, y el intervalo donde se quiere
aproximar la solución [0 , 0.4], se calcula la longitud de paso, ⌘ ,
como
0.4 0
⌘= = 0.1
4
Luego, los nodos en los que se van a calcular las aproximaciones
� Resolución numérica de Ecuaciones Diferenciales de Ordinarias �ODEs� de
��
primer orden� Problema de Valor Inicial

son
C0 = 0 , C1 = 0.1 , C2 = 0.2 , C3 = 0.3 , C4 = 0.4
�. Conocidos los nodos y la longitud de paso, procedemos a la
aplicación de la fórmula de Euler para calcular cada una de las
aproximaciones H 8 , 8 = 1 , 2 , 3 , 4, donde 5 (C, H) = 4 + 4 C 13 H ,
junto con el valor de la solución exacta, H(C), y el error global,
⇢ 8 = |H 8 H(C 8 )|, 8 = 1 , 2 , 3 , 4 en cada nodo:

(# = 1) ) H1 = H0 + ⌘ 5 (C0 , H0 ) = 0 + 0.1 5 (0 , 1) = 1.466667


H(C1 ) = )(0.1) = 1.454191
⇢ 6 (1) = H(C1 ) H(1) = 0.012476
(# = 2) ) H2 = H1 + ⌘ 5 (C1 , H1 ) = 1.466667 + 0.1 5 (0.1 , 1.466667) = 1.908262
H(C2 ) = )(0.2) = 1.884588
⇢ 6 (2) = H(C2 ) H2 = 0.023674
(# = 3) ) H3 = H2 + ⌘ 5 (C2 , H2 ) = 1.908262 + 0.1 5 (0.2, 1.908262) = 2.326526
H(C3 ) = )(0.3) = 2.292817
⇢ 6 (3) = H(C3 ) H3 = 0.033709
(# = 4) ) H4 = H3 + ⌘ 5 (C3 , H3 ) = 2.326526 + 0.1 5 (0.3, 2.326526) = 2.723057
H(C4 ) = )(0.4) = 2.680373
⇢ 6 (4) = H(C4 ) H4 = 0.353847

A partir de las figuras �.� y �.� del ejemplo, puede observarse lo sigu-
iente:

�. La solución numérica sigue la tendencia general de la solución


exacta de forma correcta.
�. La solución numérica asociada a una longitud de paso más pequeña
es más precisa que la correspondiente a un ⌘ más grande.
�. Como ⌘ 1 = 0.1 y ⌘ 2 = 0.05 si, por ejemplo, se calcula el cociente de
los errores globales en C4 = 0.4 se observa que

⇢ 6 (⌘ = 0.1) 0.042683437
= = 2.0279558378 ⇡ 2
⇢ 6 (⌘ = 0.05) 0.021047518
Fig. �.�. ⌘ = 0.1
lo cual muestra que el método es de primer orden (⇢ 6 = $(⌘)).
�. Los errores en general son demasiado grandes. Esto se debe a que
el error global es del orden de ⌘ .
�. Los errores son todos negativos. Esto indica que la solución
numérica “sigue” a la solución exacta. Esto ocurre dado que la
primera derivada de 5 (C, H) decrece a medida que se C aumenta.
�. La solución numérica se acerca mejor a la solución exacta cuando
⌘ disminuye. Esta propiedad se conoce como convergencia del
método.

Análisis del error en el método de Euler

Comparando las ecuaciones (�.��) y (�.�) se observa que el método de


Euler se corresponde con el desarrollo de Taylor hasta el término lineal
5 (C 8 , H 8 )⌘ .
Así, el error de truncamiento local se debe a los términos omitidos de
Fig. �.�. ⌘ = 0.05
� Resolución numérica de Ecuaciones Diferenciales de Ordinarias �ODEs� de
��
primer orden� Problema de Valor Inicial

(�.�), esto es,


5 0(C 8 , H 8 ) 2
⇢; = ⌘ + . . . + $(⌘ =+1 ) (�.��)
2!
Para una longitud de paso, ⌘ , suficientemente pequeña el error asociado
a los términos de orden mayor que � suelen despreciarse y la expresión
del error de truncamiento resulta

5 0(C 8 , H 8 ) 2
⇢; ⇡ ⌘ ) ⇢ ; = $(⌘ 2 ) (�.��)
2!
Puede demostrarse que el error global de truncamiento, ⇢ 6 , es propor-
cional a la longitud de paso, i.e., ⇢ 6 = $(⌘).

A partir de los resultados anteriores se concluye lo siguiente para el


método de Euler:
I El error puede reducirse al disminuir la longitud de paso, ⌘ .

I El método provee de una aproximación sin errores cuando la


solución real del PVI es un polinomio de grado �, dado que en este
caso las derivadas de orden mayor o igual a � son nulas.
La última conclusión tiene sentido dado que en el método de Euler
la solución exacta se aproxima mediante segmentos de recta. Por este
motivo, se dice que el método de Euler es un método de primer orden. En general, un método de orden = pro-
porcionará resultados exactos si la solu-
ción del PVI es un polinomio de grado = .
Resulta interesante mecionar el hecho de que los cambios en el signo del Además, el error de truncamiento local, ⇢ ;
error de truncamiento local, ⇢ ; , son debidos a los cambios en el signo será $(⌘ =+1 ) y el error global, ⇢ 6 , igual a
de la 5 0(C, H), siendo dichas oscilaciones las que procuran que el error $(⌘ = ).
global aumente en cada aproximación.
En otras palabras:
I Si el error de truncamiento local, ⇢ ; cambia de signo de forma
continua a lo largo del intervalo [0, 1], el efecto neto es, usualmente,
la reducción del error global, ⇢ 6 . La solución aproximada converge
a la real y se dice que los resultados numéricos son estables.

I Si el error de truncamiento local, ⇢ ; mantiene el mismo signo


(positivo o negativo) a lo largo de todo el intervalo [0, 1], el efecto
neto es, usualmente, el aumento del error global, ⇢ 6 . En tal caso,
la solución numérica diverge de la real y se dice que los resultados
numéricos son inestables.
En un contexto más realista, donde la solución exacta no se conoce, habría
que aplicar el método de Euler haciendo uso de diferentes longitudes de
paso para obtener una estimación indirecta de los errores involucrados.
� Resolución numérica de Ecuaciones Diferenciales de Ordinarias �ODEs� de
��
primer orden� Problema de Valor Inicial

Pseudocódigo del Método de Euler

A continuación se muestra el pseudocódigo asociado al método de Euler


para su implementación en MATLAB.

Algoritmo �: Pseudo-código del método de Euler


input : f, ytrue, a, b, y�, N
� h = (b - a)/N ; /* longitud de paso */
� t = a:h:b ; /* inicializacion de t */
� y = zeros(N+�,�) ; /* inicializacion de y */
� y(�) = y�;
� errg = zeros(N+�,�); /* inicializacion del error */
� for 8 = 1 , 2 , . . . , N do
� k� = f(t(i),y(i));
� y(i+�) = y(i) + k�*h;
� errg = ytrue(t(i)) - y(i);
�� end
output : x, y, ytrue, errg
�� plot(t,y); /* representacion grafica */
�� hold on;
�� fplot(@(t) ytrue(t),[a b]);

Comentarios:
�. En la práctica, se escogerá un valor la longitud de paso, ⌘ , su-
ficientemente pequeño como para alcanzar una cierta precisión,
pero no demasiado pequeño. Esto se debe a que una longitud de
paso demasiado pequeña aumenta el número de cálculos y los
enletece, de forma que se incrementa el coste computacional, lo
que en muchos casos supone una pérdida en la precisión de los
resultados.
�. Dado que, de entre todos los errores, el error de truncamiento
global es el más accesible, será el que se calcula en cada uno de los
métodos numéricos de este tema.

�.� Métodos de Heun y del punto medio

Dos de las principales desventajas del método de Euler son:


I Requiere una longitud de paso muy pequeña para producir resul-
tados suficientemente precisos.
I Emplea la misma derivada a lo largo de todo el intervalo de
integración.
Ambos “handicaps” puede resolverse mediante dos sencillas modi-
ficaciones. Ambas pertenecen a un conjunto más amplio de técnicas
numéricas conocidas como métodos de Runge-Kutta.

Método de Heun

El método de Heun o método de Euler mejorado perfecciona la esti-


mación de la pendiente mediante el cálculo de dos derivadas: una en
el punto inicial, C 8 , y otra en el punto final, C 8+1 . Después, considera
el promedio de ambas para conseguir una estimación mejorada de la
� Resolución numérica de Ecuaciones Diferenciales de Ordinarias �ODEs� de
��
primer orden� Problema de Valor Inicial

pendiente a lo largo de todo el intervalo de integración, [C 8 , C 8+1 ].


Los pasos son los siguientes:

�. La pendiente al comienzo del intervalo es


0
H 8 = 5 (C 8 , H 8 )

que se emplea para calcular la siguiente aproximación


0
H 8+ 1 = H 8 + 5 (C 8 , H 8 )⌘ (�.��)

Si quisiera aplicarse el método de Euler, nos detendríamos aquí. Sin


0
embargo, en el método de Heun, H 8+ 1
es una estimación intermedia,
de ahí el empleo del superíndice 0.
�. La ecuación (�.��) a veces se conoce como la ecuación predictora,
dado que provee de una primera estimación de H 8+1 que permite el
cálculo final de la pendiente al final del intervalo, en G 8+1 ,
0 0
H 8+1 = 5 (C 8+1 , H 8+ 1) (�.��) Fig. �.�. Representación gráfica del
método de Heun
�. Combinando las pendientes (�.��) y (�.��) se calcula una pendiente
promedio
0 0 0
0 H 8 + H 8+ 1
5 (C 8 , H 8 ) + 5 (C 8+1 , H 8+1
)
H̄ = = (�.��)
2 2
�. La pendiente (�.��) es la que se emplea para calcular la siguiente
aproximación H 8+1 a partir de H 8 del mismo modo que en el método
de Euler,
0
0 5 (C 8 , H 8 ) + 5 (C 8+1 , H 8+1
)
H 8+1 = H 8 + H̄ = H 8 + ⌘ (�.��)
2
donde (�.��) recibe el nombre de ecuación correctora.

Como puede observarse, el método de Heun es un método que consta


0
de dos pasos: en primer lugar, calcula H 8+1
mediante la fórmula de Euler;
en segundo lugar calcula H 8+1 mediante (�.��).

Ejemplo �.�.� Aplicación del Método de Heun


Hacer uso del método de Heun para aproximar la solución del PVI,
( 3H
3C = HC 2 1.1 H
H(0) = 1

en el intervalo [0 , 1] con # = 4.

La solución exacta del PVI es:


11 1 3
H(C) = 4 10 C+ 3 C (�.��)

Por otro lado, dado el intervalo de integración y el número de nodos


# (que no incluye al primero) calculamos la longitud de paso, ⌘ ,

1 0 1
⌘= = = 0.25
4 4
� Resolución numérica de Ecuaciones Diferenciales de Ordinarias �ODEs� de
��
primer orden� Problema de Valor Inicial

Luego el intervalo [0 , 1] queda discretizado del siguiente modo,

{C0 = 0, C1 = 0.25 , C2 = 0.50 , C3 = 0.75 , C4 = 1}

y, por tanto, las aproximaciones a calcular son las asociadas a cada uno
de los nodos C 8 , 8 = 1 , 2 , 3 , 4, donde 5 (C, H) = HC 2 1.1 H . Así:

(# = 1) ) H10 = H0 + ⌘ 5 (C0 , H0 ) = 0 + 0.25 5 (0 , 1) = 0.725


5 (C0 , H0 ) + 5 (C1 , H10 )
H1 = H0 + 0.25 = 0.768477
2
H(C1 ) = )(0.25) = 0.763539
⇢ 6 (1) = H(C1 ) H1 = 0.004938
(# = 2) ) H20 = H1 + ⌘ 5 (C1 , H1 )
= 0.768477 + 0.25 5 (0.25 , 0.768477) = 0.569153
5 (C1 , H1 ) + 5 (C2 , H20 )
H2 = H1 + 0.25 = 0.608342
2
H(C2 ) = )(0.50) = 0.601497
⇢ 6 (2) = H(C2 ) H2 = 0.006845
(# = 3) ) H30 = H2 + ⌘ 5 (C2 , H2 )
= 0.608342 + 0.25 5 (0.50 , 0.608342) = 0.479070
5 (C2 , H2 ) + 5 (C3 , H30 )
H3 = H2 + 0.25 = 0.511518
2
H(C3 ) = )(0.75) = 0.504405
⇢ 6 (3) = H(C3 ) H3 = 0.007113
(# = 4) ) H40 = H3 + ⌘ 5 (C3 , H3 )
= 0.511518 + 0.25 5 (0.75 , 0.511518) = 0.442783
5 (C3 , H3 ) + 5 (C4 , H40 )
H4 = H3 + 0.25 = 0.471616
2
H(C4 ) = )(1) = 0.464559
⇢ 6 (4) = H(C4 ) H4 = 0.007057

A partir de las figuras �.� y �.� del ejemplo, puede observarse lo sigu-
Fig. �.�. ⌘ = 0.25
iente:

�. Puede demostrarse que el error de truncamiento local, ⇢ ; , viene


dado por
5 00(⇢) 3
⇢; = ⌘ , ⇢ 2 [C 8 , C 8+1 ]
12
Además, como ⌘ 1 = 0.25 y ⌘ 2 = 0.125 si, por ejemplo, se calcula el
cociente de los errores globales en C4 = 1 se observa que

⇢ 6 (⌘ = 0.25) 0.007057
= = 3.74 ⇡ 4
⇢ 6 (⌘ = 0.125) 0.001889

lo cual muestra que ⇢ 6 = $(⌘ 2 ), esto es, el método de Heun es un


método de segundo orden.
Lo anterior implica que dicho método proporcionará resultados Fig. �.�. ⌘ = 0.125
exactos si la solución real del PVI es un polinomio cuadrático.
�. La mayor precisión de este método es a expensas de un mayor
trabajo computacional, dado que hay que calcular 5 (C, H) dos
veces para obtener la aproximación numérica en cada subintervalo,
� Resolución numérica de Ecuaciones Diferenciales de Ordinarias �ODEs� de
��
primer orden� Problema de Valor Inicial

[C 8 , C 8+1 ]. Esto resulta importante dado que, típicamente, casi todo


el esfuerzo computacional en cada paso se emplea en la evaluación
de 5 .
�. En comparación con el método de Euler, el método de Heun es más
eficiente§ , proporcionando mejores aproximaciones o requiriendo
menor esfuerzo computacional, o ambos.

A continuación se muestra el pseudo-código asociado al método de


Heun:

Algoritmo �: Pseudo-código del método de Heun


input : f, ytrue, a, b, y�, N
� h = (b - a)/N ; /* longitud de paso */
� T = a:h:b ; /* inicializacion de t */
� Y� = zeros(N+�,�);
� Y�(�) = �;
� Y = zeros(N+�,�) ; /* inicializacion de y */
� Y(�) = y�;
� errg = zeros(N+�,�); /* inicializacion del error */
� for 8 = 1 , 2 , . . . , N do
� k� = f(T(i),Y(i));
�� Y�(i+�) = Y(i)+h*k�;
�� k� = f(T(i+�),Y�(i+�));
�� Y(i+�) = Y(i) + �.�*h*(k�+k�);
�� errg = ytrue(T(i+�)) - Y(i+�);
�� end
output : T, Y, ytrue, errg
�� plot(T,Y); /* representacion grafica */
�� hold on;
�� fplot(@(t) ytrue(t),[a b]);

Método del punto medio

Otra simple modificación en el método de Euler da lugar a lo que se


conoce como el método del punto medio o método de la poligonal
mejorado. Esta técnica emplea el método de Euler para predecir el valor
de H en el punto medio del intervalo.
Así:

�. Calcula H 8+ 1 , la aproximación en C 8 + ⌘
2 (punto medio del intervalo),
2


H 8+ 1 = H 8 + 5 (C 8 , H 8 ) (�.��)
2 2
�. Emplea el valor en (�.��) para calcular la pendiente en el punto
medio,
0
⇣ ⌘
H 8+ 1 = 5 C 8+ 1 , H 8+ 1 (�.��)
2 2 2

que se asume como una correcta aproximación de la pendiente Fig. �.�. Representación gráfica del
método del punto medio
promedio en todo el intervalo [C 8 , C 8+1 ].
�. La pendiente en (�.��) se utiliza para calcular la aproximación en
el nodo C 8+1 , ⇣ ⌘
H 8+1 = H 8 + 5 C 8+ 1 , H 8+ 1 ⌘ (�.��)
2 2

§ El método de Heun con una longitud de paso, ⌘ , requiere el mismo número de evaluaciones

de 5 que el método de Euler con una longitud de paso 2.
� Resolución numérica de Ecuaciones Diferenciales de Ordinarias �ODEs� de
��
primer orden� Problema de Valor Inicial

Ejemplo �.�.� Aplicación del método del punto medio


Emplear el método del punto medio para aproximar la solución del
PVI (
3H H 2 +2C H
3C = 3+C 2
H(0) = 0.5
en el intervalo [0 , 1] y # = 4.

La solución exacta del PVI es

3 C2
H(C) =
C 6
Como el intervalo de integración es [0 , 1] y el número de nodos es
# = 4, la longitud de paso resulta

1 0
⌘= = 0.25
4
Luego, el intervalo [0 , 1] queda discretizado del siguiente modo,

{C0 = 0, C1 = 0.25, C2 = 0.50 , C3 = 0.75 , C4 = 1}

y, por tanto, las aproximaciones a calcular son las correspondientes a


H 2 +2 C H
estos nodos con 5 (C, H) = 3C 2
. Así:


(# = 1) ) H 1 = H0 + 5 (C0 , H0 ) = 0 + 0.125 5 (0 , 0.5) = 0.510417
2 2
H1 = H0 + 0.25 5 (C 1 , H 1 ) = 0.532177
2 2

H(C1 ) = )(0.25) = 0.532609


⇢ 6 (1) = H(C1 ) H1 = 0.00432

(# = 2) ) H 3 = H1 + 5 (C1 , H1 )
2 2
= 0.532177 + 0.125 5 (0.25 , 0.532177) = 0.554597
H2 = H1 + 0.25(C 3 , H 3 ) = 0.589771
2 2

H(C2 ) = )(0.50) = 0.590909


⇢ 6 (2) = H(C2 ) H2 = 0.001138

(# = 3) ) H 5 = H2 + 5 (C2 , H2 )
2 2
= 0.589771 + 0.125 5 (0.50 , 0.589771) = 0.625832
H3 = H2 + 0.25 5 (C 5 , H 5 ) = 0.676330
2 2

H(C3 ) = )(0.75) = 0.678571


⇢ 6 (3) = H(C3 ) H3 = 0.002242

(# = 4) ) H 7 = H3 + 5 (C3 , H3 )
2 2
= 0.676330 + 0.125 5 (0.75 , 0.676330) = 0.727976
H4 = H3 + 0.25 5 (C 7 , H 7 ) = 0.796091
2 2

H(C4 ) = )(1) = 0.8


⇢ 6 (4) = H(C4 ) H4 = 0.003909
� Resolución numérica de Ecuaciones Diferenciales de Ordinarias �ODEs� de
��
primer orden� Problema de Valor Inicial

A partir de las figuras �.� y �.� del ejemplo, puede observarse lo sigu-
iente:

�. Al igual que el método de Heun, se demuestra que en el método


del punto medio el error de truncamiento local, ⇢ ; , y el error de
truncamiento global, ⇢ 6 , son de orden $(⌘ 3 ) y $(⌘ 2 ), respectiva-
mente. Con respecto al error global se tiene que, como ⌘ 1 = 0.25
y ⌘ 2 = 0.125 si, por ejemplo, se calcula el cociente de los errores
globales en C4 = 1 se observa que

⇢ 6 (⌘ = 0.25) 0.003909
= = 3.75 ⇡ 4
⇢ 6 (⌘ = 0.125) 0.001042

lo cual muestra que el método del punto medio es un método de


segundo orden. Fig. �.�. ⌘ = 0.25

�. Por otro lado, el método del punto medio es superior al método de


Euler dado que emplea una pendiente estimada en el punto medio
de cada intervalo [C 8 , C 8+1 ].

A continuación se muestra el pseudo-código asociado al método del


punto medio:

Algoritmo �: Pseudo-código del método del punto medio


input : f, ytrue, a, b, y�, N
� h = (b - a)/N ; /* longitud de paso */
� T = a:h:b ; /* inicializacion de t */
� Ymed = zeros(N+�,�);
� Ymed(�) = �;
� Y = zeros(N+�,�) ; /* inicializacion de y */ Fig. �.�. ⌘ = 0.125
� Y(�) = y�;
� errg = zeros(N+�,�); /* inicializacion del error */
� for 8 = 1 , 2 , . . . , N do
� k� = f(T(i),Y(i));
�� Ymed(i+�) = Y(i)+�.�*h*k�;
�� Tmed(i+�) = T(i)+�.�*h;
�� k� = f(Tmed(i+�),Ymed(i+�));
�� Y(i+�) = Y(i) + h*k�;
�� errg = ytrue(T(i+�)) - Y(i+�);
�� end
output : T, Y, ytrue, errg
�� plot(T,Y); /* representacion grafica */
�� hold on;
�� fplot(@(t) ytrue(t),[a b]);

En general, dada la superioridad del método de Heun y del punto


medio sobre el método de Euler, suelen utilizarse los primeros si re-
sultan adecuados para la precisión requerida por el problema en cuestión.

Los tres métodos, Euler, Heun y punto medio, constituyen versiones de


una clase más amplia de técnicas de un paso, denominadas métodos de
Runge-Kutta. Carl David Runge (����-����), fue un físico
y matemático alemán que trabajó durante
muchos años en espectroscopía. El análisis
de los datos le llevó a considerar proble-
mas en cálculo numérico, de forma que
el método Runge-Kutta tuvo su origen en
su paper sobre la solución numérica de
EDOs en ����. Este método fue extendido
a sistemas de ecuaciones en ���� por el
matemático y aerodinámico M. Wilhelm
Kutta (����-����), también conocido por
sus importantes contribuciones en la teoría
clásica de la superficie aerodinámica.
� Resolución numérica de Ecuaciones Diferenciales de Ordinarias �ODEs� de
��
primer orden� Problema de Valor Inicial

�.� Método de Runge-Kutta IV

Existen numerosas versiones de los métodos de Runge-Kutta (RK), sin


embargo, todas ellas pueden generalizarse mediante la ecuación

H 8+1 = H 8 + "(C 8 , H 8 , ⌘)⌘ (�.��)

donde "(C 8 , H 8 , ⌘) se denomina función de incremento, que puede inter-


pretarse como la pendiente promedio a lo largo del intervalo [C 8 , C 8+1 ].
La forma general de esta función es

" = 01 :1 + 02 :2 + . . . + 0 = : = (�.��)

donde los coeficientes {0 8 } =8=1 son constantes reales y los parámetros


{: 8 } =8=1 son las pendientes en diferentes puntos del intervalo, i.e.,

:1 = 5 (C 8 , H 8 )
:2 = 5 (C 8 + ? 1 ⌘, H 8 + @ 11 :1 ⌘)
:3 = 5 (C 8 + ? 2 ⌘, H 8 + @ 21 :1 ⌘ + @22 : 2 ⌘)
:4 = 5 (C 8 + ?3 ⌘, H 8 + @ 31 : 1 ⌘ + @ 32 :2 ⌘ + @33 :3 ⌘)
..
.
: = = 5 (C 8 + ? = 1 ⌘, H 8 + @ = 1 ,1 : 1 ⌘ + @= 1 ,2 : 2 ⌘, + . . . + @= 1 ,= 1 : = 1 ⌘)

donde los coeficientes {? 8 } =8=11 y {@ = 1,9 } =9=11 son constantes reales.


Es importante resaltar que las diferentes pendientes, : 8 , están definidas
de forma recursiva: : 1 aparece en la ecuación de : 2 , que aparece en la
ecuación de : 3 , y así sucesivamente.
Además, como cada : consiste en una evaluación de la función 5 (C, H),
dicha recurrencia hace que los métodos RK sean eficientes para los
cálculos que ha de realizar el ordenador.

A partir de la expresión general, (�.��), pueden derivarse varias técnicas


Runge-Kutta dando diferentes valores a los términos involucrados en la
función incremento en (�.��).
I El método de Runge-Kutta de orden 1 (= = 1) se corresponde con
el método de Euler con

01 = 1, ?0 = 0 y @ 0 ,0 = 0

de forma que
H 8+1 = H 8 + 5 (C 8 , H 8 )⌘
I El método de Runge-Kutta de orden 2 (= = 2) con

1
01 = 02 = , ?1 = @ 11 = 1
2
se corresponde con el método de Heun,
✓ ◆
1 1
H 8+1 = H8 + :1 + :2 ⌘
2 2
� Resolución numérica de Ecuaciones Diferenciales de Ordinarias �ODEs� de
��
primer orden� Problema de Valor Inicial

donde

:1 = 5 (C 8 , H 8 )
:2 = 5 (C 8 + ⌘, H 8 + : 1 ⌘)

I El método de Runge-Kutta de orden 2 (= = 2) con

1
01 = 0, 02 = 1, ?1 = @11 =
2
se corresponde con el método del punto medio,

H 8+1 = H 8 + :2 ⌘

donde

: 1 = 5 (C 8 , H 8 )
✓ ◆
1 1
: 2 = 5 C 8 + ⌘, H 8 + :1 ⌘
2 2

I El método de Runge-Kutta de orden 2 (= = 2) con

1 2 3
01 = , 02 = , ?1 = @11 =
3 3 4

se corresponde con el llamado método de Ralston¶ ,


✓ ◆
1 2
H 8+1 = H8 + :1 + :2 ⌘
3 3

donde

: 1 = 5 (C 8 , H 8 )
✓ ◆
3 3
:2 = 5 C 8 + ⌘, H 8 + :1 ⌘
4 4

I De entre todos, el más popular de los métodos RK es el de cuarto


orden (= = 4). Al igual que para los métodos RK de orden �,
existen numerosas versiones de este método, sin embargo, la que
se mostrará a continuación es la más comúnmente usada, y por
ello recibe el nombre de método RK de cuarto orden,

1
H 8+1 = H 8 + (:1 + 2 : 2 + 2 :3 + :4 )⌘ (�.��)
6
donde

: 1 = 5 (C 8 , H 8 )
✓ ◆
1 1
: 2 = 5 C 8 + ⌘, H 8 + :1 ⌘
2 2
✓ ◆ Fig. �.��. Representación gráfica del
método RK IV
1 1
: 3 = 5 C 8 + ⌘, H 8 + :2 ⌘
2 2
: 4 = 5 (C 8 + ⌘, H 8 + :3 ⌘)

Puede observarse a partir de (�.��) que el método de RK de cuarto

¶ El
método de Ralston fue propuesto por los matemáticos Anthony Ralston y Philip
Rabinowitz en ����.
� Resolución numérica de Ecuaciones Diferenciales de Ordinarias �ODEs� de
��
primer orden� Problema de Valor Inicial

orden es similar al método de Heun, dado que calcula varias


pendientes en diferentes puntos del intervalo [C 8 , C 8+1 ], para luego
obtener una pendiente promedio con diferentes pesos para todo el
intervalo.
I Pueden obtenerse resultados aún más precisos con el método de RK
de quinto orden (Butcher, ����) dado por

1
H 8+1 = H 8 + (7 :1 + 32 :3 + 12 : 4 + 32 :5 + 7 :6 )⌘
90
donde

:1 = 5 (C 8 , H 8 )
✓ ◆
1 1
:2 = 5 C 8 + ⌘, H 8 + :1 ⌘
4 4
✓ ◆
1 1 1
:3 = 5 C 8 + ⌘, H 8 + :1 ⌘ + : 2 ⌘
4 8 8
1 1
:4 = 5 (C 8 + ⌘, H 8 :2 ⌘ + :3 ⌘)
✓ 2 2 ◆
3 3 9
:5 = 5 C 8 + ⌘, H 8 + :1 ⌘ + :4 ⌘
4 16 16
✓ ◆
3 2 12 12 8
:6 = 5 C 8 + ⌘, H 8 :1 ⌘ + :2 ⌘ + :3 ⌘ :4 ⌘ + :5 ⌘
7 7 7 7 7

Existen más métods RK de órdenes superiores, tales como la anterior,


disponibles, sin embargo, en los métodos RK con = > 4 la ganancia en
precisión se compensa con un incremento en esfuerzo computacional y
complejidad.

Warning!
En general, será preferible emplear métodos RK de órdenes superi-
ores, aunque factores como el coste computacional y los requisitos
de precisión del problema en cuestión, deberán ser considerados a
la hora de escoger el método en cuestión.

Ejemplo �.�.� Aplicación del método RK IV


Emplear el método RK IV para aproximar la solución del PVI
( 3H
1
3C = 2 C + 2H
H(0) = 1

en el intervalo [0 , 2] y # = 4.

La solución exacta del PVI es


C
H(C) = + 4 2C
2
Como el intervalo de integración es [0 , 2] y el número de nodos es
� Resolución numérica de Ecuaciones Diferenciales de Ordinarias �ODEs� de
��
primer orden� Problema de Valor Inicial

# = 4, la longitud de paso resulta

2 0 1
⌘= = = 0.5
4 2
Luego, el intervalo [0 , 2] queda discretizado del siguiente modo,

{C0 = 0 , C1 = 0.5 , C2 = 1.5 , C3 = 1.5 , C4 = 2}

y, por tanto, las aproximaciones a calcular son las correspondientes a


� Resolución numérica de Ecuaciones Diferenciales de Ordinarias �ODEs� de
��
primer orden� Problema de Valor Inicial

1
estos nodos con 5 (C, H) = 2 C + 2 H . Así:

(1)
(# = 1) ) : 1 = 5 (C0 , H0 ) = 2.5
✓ ◆
(1) 1 1 (1)
:2 = 5 C0 + ⌘, H0 + :1 ⌘ = 3.5
2 2
✓ ◆
(1) 1 1 (1)
:3 = 5 C0 + ⌘, H0 + :2 ⌘ = 4.0
2 2
⇣ ⌘
(1) (1)
: 4 = 5 C0 + ⌘, H0 + : 3 ⌘ = 6.0
1 (1) (1) (1) (1)
H1 = H0 + (:1 + 2 :2 + 2 :3 + : 4 )⌘ = 2.958333
6
H(C1 ) = )(0.5) = 2.968282
⇢ 6 (1) = H(C1 ) H1 = 0.009948
(2)
(# = 2) ) : 1 = 5 (C1 , H1 ) = 5.916667
✓ ◆
(2) 1 1 (2)
:2 = 5 C1 + ⌘, H1 + :1 ⌘ = 8.625
2 2
✓ ◆
(2) 1 1 (2)
:3 = 5 C1 + ⌘, H1 + :2 ⌘ = 9.979167
2 2
⇣ ⌘
(2) (2)
: 4 = 5 C1 + ⌘, H1 + : 3 ⌘ = 15.395833
1 (2) (2) (2) (2)
H2 = H1 + (:1 + 2 :2 + 2 :3 + : 4 )⌘ = 7.835069
6
H(C2 ) = )(1.0) = 7.889056
⇢ 6 (2) = H(C2 ) H2 = 0.053987
(3)
(# = 3) ) :1 = 5 (C2 , H2 ) = 15.170139
✓ ◆
(3) 1 1 (3)
:2 = 5 C2 + ⌘, H2 + :1 ⌘ = 22.505208
2 2
✓ ◆
(3) 1 1 (3)
:3 = 5 C2 + ⌘, H2 + :2 ⌘ = 26.172743
2 2
⇣ ⌘
(3) (3)
: 4 = 5 C2 + ⌘, H2 + : 3 ⌘ = 40.842882
1 (3) (3) (3) (3)
H3 = H2 + (:1 + 2 :2 + 2 :3 + : 4 )⌘ = 20.615813
6
H(C3 ) = )(1.5) = 20.835537
Fig. �.��. ⌘ = 0.25
⇢ 6 (3) = H(C3 ) H3 =
(4)
(# = 4) ) : 1 = 5 (C3 , H3 ) = 40.231626
✓ ◆
(4) 1 1 (4)
:2 = 5 C3 + ⌘, H3 + :1 ⌘ = 60.097439
2 2
✓ ◆
(4) 1 1 (4)
: 3 = 5 C3 + ⌘, H3 + :2 ⌘ = 70.030346
2 2
⇣ ⌘
(4) (4)
: 4 = 5 C3 + ⌘, H3 + : 3 ⌘ = 109.761972
1 (4) (4) (4) (4)
H1 = H3 + (:1 + 2 :2 + 2 :3 + : 4 )⌘ = 54.803244
6
H(C4 ) = )(2) = 55.598150
⇢ 6 (4) = H(C4 ) H4 = 0.794906

A partir de las figuras �.�� y �.�� del ejemplo, puede observarse lo


siguiente: Fig. �.��. ⌘ = 0.125
� Resolución numérica de Ecuaciones Diferenciales de Ordinarias �ODEs� de
��
primer orden� Problema de Valor Inicial

�. Se demuestra que en el método de RK IV el error de truncamiento


local, ⇢ ; , y el error de truncamiento global, ⇢ 6 , son de orden $(⌘ 5 )
y $(⌘ 4 ), respectivamente. Con respecto al error global se tiene que,
como ⌘ 1 = 0.5 y ⌘ 2 = 0.25 si, por ejemplo, se calcula el cociente de
los errores globales en C4 = 2 se observa que

⇢ 6 (⌘ = 0.5) 0.794906
= = 10.58
⇢ 6 (⌘ = 0.25) 0.075132

un resultado cercano al valor teórico, 16, lo cual muestra que el


método de RK IV es un método de cuarto orden.
�. Por otro lado, se manifiesta la superioridad de este método frente al
método de Euler (así como Heun y punto medio) dado que emplea
una pendiente ponderada al considerar cuatro pendientes: una en
el punto inicial, dos en el punto medio y otra en el punto final de
cada intervalo [C 8 , C 8+1 ].

A continuación, se muestra el pseudo-código correspondiente al método


de RK IV:

Algoritmo �: Pseudo-código del método de RK IV


input : f, ytrue, a, b, y�, N
� h = (b - a)/N ; /* longitud de paso */
� T = a:h:b ; /* inicializacion de t */
� Y = zeros(N+�,�) ; /* inicializacion de y */
� Y(�) = y�;
� errg = zeros(N+�,�); /* inicializacion del error */
� for 8 = 1 , 2 , . . . , N do
� k� = f(T(i),Y(i));
� tNew� = T(i) + �.�*h;
� yNew� = Y(i) + �.�*h*k�;
�� k� = f(tNew�,yNew�);
�� tNew� = T(i) + h;
�� yNew� = Y(i) + h/�*k�;
�� k� = f(tNew�,yNew�);
�� yNew� = Y(i) + h*k�;
�� k� = f(tNew�,yNew�);
�� Y(i+�) = Y(i) + h/�*(k�+�*k�+�*k�+k�);
�� errg = ytrue(T(i+�)) - Y(i+�);
�� end
output : x, y, ytrue, errg
�� plot(T,Y); /* representacion grafica */
�� hold on;
�� fplot(@(t) ytrue(t),[a b]);

Resumen
Se han presentado varios tipos de métodos numéricos de un sólo
paso que permiten aproximar la solución de un PVI.
Este tipo de métodos funcionan bien cuando se aplican sobre
problemas que (no) varían suavemente:
I El método de Euler (de primer orden) es útil para ilustrar las
características básicas de este tipo de métodos para resolver
PVIs.
� Resolución numérica de Ecuaciones Diferenciales de Ordinarias �ODEs� de
��
primer orden� Problema de Valor Inicial

Sin embargo, no es suficientemente preciso para su uso en la


práctica.
I Los métodos de segundo orden (Heuny punto medio) son
útiles para ilustrar técnicas para una precisión de mayor orden,
sin embargo, también son demasiado imprecisos para su uso
en la práctica.
I El método de Runge-Kutta IV (de cuarto orden) es el método
al que usualmente se recurre para resolver numéricamente
PVIs debido a la precisión de sus aproximaciones.

También podría gustarte