Está en la página 1de 5

SOLUCIÓN DE UNA ECUACIÓN DIFERENCIAL

POR EL MÉTODO DE RUNGE-KUTTA


1st NICOLÁS RUSSI BOTERO 3rd BRAYAN CAMILO DUARTE
INGENIERÍA DE SONIDO INGENIERÍA DE SONIDO
FACULTAD DE INGENIERÍAS FACULTAD DE INGENIERÍAS
Medellı́n, Colombia Medellı́n, Colombia
nicolas.russi@tau.usbmed.edu.co bryan.duarte201@tau.usbmed.edu.co
2nd JUAN ESTEBAN GARCIA 4th DAVID ZULUAGA
INGENIERÍA DE SONIDO INGENIERÍA DE SONIDO
FACULTAD DE INGENIERÍAS FACULTAD DE INGENIERÍAS
Medellı́n, Colombia Medellı́n, Colombia
juan.garcias201@tau.usbmed.edu.co david.zuluaga192@tau.usbmed.edu.co

I. RESUMEN prácticos muy limitados teniendo en cuenta que los problemas


En el siguiente proyecto se desea mostrar los pasos a seguir matemáticos reales implican sistemas y condiciones compues-
para la solución de una ecuación diferencial a partir del uso del tas. [2] Los métodos numéricos, pueden ser por excelencia, la
método de Runge-Kutta de cuarto orden (el cual es un conjunto herramienta indicada para dar solución a aquellos casos que
de métodos iterativos, explı́citos e implı́citos, usados para la las matemáticas analı́ticas no. Los métodos numéricos tienen
solución numérica de ecuaciones diferenciales), haciendo uso como propósito principal reducir las matemáticas superiores a
del lenguaje de programación Python. operaciones aritméticas básicas mediante diversas colecciones
Esto con el fin de dar un primer avistamiento a cómo es de técnicas algebraicas. Poseen la facultad de manejar sistemas
la solución de ecuaciones ordinarias por medio del análisis de ecuaciones considerables que son frecuentes en la práctica
numérico, haciendo uso de métodos numéricos. Además de de la ingenierı́a; Ası́, se convierten en un medio para fortalecer
emplear herramientas digitales que permiten realizar solu- la comprensión de las matemáticas. [3]
ciones para el análisis numérico de ecuaciones diferenciales. Uno de los grandes avances de la humanidad inicio con
la llegada de la computación en la segunda mitad del siglo
II. OBJETIVOS XX, permitiendo que los problemas abordados desde la in-
A. General genierı́a se resolvieran de forma más rápida y efectiva. Ası́
pues, los métodos numéricos se componen de dos elementos
Solucionar por medio del uso del método de Runge-Kutta importantes, matemáticas y computadores. Las buenas técnicas
de cuarto orden, el método de Euler y el método de Heun, una de programación incrementan la destreza para adaptar los
ecuación diferencial propuesta, haciendo uso de del lenguaje conocimientos de los métodos numéricos. En resumen, las
de programación Python y el software de programación Spy- potencialidades y limitaciones de los cálculos numéricos de
der. forma analı́tica se aprecian mejor cuando se utilizan estos
B. Especı́ficos métodos para resolver los problemas de ingenierı́a, usando
como herramienta un dispositivo electrónico. [2]
• Mostrar que pasos se deben seguir para la solución de Uno de los elementos a tener en cuenta en el momento de
ecuaciones diferenciales, según el método Runge-Kutta realizar tareas en el mundo fı́sico es el error en su solución.
de cuarto orden, el método de Euler y el método de Heun. Dentro de los métodos numéricos existen diferentes tipos
• Definir que es una ecuación diferencial y sus clasifica- de errores dónde su análisis es importante para alcanzar
ciones; además, de describir que es un método numérico. satisfacer las necesidades de las situaciones a resolver. Los
• Dar a conocer el procedimiento seguido para la real- errores pueden aparecer en diversas situaciones, mayormente
ización del código de programación. cuando nos inclinamos a la recolección de datos y medida
III. M ARCO TE ÓRICO (comparar algún objeto fı́sico con otro de la misma naturaleza
que se toma como patrón [3]) de los mismos. Las medidas
A. Métodos Numéricos nunca serán exactas puesto que de manera directa o indirecta
Encontrar una solución analı́tica a problemas matemáticos dichas mediciones están sujetas a incertidumbres que pueden
puede ser, en muchas ocasiones una tarea compleja o de ser ocasionadas por diversos aspectos, pues nunca se
lleno, imposible. Además, estas técnicas tienen alcances logrará obtener el valor exacto de una magnitud, sino una
aproximación de esta; Las aproximaciones pueden significar • Una ecuación que involucra derivadas parciales de una o
una buena solución para muchas situaciones, pero existen más variables dependientes de dos o más variables inde-
casos aislados dónde no es suficiente aproximarse a una pendientes se llama ecuación diferencial parcial (EDP).
magnitud, se requiere una precisión mayor para que los datos [1]Por ejemplo:
de solución sean fiables. [6] ∂2u ∂2u ∂u
∂x2 = ∂t2 − 2 ∂t
2) Clasificación según su Orden: El orden de una ecuación
Tipos de errores más estudiados
diferencial (ya sea EDO o EDP) es el orden de la mayor
• Experimentales derivada en la ecuación. [1] Por ejemplo:
• De redondeo
• Truncamiento  3
d2 y dy
• Error absoluto dx2 +5 dx − 4y = ex
• Error relativo
Es una ecuación diferencial de segundo orden.
• Error normalizado puntual

