Documente Academic
Documente Profesional
Documente Cultură
El método Runge-Kutta de orden 4 es la forma de los métodos de Runge-Kutta de uso más común y así mismo más
exactos para obtener soluciones aproximadas de ecuaciones diferenciales. La solución que ofrece este método, es una
tabla de la función solución, con valores de “y” correspondientes a valores específicos de “x”.
Es por esto que uno de los requisitos para este método es especificar el intervalo de x.
y’= f(x,y)
y(x0) = y0
El método de Runge-Kutta de 4º orden consiste en determinar constantes apropiadas de modo que una fórmula como:
coincida con un desarrollo de Taylor hasta el término h4, es decir, hasta el quinto término.
Donde:
http://test.cua.uam.mx/MN/Methods/EcDiferenciales/Runge-Kutta/RungeKutta.php
Métodos Numéricos para Ingenieros 5ta edición -Steven C. Chapra Raymond P. Canale
https://es.wikipedia.org/wiki/M%C3%A9todo_de_Runge-Kutta
𝑦 ′ = 𝑓(𝑥, 𝑦) 𝑦(𝑥0 ) = 𝑦0
Entonces el método RK4 para este problema está dado por la siguiente ecuación
1
𝑦𝑛+1 = 𝑦𝑛 + ℎ(𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4 )
6
𝑘1 = 𝑓(𝑥𝑛 , 𝑦𝑛)
1 1
𝑘2 = 𝑓(𝑥𝑛 + ℎ, 𝑦𝑛 + 𝑘1 ℎ)
2 2
1 1
𝑘3 = 𝑓(𝑥𝑛 + ℎ, 𝑦𝑛 + 𝑘2 ℎ)
2 2
𝑘4 = 𝑓(𝑥𝑛 + ℎ, 𝑦𝑛 + 𝑘3 ℎ)
Ejemplo 1:
Usando el método de RK4 clásico, con ℎ = 1, estimar 𝑦(2) en 𝑦’ = 2 𝑥𝑦 + 𝑥, con 𝑦(0) = 0.5,
en el intervalo [0,2] .
Solución: Identificando:
𝑓(𝑥, 𝑦) = 2 𝑦 + 𝑥
𝑥0 = 0; 𝑦0 = 0.5; ℎ = 1
𝑘4 = 𝑓(𝑡0 + ℎ, 𝑦0 + ℎ 𝑘3 ) = 𝑓(1; 2) = 2 1 2 + 1 = 5
𝑦1 = 𝑦0 + ℎ (𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4 )/6 = 0.5 + 1(0 + 21 + 2 1.5 + 5)/6 = 2 .16667
𝑥1 = 𝑥0 + ℎ = 0 + 1 = 1
𝑥2 = 𝑥1 + ℎ = 1 + 1 = 2
k1= 0
k2= 1
k3=1.5
k4=5
x1=x0+h=0+1=1
k1= 5.33
k2= 16
k3=32
k4=138.667
x1=x0+h=1+1=1
Con código:
>> metododerungkutta4
warning: function name 'f' does not agree with function filename
'C:/Users/HP/Documents/metodos numericos\metod
oderungkutta4.m'
0 0.000000 2.166667
1 1.000000 42.166667
Ejemplo 2:
Dada la ecuación diferencial y’= -2X3 +12X2 – 20X + 8.5 , usando el método de Runge Kutta de
orde cuatro. Hallar la aproximación de y(0.5) tomando como numero de paso n = 5, si la condición
inicial es y(0) = 1.
Solución:
Identificando
X0 = 0
y0 = 1
n=5
>> runge_kutta
Ingrese el x inicial: 0
Ingrese la y inicial: 1
0 0.000000 1.753950
1 0.100000 2.331200
3 0.300000 3.043200
4 0.400000 3.218750