
matlab解微分方程组(自己编4阶龙格库塔法),步长真么选取?
其中:1.r=0.001,a=2*104,s=0.015,b=10-4;x(0)=1200,y(0)=6002.r=0.001,a=2*10-6,s=0.01,b=10-...
其中:
1. r=0.001,a=2*104, s=0.015, b=10-4; x(0)=1200, y(0)=600
2. r=0.001,a=2*10-6, s=0.01, b=10-6; x(0)=12000, y(0)=6000 展开
1. r=0.001,a=2*104, s=0.015, b=10-4; x(0)=1200, y(0)=600
2. r=0.001,a=2*10-6, s=0.01, b=10-6; x(0)=12000, y(0)=6000 展开
2个回答
展开全部
步长是选时间t的间隔,看你要计算多长的时间段t:[t0,tn],一般t0=0,tn由题意或自己选取最多20s就可以了,步长选取h=0.01。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?

2024-08-02 广告
科仪器致力于为微纳薄膜领域提供精益级测量及控制仪器,包括各种光谱椭偏、激光椭偏、反射式光谱等,从性能参数、使用体验、价格、产品可靠性及工艺拓展性等多个维度综合考量,助客户提高研发和生产效率,以及带给客户更好的使用体验。...
点击进入详情页
本回答由系科仪器提供
展开全部
function R=rk4(f,a,b,ya,N)
%y'=f(x,y)
%a,b左右端点
%N为迭代步长
%h为步长
%ya为初值
h=(b-a)/N;
T=zeros(1,N+1);
Y=zeros(1,N+1);
T=a:h:b;
Y(1)=ya;
for j=1:N
k1=h*feval(f,T(j),Y(j));
k2=h*feval(f,T(j)+h/2,Y(j)+k1/2);
k3=h*feval(f,T(j)+h/2,Y(j)+k2/2);
k4=h*feval(f,T(j)+h/2,Y(j)+k3);
Y(j+1)=Y(j)+(k1+2*k2+2*k3+k4)/6;
end
R=[T' Y']
%y'=f(x,y)
%a,b左右端点
%N为迭代步长
%h为步长
%ya为初值
h=(b-a)/N;
T=zeros(1,N+1);
Y=zeros(1,N+1);
T=a:h:b;
Y(1)=ya;
for j=1:N
k1=h*feval(f,T(j),Y(j));
k2=h*feval(f,T(j)+h/2,Y(j)+k1/2);
k3=h*feval(f,T(j)+h/2,Y(j)+k2/2);
k4=h*feval(f,T(j)+h/2,Y(j)+k3);
Y(j+1)=Y(j)+(k1+2*k2+2*k3+k4)/6;
end
R=[T' Y']
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询