Por lo anterior, los métodos numéricos son herramientas 3) Clasificación según su Linealidad: Una ecuación
fundamentales para obtener resultados de forma rápida y con diferencial de n-ésimo orden se dice que es lineal si F es
un margen de error pequeño, algunos de ellos son: lineal en y, y ′ , . . . , y (n) [1]. Esto significa que una EDO de
• Cálculo de raı́ces de ecuaciones n-ésimo orden es lineal cuando la ecuación es:
Método de la bisección
Método de las aproximaciones sucesivas
Método de Newton • an (x)y (in) + an−1 (x)y (n−1) + · · · + a1 (x)y ′ + a0 (x)y −
Método de la secante g(x) = 0
dn y dn−1 y dy
Método de Steffensen • an (x) dx n + an−1 (x) dxn−1 + · · · + a1 (x) dx + a0 (x)y =

Método de la falsa posición g(x)


• Métodos de resolución exacta
Dos casos especiales importantes de la ecuación son las ED
Sistemas fáciles de resolver
lineales de primer orden (n = 1) y de segundo orden (n = 2)
La factorización LU
son [1]:
Eliminación gaussiana básica
dy
Método de Gauss-Jordan • a1 (x) dx + a0 (x)y = g(x)
Pivoteo d2 y dy
• a2 (x) dx2 + a1 (x) dx + a0 (x)y = g(x).
• Métodos iterativos
Método de Richardson C. Métodos de Runge Kutta
Método de Jacobi Los métodos de Runge Kutta parten de la fórmula general
Método de Gauss-Seidel del método que es:
• Interpolación
Polinomios de interpolación de Lagrange Yi+1 = Yi + ∅(Xi , Yi , h) · h (1)
Interpolación de splines
Splines cúbicos
• Integración numérica
Donde ∅(Xi , Yi , h) se define como la función de incremento
Integración vı́a interpolación polinomial de la variable dependiente, esta se puede representar como
Regla del trapecio la recta tangente a la curva de la función f (X, Y ) en cada
Regla de Simpson intervalo. [1]
De la forma como se defina esa función de incremento de
[7]
Y, se originan todas las fórmulas de Runge Kutta de varios
B. Ecuación Diferencial órdenes.
La cantidad de términos dependerá del orden de la ecuación
Una ecuación que contiene derivadas de una o más
diferencial, ası́ para las ecuaciones de segundo orden habrán
variables respecto a una o más variables independientes, se
2 términos para hallar la función ∅(Xi , Yi , h) [9]
dice que es una ecuación diferencial (ED). [1]
D. Método de Euler
1) Clasificación según su Tipo:
La primera derivada ofrece una estimación directa de la
• Si una ecuación contiene sólo derivadas de una o más
pendiente en xi Se predice un nuevo valor de y usando la
variables dependientes respecto a una sola variable
pendiente (igual a la primera derivada en el valor original de
independiente se dice que es una ecuación diferencial
x) para extrapolar linealmente sobre el tamaño de paso h
ordinaria (EDO). [1] Por ejemplo:
en este método la solución esta dada por:
d2 y dy
dx2 − dx + 6y = 0 yi+1 = yi + f (xi , yi )h (2)
donde:
k1 = f (xi , yi ) (5)
1 1
k2 = f (xi + h, yi + k1 h) (6)
2 2
1 1
k3 = f (xi + h, yi + k2 h) (7)
2 2
k4 = f (xi + h, yi + k3 h) (8)

Fig. 1. Representación gráfica del método de Euler

