R-K es un método de solución para ecuaciones diferenciales ordinarias. Es un procedimiento iterativo para calcular la solución de la ecuación diferencial paso a paso a partir de una condición inicial. El más común es el de 4to orden.
Método de Runge – Kutta 4to. orden
K1 = h f(xi,yi) K2 = h f[xi + ½ h, yi + ½ K1] K3 = h f[xi + ½ h, yi + ½ K2] K4 = h f[xi + h, yi + K3] K = 1/6 [K1 + 2K2 + 2K3 + K4] yi+1 = yi + K xn+1 = xn + h
Ejemplo. Resolver la ecuación diferencial y’ = 2xy condición inicial y(1) = 1
n = 0 x = 1.0 y = 1.0 h = 0.1
K1 = (h)(2x0y0) = (0.1)(2)(1)(1) = 0.2 K2 = (0.1) f[x0 + ½ (0.1), y0 + ½ (0.2)] = 0.1 [2(1+0.05)(1+0.1)] = 0.231 K3 = (0.1) f[x0 + ½ (0.1), y0 + ½ (0.231)] = 0.1 [2(1.05)(1.1155)] = 0.234255 K4 = (0.1) f[x0 + 0.1, y0 + 0.234255] = 0.1 [2(1.1)(1.234255)] = 0.2715361 K = [K1 + 2K2 + 2K3 + K4] = [0.2 + 2(0.231) +2(0.234255) + 0.2715361)] K = 0.23367435
y1 = y0 + K = 1 + 0.23367435 = 1.23367435
n = 1 x1 = 1.1 y1 = 1.23367435
K1 = (h)(2x1y1) = (0.1)(2)(1.1)(1.23367435) = 0.27140836 K2 = 0.1[2(1.15)(1.36937853)] = 0.314957061555 K3 = 0.1[2(1.15)(1.391152880778)] = 0.3199651625788 K4 = (0.1)[2(1.2)(1.553639512578)] = 0.3728734830187 K = [0.27141 + 2(0.31496) +2(0.31997) + 0.37287)] = 0.31902 y2 = y1 + K = 1.23367435 + 0.31902 = 1.55269
n = 2 x2 = 1.2 y2 = 1.55269
K1 = (h)(2x2y2) = (0.1)(2)(1.2)(1.55269) = 0.3726469 K2 = 0.1[2(1.25)(1.73901345)] = 0.43475471 K3 = 0.1[2(1.25)(1.77006668125)] = 0.44251819 K4 = (0.1)[2(1.3)(1.99520819)] = 0.51875553 y2 = y1 + K = 1.55269 + 0.44099 = 1.99369
Resolviendo con hoja de cálculo
x | y | K1 | K2 | K3 | K4 | K |
1.0 | 1 | 0.2 | 0.231 | 0.2342 | 0.271 | 0.233 |
1.1 | 1.233 | 0.271 | 0.314 | 0.3199 | 0.372 | 0.319 |
1.2 | 1.552 | 0.372 | 0.434 | 0.4425 | 0.518 | 0.440 |
1.3 | 1.993 | 0.518 | 0.608 | 0.6204 | 0.731 | 0.617 |
1.4 | 2.611 | 0.731 | 0.863 | 0.8825 | 1.048 | 0.878 |
1.5 | 3.490 | 1.047 | 1.244 | 1.2748 | 1.524 | 1.268 |
1.6 | 4.758 | 1.522 | 1.821 | 1.8708 | 2.254 | 1.860 |
1.7 | 6.618 | 2.250 | 2.710 | 2.7909 | 3.387 | 2.773 |
1.8 | 9.392 | 3.381 | 4.100 | 4.2337 | 5.177 | 4.204 |
1.9 | 13.596 | 5.166 | 6.310 | 6.5333 | 8.0520 | 6.484 |
2.0 | 20.081 | 8.032 | 9.879 | 10.258 | 12.742 | 10.175 |
2.1 | 30.256 | 12.707 | 15.742 | 16.395 | 20.526 | 16.251 |
2.2 | 46.508 | 20.463 | 25.533 | 26.673 | 33.663 | 26.423 |
2.3 | 72.931 | 33.548 | 42.161 | 44.186 | 56.216 | 43.743 |
2.4 | 116.675 | 56.004 | 70.891 | 74.532 | 95.607 | 73.745 |
2.5 | 190.421 | 95.210 | 121.393 | 128.070 | 165.615 | 126.62 |
El error es mínimo, por lo tanto, el método de Runge-Kutta es adecuado para resolver la ecuación diferencial.
X | Y | real | % error |
1.0 | 1 | 1 | 0 |
1.1 | 1.23367435 | 1.23367806 | 0.00030072 |
1.2 | 1.5526954 | 1.55270722 | 0.00076128 |
1.3 | 1.99368677 | 1.99371553 | 0.00144273 |
1.4 | 2.61163323 | 2.61169647 | 0.00242142 |
1.5 | 3.49021064 | 3.49034296 | 0.00379106 |
1.6 | 4.75855167 | 4.75882125 | 0.00566476 |
1.7 | 6.61882741 | 6.61936868 | 0.00817715 |
1.8 | 9.39225233 | 9.39333129 | 0.01148646 |
1.9 | 13.5969054 | 13.5990509 | 0.01577667 |
2.0 | 20.0812668 | 20.0855369 | 0.02125956 |
2.1 | 30.2567165 | 30.2652443 | 0.02817676 |
2.2 | 46.5083522 | 46.5254744 | 0.03680182 |
2.3 | 72.9318516 | 72.9664685 | 0.04744218 |
2.4 | 116.675363 | 116.745926 | 0.06044105 |
2.5 | 190.421096 | 190.566268 | 0.0761793 |