function [x, t] = Metodo_RK4(func, x0, h, Tinter) % % ENTRADA: % func - función que calcula las derivadas % x0 - vector de la condición inicial % h - paso % Tinter - intervalo de tiempo % % SALIDA: % t - tiempo (vector) % x - solución (matriz nPasos x nVariables) % t = Tinter(1):h:Tinter(2); % instantes de tiempo Npasos = length(t); % número de pasos Nvar = length(x0); % número de variables x = zeros(Npasos, Nvar); % reservamos memoria para la solución x(1,:) = x0(:)'; % condiciones iniciales (en forma de una fila) for k = 1:Npasos-1, F1 = h*func(t(k), x(k,:)); F2 = h*func(t(k) + 0.5*h, x(k,:) + 0.5*F1); F3 = h*func(t(k) + 0.5*h, x(k,:) + 0.5*F2); F4 = h*func(t(k) + h, x(k,:) + F3); x(k + 1,:) = x(k,:) + (F1 + 2*(F2 + F3) + F4)/6; end