Vous êtes sur la page 1sur 11

MÉTODOS DE RUNGE KUTTA

Métodos Numéricos para Ingeniería


INTRODUCCIÓN El valor del incremento ℎ se llama tamaño de
paso. Procedemos ahora a resolver
Las ecuaciones diferenciales sirven para modelar aproximadamente
problemas de ciencias e ingeniería que requieren
el cambio de una variable respecto a otra. En la �′
=�
(��, �) en [��0 , ���] con �(��0 ) = �
0

mayor parte de ellos hay que resolver un Suponiendo que � (��), �


′(��) e � ′′(��) son continuas
problema de valor inicial, es decir, resolver una y usando el teorema de Taylor para desarrollar
ecuación diferencial que satisface una condición �(��) alrededor de 𝑡 = ��0 , para cada punto 𝑡
inicial dada. existe un punto �
1 entre ��0 y 𝑡 tal que

��

=� , �) , �≤ 𝑡 ≤ �
(� �
′′( �
1 ) ( 𝑡 − ��0

� �(��) = �
(��0 ) + �′ (�� )(𝑡 − �� ) +
0 0
)2
2

(�)=�
0
Al sustituir �′ (𝑡 ) = �(𝑡 , �
(𝑡 )) y ℎ = 𝑡 −𝑡
0 0 0 1 0
De las situaciones de la vida real, las ecuaciones en la ecuación anterior, el resultado es una
diferenciales que modela el problema resultan expresión para el valor �(��1 ):
demasiado complicadas para resolverla con
ℎ2
exactitud, por lo que se recurre a procedimientos �
(��1 ) = �(��0 ) + ℎ�
(��0 , �(��0 )) + �
′′(�
1)
2
para aproximar la solución.
Si el tamaño de paso ℎ es suficiente pequeño,
entonces podemos despreciar el término que
MÉTODO DE EULER contiene ℎ 2 y obtener
Sea [� ,� ] el intervalo en el que queremos hallar
la solución de un problema de valor inicial:

(��1 ) ≈ �1 = �0 + ℎ�(��0 , �
0)
��
=�(��, �) , �≤ 𝑡 ≤ � Que se llama aproximación de Euler.
�𝑡

(�)=�
0
Repitiendo el proceso generamos una sucesión
de puntos que se aproximan a la gráfica de la
Hay que advertir que, de hecho, no vamos a solución �= � (��). El paso general del método de
encontrar una función derivable que sea solución Euler es
del problema de valor inicial; en vez de eso, lo
que se construye es un conjunto finito de puntos ����+1 = ��𝑖 + ℎ, � 𝑖 +1 = � 𝑖 + ℎ�(��𝑖 , �
𝑖 ) para

{(��𝑖 , � 𝑖 = 0, 1, … , �− 1. (1)
𝑖 )} que son aproximaciones de la solución
(o sea, � (��𝑖 ) ≈ �
𝑖 ). ¿Cómo podemos construir un
“conjunto finito de puntos” que “verifiquen
aproximadamente una ecuación diferencial”? En DESCRIPCIÓN GEOMÉTRICA
primer lugar, elegimos las abscisas de los puntos.
Si partimos del punto
� (��0��
,(��
0 ), calculamos el valor de
Por comodidad, dividimos el intervalo [� ,� ] en � la pendiente
horizontalmente una 0, �
0 =distancia 0ℎ),y nos movemos
verticalmente
una distancia ℎ� (𝑡 , �), entonces lo que
subintervalos del mismo tamaño usando la
0 0
partición dada por los siguientes puntos:
Módulo 07 1
hacemos es desplazarnos a lo largo de la recta
��𝑖 = �+ ��ℎ para 𝑖 = 0,1, … , � siendo ℎ = �

tangente a la curva �(��) terminando en el punto


Módulo 07 2
(��1 , �
1 ). Hagamos notar que ¡(��1 , � 1 ) no es un La Figura 2 muestra las gráficas de las cuatro
punto de la curva deseada!, aunque sea la soluciones obtenidas por el método de Euler y la
aproximación que se genera. Ahora debemos gráfica de la solución exacta �(��) = 3�−��/2 − 2 +
para (�
usar �1 , �
1 ), la
como si fuera
� un punto correcto,
calcular pendiente 1 =� (��1 , �
1 ) y usar ��. En la tabla 1 se muestran los valores de las
este valor para obtener el siguiente
cuatro aproximaciones en algunos en algunos
desplazamiento vertical ℎ� (��1 , �
1 ), que nos lleva
nodos. Para el tamaño de paso ℎ = 0.25, los
al punto (��2 , � 2 ), y así sucesivamente. cálculos son

0.0 − 1.0
�1 = 1.0 + 0.25 ( ) = 0.875,
2

0.25 − 0.875
�2 = 0.875 + 0.25 ( ) = 0.796875,
2

etc. La iteración continúa hasta que llegamos al


otro extremo del intervalo
�(3) ≈ �12 = 1.440573
0.275 − 1.440573

+ 0.25 ( )
2
= 1.64252.
Figura 1. Aproximaciones de Euler �
��+1 = �
𝑖 +
ℎ� (𝑡𝑖 , � ) Tabla 1. Comparación de las aproximaciones de Euler
𝑖
obtenidas con tamaños de paso diferentes para �′
=
Ejemplo 1: Vamos a usar el método de Euler (𝑡 − �)/2 en [0,3] con �(0) = 1
para resolver el problema de valor inicial
𝑡𝑖 �
𝑖 �(𝑡𝑖 )
1 1 1 Exacto
ℎ=1 ℎ=2 ℎ=4 ℎ=8
�′ = 𝑡 −𝑦 en [0,3] con �(0) = 1 0 1.0 1.0 1.0 1.09 1.0
2
0.12 0158 0.9432
5 0.8 0.93 39
0.25 75 75 0.8974
Y comparar las soluciones que se obtienen con 0.37 0.75 0.88 91
1 1 1 5 0.7 6719 0.8620
ℎ = 1, , �. 0.6875
2 4 8 0.50 0.5 96875 0.84 87
0.75 0.7656 0.7 6924 0.8364
Solución: 1.00 0.7 25 59766 0.81 02
1.50 5 0.9492 0.7 7429 0.8118
2.00 19 58545 0.78 68
2.50 1.3 1.2119 0.8 6802 0.8195
3.00 75 14 46386 0.79 92
1.5339 1.0 0158 0.9171
36 30827 0.88 00
1.2 2855 1.1036
89227 1.06 38
1.6 8222 1.3595
04252 1.32 14
5176 1.6693
1.63 90
7429

Figura 2. Comparación de las aproximaciones de Euler obtenidas con tamaños de paso diferentes para �′
=
Módulo 07 3
(𝑡 − �
)/2 en [0,3] con la condición �
(0) = 1.

El método de Euler es una versión de una clase


más amplia de procedimientos denominada

Módulo 07 4
métodos de Runge-Kutta. Ahora veremos el
desarrollo formal de esas técnicas.

ALGORITMO E IMPLEMENTACIÓN NUMÉRICA

Algoritmo para el método de Euler

Paso 1: Ingrese a, b , h y y1
Paso 2: Calculo de n
�− �
�=

Figura 3: Grafica de la solución del ejemplo 2

Paso 3: Discretización del dominio


��𝑖 = �+ (𝑖 − 1) ∗ ℎ, para 𝑖 = 1: �+ 1 MÉTODOS DE RUNGE KUTTA
�𝑖 = � (��𝑖 ) , para 𝑖 = 1: �+ 1
Los métodos de Runge-Kutta (RK) tienen muchas
Paso 4: Calculo de la solución aproximada variantes, pero todas tienen la forma
generalizada de la ecuación
���+1 = � 𝑖 + ��1 ∗ ℎ, para 𝑖 = 1: �
��1 = � (��𝑖 , �
𝑖) �
𝑖 +1 = �
𝑖 + ��(��𝑖 , �
𝑖 , ℎ )ℎ

Paso 5: Imprimir la solución aproximada � donde ��(��𝑖 , �


𝑖 , ℎ) se conoce como función
incremento, la cual puede interpretarse como
una pendiente representativa en el intervalo. La
Ejemplo 2: Con el método de Euler determine la
solución aproximada de la EDO: � ′ = 𝑡 2 − �. función incremento se escribe en la forma
Desde t=0 hasta t=5, con tamaño de paso h=0.5. general como
La condición inicial es y=1 en t=0.
𝜙=�
1 ��1 + �
2 ��2 + ⋯ + �
����
Implementación en Octave para el ejemplo 2
donde las �son constantes y las 𝑘 son

��1 = �(��𝑖 , �
𝑖)

��2 = �
(��𝑖 + �
1 ℎ, �
𝑖 +�
11 ��1 ℎ)

��3 = �(��𝑖 + �
2 ℎ, �
𝑖 +�
21 ��1 ℎ + �
22 𝑘2 ℎ)

���= �(��𝑖 + �
�−1 ℎ, �
𝑖+�
� −1,1 ��1 ℎ + � � −1,2 ��2 ℎ
+⋯+� �−1,�−1 ��� −1 ℎ)

donde las �y las �son constantes.

Es posible tener varios tipos de métodos de


Runge-Kutta (RK) empleando diferentes números
de términos en la función incremento
especificada por �. Observe que el método de RK
de primer orden con �= 1 es, de hecho, el
método de Euler.

Módulo 07 5
MÉTODOS DE RUNGE-KUTTA DE SEGUNDO ��2 = �
(��𝑖 + ℎ, �
𝑖 + ��1 ℎ)
ORDEN
Observe que ��1 es la pendiente al inicio del
intervalo y que ��2 es la pendiente al final del
La versión de segundo orden es intervalo.


𝑖 +1 = �
𝑖 + (�
1 ��1 + �
2 ��2 )ℎ (3) Método del punto medio (���= �)

donde: �
𝑖 +1 = �
𝑖 + ��2 ℎ (5)

��1 = �(��𝑖 , �
𝑖) donde:

𝑘2 = �
(��𝑖 + �
1 ℎ, �
𝑖 +�
11 ��1 ℎ) ��1 = �(��𝑖 , �
𝑖)

Los valores de � 1, �
2, �1 y � 11 se evalúan al 1 1
��2 = �
(��𝑖 + ℎ, �
𝑖 + ��1 ℎ)
igualar la ecuación (3) con la expansión de la serie 2 2
de Taylor hasta el término de segundo orden. Al
hacerlo, desarrollamos tres ecuaciones para
evaluar las cuatro constantes desconocidas Método de Ralston (���= �/�)

�1 + �2 = 1 1 2

𝑖 +1 = �
𝑖 +( ��1 + ��2 ) ℎ (6)
3 3
1

2�1=
2 donde:

1 ��1 = �(��𝑖 , �

2�11 = 𝑖)
2
3 3

Suponga que le damos un valor a �


2 , así tenemos presentamos tres de las versiones
más comúnmente usadas y preferidas:
�1 = 1 − �
2

1
�1 =
2� 2 Método de Heun (���= �/�)
1

11 =
2� 2

Debido a que podemos elegir un número infinito


de valores para �
2 , hay un número infinito de
métodos de RK de segundo orden. A continuación

Módulo 07 4
��2 = �
(��𝑖 + ℎ, � �(0) = 1
𝑖 + ��1 ℎ)
4 4
Usando un tamaño de paso de 0.5, luego
compare los resultados.
Ejemplo 3: Utilice los métodos de Heun, Punto
Solución:
medio y de Ralston para resolver el problema de
valor inicial • Para el método de Heun calculamos

�′ = −2𝑡 3 + 12𝑡 2 − 20𝑡 + 8.5 con 𝑡 ∈ [0,4]

1 1 ��1 = �
(0,1) = −2(0)3 + 12(0)2 − 20(0) + 8.5

𝑖 +1 = �
𝑖 +( ��1 + ��2 ) ℎ (4)
2 2 = 8.5
donde: Luego

��1 = �(��𝑖 , �
𝑖)

Módulo 07 5
𝑘2 = �
(0.5; 5.25) Tabla 2. Comparación de los valores verdadero y
= −2(0.5)3 + 12(0.5)2 aproximado de la solución del problema de valor inicial
− 20(0.5) + 8.5 = 1.25 �′
= −2𝑡 3 + 12𝑡 2 − 20𝑡 + 8.5 con 𝑡 ∈ [0,4] y
�(0) = 1. Los valores aproximados se calculan por
La pendiente promedio se calcula mediante medio de tres versiones de los métodos de RK se
segundo orden, con un tamaño de paso 0.5
1 1
𝜙 = 2 (8.5) + 2 (1.25) = 4.875

𝑡 �
���
𝑟����
��� �- Heun �- Punto �-
Y se utiliza para predecir medio Ralston
0.0 1.00000 1.00000 1.00000 1.00000
�(0.5) = 1 + 4.875(0.5) = 3.4375 0.5 3.21875 3.43750 3.109375 3.277344
1.0 3.00000 3.37500 2.81250 3.101563
El cálculo se repite; los resultados se resumen en 1.5 2.21875 2.68750 1.984375 2.347656
la tabla 2. 2.0 2.00000 2.50000 1.75 2.140625
2.5 2.71875 3.18750 2.484375 2.855469
• El primer paso en el método de punto 3.0 4.00000 4.37500 3.81250 4.117188
3.5 4.71875 4.93750 4.609375 4.800781
medio es calcular
4.0 3.00000 3.00000 3 3.031250
��1 = 8.5

��2 = �(0.25; 2.125)


= −2(0.25)3 + 12(0.25)2
− 20(0.25) + 8.5 = 4.21875

La pendiente en el punto medio se sustituye en la


ecuación (5) para predecir:

�(0.5) = 1 + 4.21875(0.5) = 3.109375

El cálculo se repite; los resultados se resumen en


la tabla 2.
• En el método de Ralston, ��1 en el primer
intervalo también es igual a 8.5 y

��2 = −2(0.375)3 + 12(0.375)2 − 20(0.375)


+ 8.5 = 2.58203125
Figura 3: Comparación de la solución verdadera con
soluciones numéricas usando tres métodos RK de
La pendiente promedio se calcula mediante
segundo orden y el método de Euler.
1 2
𝜙 = 3 (8.5) + 3 (2.58203125) = 4.5546875

MÉTODO DE RUNGE-KUTTA DE TERCER ORDEN


que se utiliza para predecir:

�(0.5) = 1 + 4.5546875(0.5) = 3.27734375 Para �= 3, es posible efectuar un desarrollo


similar al del método de segundo orden. El
resultado de tal desarrollo genera seis ecuaciones
Los cálculos se repiten; los resultados se
con ocho incógnitas. Por lo tanto, se deben dar a
muestran en la tabla 2.
priori los valores de dos de las incógnitas con la

Módulo 07 6
finalidad de establecer los parámetros restantes. Solución:
Una versión común que se obtiene es
En este caso, la pendiente al inicio del intervalo
1 se calcula como sigue:

𝑖 +1 = �
𝑖 + (��1 + 4��2 + 𝑘3 )ℎ
6
��1 = �
(0,2) = 4�0.8(0) − 0.5(2) = 3

donde Este valor se utiliza para calcular un valor de �y


una pendiente en el punto medio,
��1 = �(��𝑖 , �
𝑖)

1 1
��2 = �(��𝑖 + ℎ, �
𝑖 + ��1 ℎ)
�(0.25) = 2 + 3(0.25) = 2.75
2 2

(0.25,2.75) = 4�0.8(0.25) − 0.5(2.75)


= 3.510611

𝑘3 = �
(��𝑖 + ℎ, �
𝑖 − ��1 ℎ + 2��2 ℎ) ��2 = �

Observe que si la EDO está en función sólo de ��,


Está pendiente, a su vez, se utiliza para calcular
este método de tercer orden se reduce a la regla
otro valor de �y otra pendiente en el punto
de Simpson 1/3.
medio,
MÉTODO DE RUNGE-KUTTA DE CUARTO ORDEN
�(0.25) = 2 + 3.510611(0.25) = 2.877653
El más popular de los métodos RK es el de cuarto
orden. Como en el caso de los procedimientos de ��3 = �(0.25, 2.877653)
segundo orden, hay un número infinito de = 4�0.8(0.5) − 0.5(2.877653)
versiones. La siguiente, es la forma comúnmente = 3.446785
usada y, por lo tanto, le llamamos método clásico
Después, se usará está pendiente para calcular un
RK de cuarto orden:
valor de �y una pendiente al final del intervalo,
1

𝑖 +1 = �
𝑖 + (��1 + 2𝑘2 + 2��3 + ��4 )ℎ �(0.5) = 2 + 3.446785(0.5) = 3.723392
6
donde ��4 = �(0.5,3.723392)
= 4�0.8(0.5) − 0.5(3.723392)
��1 = �(��𝑖 , �
𝑖) = 4.105603

1 1 Por último, las cuatro estimaciones de la


��2 = �(��𝑖 + ℎ, �
𝑖 + ��1 ℎ)
2 2 pendiente se combinan para obtener una

1 1 pendiente promedio, la cual se utiliza después


��3 = �(��𝑖 + ℎ, �
𝑖 + ��2 ℎ)
2 2 para realizar la última predicción al final del
intervalo.
��4 = �(��𝑖 + ℎ, �
𝑖 + ��3 ℎ)
1
𝜙= [3 + 2(3.510611) + 2(3.446785)
6
+ 4.105603] = 3.503399
Ejemplo 4: Utilice el método clásico RK de cuarto

Módulo 07 7
orden para resolver el problema de valor inicial �(0.5) = 2 + 3.503399(0.5) = 3.751669

�′ = 4�0.8𝑡 − 0.5�con 𝑡 ∈ [0; 0.5]


Que es muy aproximada a la solución verdadera
de 3.751521.
�(0) = 2

Usando un tamaño de paso de 0.5.

Módulo 07 8
RECOMENDACIÓN o RESUMEN FUENTES BIBLIOGRÁFICAS
- Chapra, S., & R, C. (2007). Métodos
Se recomiendo ver este video para comprender Numéricos para Ingenieros. La Ciudad de
mejor los métodos de Runge Kutta.
México, México: McGranw-Hill.
https://www.youtube.com/watch?v=pOTwV3kCx - Guillem, N., & Galván, R. (2008). Cálculo
dw
numérico con Octave. Fundación de Software
https://www.youtube.com/watch?v=H0ArPd5NE
2Q Libre.

Módulo 07 9

Vous aimerez peut-être aussi