声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1576|回复: 6

[编程技巧] ode45求解微分方程时遇到的问题

[复制链接]
发表于 2009-10-18 21:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我在用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 编辑 ]
回复
分享到:

使用道具 举报

发表于 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 编辑 ]
发表于 2010-3-8 21:34 | 显示全部楼层
我也出现这样的问题,一直没解决好请问你是怎么解决的,http://forum.vibunion.com/forum/thread-89514-1-1.html有空帮我看看,提前谢谢了
发表于 2010-3-24 09:54 | 显示全部楼层

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

在求解微分方程时,在Matlab命令窗口中输入[t,x]=ode45(@myfun01,[0 10],[1 -1 3]);
会出现如下提示,不知道问题出在什么地方,请高手指教,谢谢了
??? Attempt to execute SCRIPT ode45 as a function:
E:\Program Files\MATLAB\R2009a\精通matlab科学计算\第8章\ode45.m
发表于 2010-3-24 10:15 | 显示全部楼层
发表于 2010-3-24 10:24 | 显示全部楼层
感谢您的回复
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-22 00:52 , Processed in 0.052934 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表