跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

精选回复

发布于

非线性微分方程求解——RK4算法

Matlab求解程序:

h=0.2;
tf=4;
t=0;
Xin=[1;0];
tlog = zeros(tf/h,1);
xlog = zeros(tf/h,2);
xlog(1,1)=1;
xlog(1,2)=0;
tlog(1,1)=0;
for n =1:tf/h
    Xout = RK4(@fuc,t,Xin,h);
tlog(n+1,1)=n*h;
t=n*h;
    Xin = Xout;
    xlog(n+1,:) = Xin;  
end
 
plot(tlog(:,1),xlog(:,1));
 
function X_new=RK4(fun,t,Xin,h)
    k1=fun(t,Xin);
    k2=fun(t+h/2,Xin+h*k1/2);
    k3=fun(t+h/2,Xin+h*k2/2);
    k4=fun(t+h,Xin+h*k3);
    X_new=Xin+(k1+2*k2+2*k3+k4)*h/6;
end
 
function dXin=fuc(t,Xin) 
    x1  = Xin(1,:);
    x2  = Xin(2,:);
    dx1=x2;
    dx2=-2*x1^3+sin(2*t);
    dXin = [dx1;dx2];
end

输出x的图像:

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。