五味瓶 发表于 2009-10-18 21:24

ode45求解微分方程时遇到的问题

我在用ode45求解微分方程的时候,程序在运行一段时间后一直提示这个问题:
Failure at t=1.078182e-001.Unable to meet integration tolerances without reducing the step size below the smallest value allowed (2.220446e-016) at time t
说减小什么步长的事,不知道是怎么回事,该怎么修改?

这个错误的提示,是不是意味着我应该在ode45的options里把最大步长给设置一下,设置到2.220446e-016?我试着这样做了,但是我分析是由于步长设的太小了,程序一直在运行,所以还不知道到底对不?还是我这个方程不能拿ode45解,希望高手赐教,很急。。。程序出不来,但是我也得给老师一个合理的解释啊!拜托高手帮忙看看

[ 本帖最后由 ChaChing 于 2010-3-8 23:21 编辑 ]

rocwoods 发表于 2009-10-19 14:53

你的微分方程是不是刚性的?用ode15s或者ode23s试试

[ 本帖最后由 rocwoods 于 2009-10-19 15:01 编辑 ]

五味瓶 发表于 2009-10-19 15:40

回复 地板 rocwoods 的帖子

我试过了,但是还有那样的问题,刚才在论坛上搜了好多,好像很多人遇到这个问题,但是不知道他们是怎么解决的,看着可能跟参数设置也有关系,我继续查找吧。。。谢谢,非常感谢

我把参数修改了好几组试,但是问题还没有解决,最后是把输入的激励给改小了,可以出来结果了,但是我觉得结果好像还是不太对,呵呵。。。谢谢你的回复。。。

[ 本帖最后由 ChaChing 于 2009-10-19 21:41 编辑 ]

yangxiaokang 发表于 2010-3-8 21:34

我也出现这样的问题,一直没解决好请问你是怎么解决的,http://forum.vibunion.com/forum/thread-89514-1-1.html有空帮我看看,提前谢谢了

samson888 发表于 2010-3-24 09:54

ode45求解微分方程时遇到的问题

在求解微分方程时,在Matlab命令窗口中输入=ode45(@myfun01,,);
会出现如下提示,不知道问题出在什么地方,请高手指教,谢谢了
??? Attempt to execute SCRIPT ode45 as a function:
E:\Program Files\MATLAB\R2009a\精通matlab科学计算\第8章\ode45.m

maigicku 发表于 2010-3-24 10:15

LS请参考下帖:
http://forum.vibunion.com/forum/viewthread.php?tid=46001&extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D167

samson888 发表于 2010-3-24 10:24

感谢您的回复
页: [1]
查看完整版本: ode45求解微分方程时遇到的问题