littleG 发表于 2008-3-10 14:47

求非线性微分方程组的数值解法

有没人知道非线性微分方程组M(x)*X''+C(x,x')*X'+K*X=F的数值解法?
给定状态变量的初始条件X(0),X'(0),X''(0)及输入F

无水1324 发表于 2008-3-10 21:57

回复 楼主 的帖子

方程组与单个方程的计算方法编成基本上一样,搜索论坛

littleG 发表于 2008-3-12 11:02

回复 2楼 的帖子

我现在用Runge-Kutta 法积分做的 可现在的问题是:在把二阶微分方程组转化为一阶时 要求质量阵的逆 在用matlab仿真循环计算时不断弹出质量阵奇异,不可求逆 郁闷啊...

无水1324 发表于 2008-3-12 12:10

回复 3楼 的帖子

用RK法做的时候不需要再求逆了,直接编辑好方程,然后调用ode45,ode15s等,就可以计算了

littleG 发表于 2008-3-12 15:16

估计是我模型建的有问题 M应该是对称且正定的 不可能奇异

iewoug 发表于 2008-3-13 09:52

不是奇异
是你的矩阵病态。ode45采用的是显式Runge-Kutta,求逆还是不可避免的。
MATLAB的ODE45不能解决刚性问题的。
参考
http://forum.vibunion.com/forum/viewthread.php?tid=49764

health 发表于 2008-3-13 20:43

采用别的方法,其它方法有些是适用于刚性方程的,如ode15s,ode23s,ode23tb等

lincongchen 发表于 2008-3-14 00:03

直接用R-K四阶算好了,用FONTRAN编写程序,几秒就解决问题

平平淡淡 发表于 2008-3-14 09:34

觉得写得有些泛泛了看了半天还是不知道具体怎么实现啊,哪位高手能不能举个特例,详细说明一下编程过程啊?谢啦:@D

wanyeqing2003 发表于 2008-3-14 09:56

用线性加速度方法可以解决这个问题,比如newmark法,等。

littleG 发表于 2008-3-14 11:04

我建的方程组刚性比似乎比较大 用ode45,ode15s,ode23s,ode23tb解 很快就发散了...

咕噜噜 发表于 2008-3-14 16:06

用4阶R-K法,论坛有类似程序可以参考

littleG 发表于 2008-3-15 16:19

目前给柔性机械臂建模 说是这样的动力学模型可以分为快变子系统和慢变子系统 对这类情况有了解的不 我是很晕.... 有高手麻烦指点一二

咕噜噜 发表于 2008-3-17 08:00

回复 13楼 的帖子

这个是不是主要是根据某些参数变化建模的?好像见过,慢变子系统的计算方法稍有不同而已

littleG 发表于 2008-3-17 09:53

可能是之前把模型数据往matlab里输时出错 这两天ode45已经可以解了 很幸运 对不住大家了 白花了这么多脑筋
页: [1] 2
查看完整版本: 求非线性微分方程组的数值解法