% 4th order Runge-Kutta method for ODE system dt = 0.1; dt_mid = dt/2; t_cur = 0; T = 4*pi; x0 = [1,0]; x_cur = x0; nSteps = floor(T/dt); x_soln = zeros(nSteps+1,2); x_soln(1,:) = x_cur; for step = 1:nSteps k1 = f_RK(t_cur, x_cur); k2 = f_RK(t_cur+dt_mid, x_cur+dt_mid*k1); k3 = f_RK(t_cur+dt_mid, x_cur+dt_mid*k2); k4 = f_RK(t_cur+dt, x_cur+dt*k3); k = (k1 + 2*k2 + 2*k3 + k4)/6; x = x_cur + dt*k; x_cur = x; x_soln(step+1,:) = x_cur; t_cur = t_cur + dt; end plot(x_soln(:,1), x_soln(:,2));