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

问题描述:

用 四阶龙格库塔 解三阶微分方程 公式和程序
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