E. Método de Heun
Es un método empleando la determinación de dos derivadas
en el intervalo (una en el punto inicial y otra en el final) [8].
Da una estimación de yi+1 que permite el cálculo de una
estimación de la pendiente al final del intervalo:
′ 0

yi+1 = f xi+1 , yi+1
La combinación de las dos pendientes, dan como resultado
una pendiente promedio [8], dada por la siguiente ecuación: Fig. 3. Representación gráfica de las pendientes estimadas empleadas en el
método RK de cuarto orden.
yi′ + yi+1
′ 0

′ f (xi , yi ) + f xi+1 , yi+1
ȳ = = (3) El método RK de cuarto orden usa múltiples estimaciones de
2 2
la pendiente para obtener una mejor pendiente promedio en
el intervalo [9]. Como se muestra en la figura 1, cada una
de las k representa una pendiente. La ecuación (2) entonces
representa un promedio ponderado de estas para establecer la
mejor pendiente.
IV. PROCEDIMIENTO
La ecuación diferencial desarrollada ha sido la siguiente:
dy
= te3t − 2y (9)
dt
A. CÓDIGO
Cómo primer paso se importa la librerı́a math para
reconocer simbolos matematicos como por ejemeplo un
exponencial.

from math import

Ahora se define la función en la que aplicaremos los


métodos numéricos
def f(t,y):

Fig. 2. Representación gráfica de las pendientes estimadas empleadas en el La ED obtiene al escribirla en la forma de y’ = f(t,y)
método de Heun.
func=t*exp(3*t)-2*y
return func
F. Método clásico de Runge Kutta de cuarto orden Primero se implementará el método de euler. Cada
método tendrá como parámetros a t,y,h,n. Dónde t y y
Este método parte de la Ecuación: serán los valores iniciales que adoptará la función, h será
1 el paso y n será el número de iteraciones
Yi+1 = yi + (k1 + 2k2 + 2k3 + k4 )h (4) def metodo euler(t,y,h,n):
6
print(’y(’,t,’)=’,y) print(’RESULTADO ANÁLITICO’, val)
A continuación se realizará un ciclo que tendrá como
rango el número de iteraciones asignado en n, por cada print(’RUNGE KUTTA 4 ’)
iteración se evaluará la función en el método de euler, metodo RK4(0,2,0.1,10)
teniendo cómo objetivo mostrar el valor de y. print(’RESULTADO ANÁLITICO’, val)
for k in range(n):
y=y+h*f(t,y)
t=t+h
print(’y(’,t,’)=’,y) V. RESULTADOS
A continuación se muestran Valor obtenido a partir de la
Ahora se implementará en método de euler compuesto, solución analı́tica: 3.489769
método de heun o rungekutta de orden 2
def metodo eulermod(t,y,h,n): Por el método de Euler, se muestran en la siguiente
print(’y(’,t,’)=’,y) tabla:
En esta ocasión para cada iteración se evaluará en la
t y
formula de euler compuesto, teniendo como objetivo 0 2
hallar el valor de y. 0.1 1.6
for k in range(n): 0.2 1.29349
y0 será la parte predictora del método, esto mejorará la 0.3 1.07124
0.4 0.93078
precisión que no tiene el método de euler simple. 0.5 0.87742
y0=y+h*f(t,y) 0.6 0.92602
y=y+(h/2)*(f(t,y)+f(t+h,y0)) 0.7 1.10380
0.8 1.45467
t=t+h 0.9 2.04559
print(’y(’, t, ’)=’, y) 1 2.97564
TABLE I
M ÉTODO DE E ULER
Finalmente se define el método de rungekutta 4,
que es muy diferente a los 2 anteriores.
def metodo RK4(t, y, h, n):
print(’y(’, t, ’)=’, y) Por el método de Heun, se muestran en la siguiente tabla:
En esta ocasión el método depende de k1, k2, k3 y
t y
k4. estas variables son funciones independientes que se 0 2
calcularán en cada iteración del ciclo. 0.1 1.64674
for k in range(n): 0.2 1.37395
k1=f(t,y) 0.3 1.17811
0.4 1.06197
k2=f(t+h/2,y+(h/2)*k1) 0.5 1.03598
k3=f(t+h/2,y+(h/2)*k2) 0.6 1.12062
k4=f(t+h,y+h*k3) 0.7 1.34992
0.8 1.77651
Ahora se calcula el valor de y mediante un promedio que
0.9 2.47907
depende de k1, k2, k3 y k4. 1 3.57278
y = y + (h / 6)*(k1+2*k2+2*k3+k4) TABLE II
M ÉTODO DE H EUN
t=t+h
print(’y(’, round(t,3), ’)=’, y)

