无水1324 发表于 2007-8-7 10:46

关于方程求解的一点思考

在微分方程的求解过程中经常遇到方程不可解或者得到的解在瞬间达到无穷大的情况,在以前的分析中主要是归结为两个原因:
1、方程的参数出现问题;
2、方程出现刚性,求解格式也不对了,得不到解。需要用ode15s ode23等算法,或者其它的一些精细算法,gear算法等。

对于上面的解释有时候比较合理、也有可能解决问题。最近本人看混沌基础方面的书,觉得有可能还有一种解释;
先来看一下一个简单平面系统的鞍结分岔过程:


1、a<0


2、a=0

3、a>0

4、a<0 with different initial value

[ 本帖最后由 无水1324 于 2007-8-7 10:49 编辑 ]

无水1324 发表于 2007-8-7 10:53

改变初值在鞍点附近时 ,计算系统的解发现在瞬间会达到无穷大。也就是说我们原来遇到的求解无法进行下去或者求出来的是一条直线,此时就有可能是处于鞍点的吸引域内,使系统的解无法继续运行

octopussheng 发表于 2007-8-7 14:35

无水的这个例子做的确实很能说明问题啊!

咕噜噜 发表于 2007-8-7 14:43

回复 #2 无水1324 的帖子

更精细地算法能不能具体说一下

无水1324 发表于 2007-8-7 15:13

原帖由 咕噜噜 于 2007-8-7 14:43 发表 http://www.chinavib.com/forum/images/common/back.gif
更精细地算法能不能具体说一下

关于这个问题的精确计算?是程序还是?

octopussheng 发表于 2007-8-7 16:00

无水把你用的例子的方程贴一下吧,求解我觉得还是没有什么问题的吧,呵呵

无水1324 发表于 2007-8-7 16:17

系统方程
参考文献:Kuznetsov Yu.A. Elements of applied bifurcation theory

咕噜噜 发表于 2007-8-7 16:57

回复 #5 无水1324 的帖子

不是程序,主要还是算法,其实算法我认为还是最主要的

mxtfirst 发表于 2007-8-7 17:36

gear算法 是更精细的算法?这个说法第一次听说,

octopussheng 发表于 2007-8-7 19:01

无水,我觉得你所说也只是一种情况,我个人感觉是如果方程出现刚性,用ode45求解不了,主要因素还是方程本身的参数取值!

无水1324 发表于 2007-8-7 20:18

回复 #9 mxtfirst 的帖子

gear也是一个算法,精细积分也是一种计算方法

无水1324 发表于 2007-8-7 20:19

回复 #6 octopussheng 的帖子

你说得对,我这里不是否认刚性,在#1我也给出了刚性和参数的原因。
这里提出来只是我的一个想法而已,它可能另外一种原因

咕噜噜 发表于 2007-8-8 08:27

系统刚性解决起来可能比较困难,一般是改用比较精细地算法,假如不行难道就只能改参数吗?

octopussheng 发表于 2007-8-8 08:42

回复 #13 咕噜噜 的帖子

目前看来要是不换算法的话只有改参数一途了!

mxtfirst 发表于 2007-8-8 12:25

回复 #14 octopussheng 的帖子

如果模型来自工程,是个stiff问题,比如化学反应动力学,建模没有问题,那怎么办呢?
页: [1] 2
查看完整版本: 关于方程求解的一点思考