用 四阶龙格库塔 解三阶微分方程 公式和程序

0.001y'''+0.11y''+y'+10y=10
初值X=0,y=0

要三阶微分方程的推导公式,如果有程序可以加分。

初值给的不够啊。
不仅要给y,还要给y的一阶导和二阶导。否则数值解没法弄。

理论解的话,可能还可以含有一些系数。

==============================================================
在Matlab下输入:edit,然后将下面两行百分号之间的内容,复制进去,保存
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function DYDt=zhidao_amanm(t,Y)
y=Y(1);
dydt=Y(2);
d2ydt2=Y(3);
DYDt=[Y(2);Y(3);(10-10*y-dydt-0.11d2ydt2)/0.001];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

在Matlab命令行下面输入:
t_start=0;
t_end=1;
yy0=[0.1;0;0]; %初值
[t,y]=ode45('zhidao_amanm',[0,t_end],yy0);
plot(t,y(:,1));
xlabel('t');
ylabel('y')
y(end,1)
得到的结果:
ans =

1.0056

用昨天给的C代码计算出来的结果是:
1.005630
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