Valor obtenido de la solución analitica cuando t = Por el método de Runge-Kutta de cuarto orden, se muestran
1 en la siguiente tabla:
val=exp(3)/5-exp(3)/25+51*exp(-2)/25
VI. AN ÁLISIS DE RESULTADOS
Para terminar se muestra resultado con la solución Porcentaje de error de cada uno de los métodos en y(t = 1)
dada por cada método numérico versus la solución con respecto al valor obtenido analı́ticamente:
analı́tica
print(’EULER’)
metodo euler(0,2,0.1,10) A. Método de Euler
print(’RESULTADO ANÁLITICO’, val)
Vexp − Vt 2.97564 − 3.48976
print(’EULER COMPUESTO’) %error = · 100 = 14.732%
Vt 3.48976
metodo eulermod(0,2,0.1,10) (10)
t y
0 2
R EFERENCES
0.1 1.64322 [1] Zill, D, Ecuaciones Diferenciales con problemas con valores en la
0.2 1.36746 frontera. 7a ed, México, Cengage Learning Editores, 2009
0.3 1.16878 [2] O. Torres y A. Jesús, Introducción a los métodos numéricos, U. d. l.
0.4 1.04946 Salle, Ed., Bogotá: Unisalle, 2013, pp. 9-10.
0.5 1.0194 [3] W. A. Jiménez Gómez, T. J. Plazas Merchán, F. S. Jaimes Gómez y
0.6 1.09845 S. Y. Quiroga Campos, MeNuméricos: Una introducción a los métodos
0.7 1.31974 numéricos, U. P. Nacional, Ed., Bogotá: Universidad Pedagógica Na-
0.8 1.73474 cional, 2020, pp. 11-12.
0.9 2.42050 [4] Izar , J, Métodos numéricos. México: Alfaomega, 2018.
1 3.48996 [5] Correa Zabala, F, Métodos Numéricos.Colombia, EAFIT, 2010.
TABLE III [6] H. Losada y E. Solón, Métodos numéricos, E. Ediciones, Ed., Bogotá:
M ÉTODO DE RUNGE -K UTTA DE CUARTO ORDEN ECOE Ediciones, 2017.
[7] F. Correa Zabala, Métodos Numéricos, U. EAFIT, Ed., Medellı́n: EAFIT,
2010.
[8] Tostado-Véliz, M. Kamel, S. Jurado, F, An efficient power-flow approach
based on Heun and King-Werner’s methods for solving both well and
ill-conditioned cases, International Journal of Electrical Power Energy
B. Método de Heun Systems. Vol 119,2020.
[9] Hussain, K. Ismail, F. Senu, N, Solving directly special fourth-order
ordinary differential equations using Runge–Kutta type method, Journal
of Computational and Applied Mathematics, Vol306, 2016.
Vexp − Vt 3.57278 − 3.48976
%error = · 100 = 2.378%
Vt 3.48976
(11)

C. Método de Runge-Kutta de cuarto orden

Vexp − Vt 3.48996 − 3.48976


%error = · 100 = 0.573%
Vt 3.48976
(12)

VII. CONCLUSIONES
• Realizando un análisis del trabajo desarrollado se puede
evidenciar un comportamiento de los métodos de Euler,
Heun y Runge-kutta de cuarto orden, en que se concluye
que el método que presenta un menor margen de error es
el de Runge-Kutta de cuarto orden.
• Según lo descrito en el marco teórico, a partir de las
figuras 1, 2 y 3, se ha podido concluir que a partir de
las pendientes descritas por cada método, las tres para
valores muy pequeños describen un margen de error bajo,
pero a medida que el valor de t varı́a, la pendiente de
la figura uno, representa un margen de error alto, en la
figura 2 se puede apreciar como la pendiente varı́a pero
no demasiado y en la figura tres, la pendiente no varı́a
notoriamente con respecto al valor analı́tico. Los valores
obtenidos por el software, reflejan lo anteriormente dicho,
en donde para valores pequeños de t, su obtienen valores
en y muy similares, pero a medida que t crece, el valor
de y para cada método varı́a drásticamente.
• Al poner a prueba los conceptos indagados en el trabajo
se puede concluir que el uso de herramientas de soft-
ware para la resolución o implementación de métodos
numéricos es altamente efectivo por su precisión y rapi-
dez.
• Teniendo en cuenta que el método de Runge-Kutta
de cuarto orden es una construcción de los otros dos
métodos, es posible entender por qué este el método que
tiene un margen de error más bajo.

También podría gustarte