MATLAB编写程序用四阶龙格库塔法求解常微分方程组,自己写了算的出错,求帮助啊 10
dy1/dt=-y1,dy2/dt=-y3,dy3/dt=y2,0≥t≤0.2y1(0)=1y2(0)=-1y3(0)=0步长h=0.01...
dy1/dt=-y1 ,dy2/dt=-y3 ,dy3/dt=y2 , 0 ≥ t ≤ 0.2
y1(0)=1 y2(0)=-1 y3(0)=0
步长h=0.01 展开
y1(0)=1 y2(0)=-1 y3(0)=0
步长h=0.01 展开
1个回答
展开全部
[t,x]=rk4(@(t,x)[-x(1),-x(3),x(2)],0,2,[1,-1 0], 0.01)
%函数文件
function [t,x]=rk4(funname,t0,t1,x0,dt)
t=[];
x=[];
while t0<t1
t=[t;t0];
x=[x;x0];
k1=funname(t0,x0);
t0=t0+dt/2;
k2=funname(t0,x0+dt*k1/2);
k3=funname(t0,x0+dt*k2/2);
t0=t0+dt/2;
k4=funname(t0,x0+dt*k3);
x0=x0+dt/6*(k1+2*k2+2*k3+k4);
t=[t;t0];
x=[x;x0];
end
%函数文件
function [t,x]=rk4(funname,t0,t1,x0,dt)
t=[];
x=[];
while t0<t1
t=[t;t0];
x=[x;x0];
k1=funname(t0,x0);
t0=t0+dt/2;
k2=funname(t0,x0+dt*k1/2);
k3=funname(t0,x0+dt*k2/2);
t0=t0+dt/2;
k4=funname(t0,x0+dt*k3);
x0=x0+dt/6*(k1+2*k2+2*k3+k4);
t=[t;t0];
x=[x;x0];
end
东莞大凡
2024-11-14 广告
2024-11-14 广告
标定板认准大凡光学科技,专业生产研发厂家,专业从事光学影像测量仪,光学投影测量仪.光学三维测量仪,光学二维测量仪,光学二维测量仪,光学三维测量仪,光学二维测量仪.的研发生产销售。东莞市大凡光学科技有限公司创立于 2018 年,公司总部坐落于...
点击进入详情页
本回答由东莞大凡提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询