声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2602|回复: 11

[计算数学] Runge-kutta法求解问题讨论!

[复制链接]
发表于 2007-12-4 21:09 | 显示全部楼层 |阅读模式

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

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

x
如题,Rungge-kutta求解微分方程比较常见,也比较适用。但是遇到一些所谓的刚性方程的时候就会出现一些奇怪的现象。

最近我在用ode45求解以微分方程时计算到20s左右,解突然停止且变为NaN了?
这个我该怎么在源头上找到原因,是什么参数导致了这个结果?
用ode23时可以消除这种现象!
回复
分享到:

使用道具 举报

发表于 2007-12-4 22:08 | 显示全部楼层

回复 #1 无水1324 的帖子

我用ode45的时候 开始也是老出现NAN
后来不知怎么回事,不是出现超大的数 例如2.5e+105
就是出现超小的数例如:1.02e-148
这个可是转子的振幅啊~~~吓死了
 楼主| 发表于 2007-12-5 10:16 | 显示全部楼层

回复 #2 jinqiankun 的帖子

对我的也是
但是就是在某一个点还是0.06的突然在下一个计算点就变成NaN了
发表于 2007-12-5 10:53 | 显示全部楼层

回复 #3 无水1324 的帖子

rk算法会不会出现所谓不收敛的情况?
如果出现,在什么情况下出现呢?
发表于 2007-12-5 10:54 | 显示全部楼层
还是参数导致的,我以前也遇到过,有激励的因素在里面!

但是从根本上说,系统参数影响是最大 的! 呵呵!

这个帖子开的好,继续!
发表于 2007-12-5 11:35 | 显示全部楼层
主要还是系统参数问题吧,我认为刚性方程主要就是系统参数造成的,因此选用计算方法时需要慎重
发表于 2007-12-5 12:36 | 显示全部楼层

回复 #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时,转子基础松动的 庞加莱截面怎么去?
 楼主| 发表于 2007-12-5 12:43 | 显示全部楼层

回复 #6 咕噜噜 的帖子

oct、咕噜是参数引起的有可能,但是为什么是在哪个时刻突然没有了,而不在其他的地方。这个应该有一个根本的原因吧?
 楼主| 发表于 2007-12-5 12:44 | 显示全部楼层

回复 #7 jinqiankun 的帖子

我的情况跟你的还有一定的差别,我的没有偷任何提示!
发表于 2009-10-19 14:33 | 显示全部楼层

回复 7楼 jinqiankun 的帖子

我现在遇到的问题和你的一样,不知道你当时是怎么解决的,我搞了好几天了,不知道到底咋回事
发表于 2009-10-21 15:45 | 显示全部楼层
ode4 计算非光滑的系统时 混沌跟 步长的选择也有关系。。。不知道lz遇到过这种情况没有
发表于 2009-10-21 21:55 | 显示全部楼层

回复 11楼 htwei 的帖子

你说的是定步长算法?

能否举个例子说明一下?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-17 19:58 , Processed in 0.101400 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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