Los métodos Runge-Kutta son una importante familia de métodos iterativos, implícitos y explícitos, que se aplican para aproximar las soluciones de ecuaciones diferenciales ordinarias (EDOs). Estas metodologías, desarrollados alrededor de 1900 por los matematicos alemanes Carl David Tolmé Runge y Martin Wilhelm Kutta, son ampliamente utilizadas en la actualidad. Aquí se presenta el código en Pascal del método Runge-Kutta de cuarto orden, vulgarmente referenciado como “RK4” o “Runge-Kutta 4”.
program RK4;
(* Program en Pascal – Runge-Kutta 4 *)
(* Ecuación (ODE) : dy/dx = x^2 + sin(xy) *)
(* Condición inicial : y(1) = 2 *)
var
number, i : integer;
h, k1, k2, k3, k4, x, y : real;
function f(x,y : real) : real;
begin
f := x*x + sin(x*y)
end;
begin
number := 1;
while number > 0 do
begin
x := 1.0;
y := 2.0;
writeln(' Número de pasos : ');
read(number);
if number >= 1 then
begin
writeln(' Paso : ');
read(h);
writeln(' x y');
writeln(x, y);
for i := 1 to number do
begin
k1 := h*f(x,y);
k2 := h*f(x+0.5*h,y+0.5*k1);
k3 := h*f(x+0.5*h,y+0.5*k2);
k4 := h*f(x+h,y+k3);
x := x + h;
y := y + (k1+2*k2+2*k3+k4)/6;
writeln(x, y);
end;
end;
end;
end.
No hay comentarios:
Publicar un comentario