Runge-kutta法求解问题讨论!
如题,Rungge-kutta求解微分方程比较常见,也比较适用。但是遇到一些所谓的刚性方程的时候就会出现一些奇怪的现象。最近我在用ode45求解以微分方程时计算到20s左右,解突然停止且变为NaN了?
这个我该怎么在源头上找到原因,是什么参数导致了这个结果?
用ode23时可以消除这种现象!
回复 #1 无水1324 的帖子
我用ode45的时候 开始也是老出现NAN后来不知怎么回事,不是出现超大的数 例如2.5e+105
就是出现超小的数例如:1.02e-148
这个可是转子的振幅啊~~~吓死了
回复 #2 jinqiankun 的帖子
对我的也是但是就是在某一个点还是0.06的突然在下一个计算点就变成NaN了
回复 #3 无水1324 的帖子
rk算法会不会出现所谓不收敛的情况?如果出现,在什么情况下出现呢? 还是参数导致的,我以前也遇到过,有激励的因素在里面!
但是从根本上说,系统参数影响是最大 的! 呵呵!
这个帖子开的好,继续! 主要还是系统参数问题吧,我认为刚性方程主要就是系统参数造成的,因此选用计算方法时需要慎重
回复 #6 咕噜噜 的帖子
当我 的 Ω=650时出现:Warning: Failure at t=1.710114e+000.Unable to meet integration tolerances without reducing the step size below the smallest value allowed (6.075546e-015) at time t.(Type "warning off MATLAB:ode45:IntegrationTolNotMet" to suppress this warning.)
> In D:\MATLAB6p5\toolbox\matlab\funfun\ode45.m at line 335
程序在T=1.710114e+000 处停止
当我改为Ω=6500时没有出现warnning 这是什么原因呢?
如果我想要Ω=650时的数据怎么办?
还有就是 转速=6500时,转子基础松动的 庞加莱截面怎么去?
回复 #6 咕噜噜 的帖子
oct、咕噜是参数引起的有可能,但是为什么是在哪个时刻突然没有了,而不在其他的地方。这个应该有一个根本的原因吧?回复 #7 jinqiankun 的帖子
我的情况跟你的还有一定的差别,我的没有偷任何提示!回复 7楼 jinqiankun 的帖子
我现在遇到的问题和你的一样,不知道你当时是怎么解决的,我搞了好几天了,不知道到底咋回事 ode4 计算非光滑的系统时 混沌跟 步长的选择也有关系。。。不知道lz遇到过这种情况没有回复 11楼 htwei 的帖子
你说的是定步长算法?能否举个例子说明一下?
页:
[1]