From rk-2 to rk-4
    4 次查看(过去 30 天)
  
       显示 更早的评论
    
Hi, I have a problem. I have written the following code for a Runge Kutta 2 but now i want it write a code for a Runge Kutta 4. So if i'm correct i have to add a k3 and a k4 but i have no clue how. Can anyone help me?
function x = exc5rk2(k,M,h,D)
% k, m, and D are preset values
%h is the timesteps and D is the time
N = D/h;
t(1) = 0;
x(1) = 1.5;
v(1) = 0;
for i = 1:N
    t(i+1) = t(i) + h;    
    xs = x(i) + h*(v(i));
    vs = v(i) + h*(-k/M*x(i));
    x(i+1) = x(i) + h/2*(v(i)+vs);
    v(i+1) = v(i) + h/2*(-k/M*x(i)-k/M*xs);
end
plot(t,x,t,v)
return
采纳的回答
  madhan ravi
      
      
 2018-12-21
        
      编辑:madhan ravi
      
      
 2018-12-21
  
      If you want just downloadhttps://www.mathworks.com/matlabcentral/fileexchange/29851-runge-kutta-4th-order-ode?focused=3773771&tab=function  from file exchange and adapt it to your equation.
0 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

