用matlab解常微分方程组, 为什么会出错????调用的是dsolve的函数。大神谁可以解答?
若以下回答无法解决问题,邀请你更新回答
1个回答
展开全部
提供一点信息供楼主参考:
1、使用dsolve求微分方程的解析解,只在一些比较简单的情况下能得到结果,很多情况下难以求出显式解。
2、在MATLAB 6.5上求解,可以求出,用时约一分钟,但表达式过于复杂,根本没有实用价值。
3、在R2012b上求解,花了十几分钟仍为求出,内存消耗越来越大,不得不中止。但求解过程中并未报错,不知道楼主用的什么版本?
4、6.5和2012b所用符号运算内核不同,前者是Maple,后者是MuPad。个人感觉,总体上前者优于后者。
5、根据在不同版本上求解析解的结果,建议求数值解(后面给出参考解答)。
6、建议以后楼主提问时,不要简单的贴图片了事,至少考虑把调用的命令用文本方式贴出来,避免回答问题的人重新录入的无谓劳动。
求数值解:
dX=inline('[2*(x(2)-x(1))+1; 3.4*(x(3)-x(2))+2.3*(x(1)-x(2))-3.6*(x(2)-1); 3.4*(x(2)-x(3))]','t','x');
ode45(dX,10,[3 3 2])
1、使用dsolve求微分方程的解析解,只在一些比较简单的情况下能得到结果,很多情况下难以求出显式解。
2、在MATLAB 6.5上求解,可以求出,用时约一分钟,但表达式过于复杂,根本没有实用价值。
3、在R2012b上求解,花了十几分钟仍为求出,内存消耗越来越大,不得不中止。但求解过程中并未报错,不知道楼主用的什么版本?
4、6.5和2012b所用符号运算内核不同,前者是Maple,后者是MuPad。个人感觉,总体上前者优于后者。
5、根据在不同版本上求解析解的结果,建议求数值解(后面给出参考解答)。
6、建议以后楼主提问时,不要简单的贴图片了事,至少考虑把调用的命令用文本方式贴出来,避免回答问题的人重新录入的无谓劳动。
求数值解:
dX=inline('[2*(x(2)-x(1))+1; 3.4*(x(3)-x(2))+2.3*(x(1)-x(2))-3.6*(x(2)-1); 3.4*(x(2)-x(3))]','t','x');
ode45(dX,10,[3 3 2])
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |