how to properly implement K values in 4th order Runge-kutta (RK4)

2 visualizzazioni (ultimi 30 giorni)
just want to know If I am proper implementing these K eqns I'm not sure if I'm actually taking a slope estimate at each time step so some help would be nice
if true
%begin creating K1s to create intermediate F values
k11 = F2(i);
k12 = 2*F4(i) - f*F2(i) +F1(i) - mu2*(F1(i)+mu1)/(((F1(i)+mu1)^2 + F2(i)^2)^1.5) - mu1*(F1(i)-mu2)/(((F1(i)-mu2)^2 + F3(i)^2)^1.5);
k13 = F4(i);
k14 = -2*F2(i) - f*F4(i) + F3(i) -mu2*F3(i)/(((F1(i)+mu1)^2 + F3(i)^2)^1.5) - mu1*F3(i)/(((F1(i)-mu2)^2 + F3(i)^2)^1.5);
%initialize values for intermediate F equations (intermediate slopes)
F1tmp(i) = F1(i) + (dt/2)*k11;
F2tmp(i) = F2(i) + (dt/2)*k12;
F3tmp(i) = F3(i) + (dt/2)*k13;
F4tmp(i) = F4(i) + (dt/2)*k14;
%create K2s for next intermediate F values
k21 = F2tmp(i);
k22 = 2*F4tmp(i) - f*F2tmp(i) +F1tmp(i) - mu2*(F1tmp(i)+mu1)/(((F1tmp(i)+mu1)^2 + F2tmp(i)^2)^1.5) - mu1*(F1tmp(i)-mu2)/(((F1tmp(i)-mu2)^2 + F3tmp(i)^2)^1.5);
k23 = F4tmp(i);
k24 = -2*F2tmp(i) - f*F4tmp(i) + F3tmp(i) -mu2*F3tmp(i)/(((F1tmp(i)+mu1)^2 + F3tmp(i)^2)^1.5) - mu1*F3tmp(i)/(((F1tmp(i)-mu2)^2 + F3tmp(i)^2)^1.5);
% code
end

Risposte (0)

Categorie

Scopri di più su Numerical Integration and Differential Equations in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by