【用四阶龙格库塔解三阶微分方程公式和程序0.001y'-查字典问答网
分类选择

来自商允伟的问题

  【用四阶龙格库塔解三阶微分方程公式和程序0.001y'''+0.11y''+y'+10y=10初值X=0,y=0要三阶微分方程的推导公式,如果有程序可以加分.】

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

  0.001y'''+0.11y''+y'+10y=10

  初值X=0,y=0

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

1回答
2020-10-2117:16
我要回答
提示:回答问题需要登录哦!
何敬民

  初值给的不够啊.

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

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

  在Matlab下输入:edit,然后将下面两行百分号之间的内容,复制进去,保存

  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  functionDYDt=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

2020-10-21 17:20:17
大家都在问
最新问答