求非线性微分方程组的数值解法
有没人知道非线性微分方程组M(x)*X''+C(x,x')*X'+K*X=F的数值解法?给定状态变量的初始条件X(0),X'(0),X''(0)及输入F
回复 楼主 的帖子
方程组与单个方程的计算方法编成基本上一样,搜索论坛回复 2楼 的帖子
我现在用Runge-Kutta 法积分做的 可现在的问题是:在把二阶微分方程组转化为一阶时 要求质量阵的逆 在用matlab仿真循环计算时不断弹出质量阵奇异,不可求逆 郁闷啊...回复 3楼 的帖子
用RK法做的时候不需要再求逆了,直接编辑好方程,然后调用ode45,ode15s等,就可以计算了 估计是我模型建的有问题 M应该是对称且正定的 不可能奇异 不是奇异是你的矩阵病态。ode45采用的是显式Runge-Kutta,求逆还是不可避免的。
MATLAB的ODE45不能解决刚性问题的。
参考
http://forum.vibunion.com/forum/viewthread.php?tid=49764 采用别的方法,其它方法有些是适用于刚性方程的,如ode15s,ode23s,ode23tb等 直接用R-K四阶算好了,用FONTRAN编写程序,几秒就解决问题 觉得写得有些泛泛了看了半天还是不知道具体怎么实现啊,哪位高手能不能举个特例,详细说明一下编程过程啊?谢啦:@D 用线性加速度方法可以解决这个问题,比如newmark法,等。 我建的方程组刚性比似乎比较大 用ode45,ode15s,ode23s,ode23tb解 很快就发散了... 用4阶R-K法,论坛有类似程序可以参考 目前给柔性机械臂建模 说是这样的动力学模型可以分为快变子系统和慢变子系统 对这类情况有了解的不 我是很晕.... 有高手麻烦指点一二
回复 13楼 的帖子
这个是不是主要是根据某些参数变化建模的?好像见过,慢变子系统的计算方法稍有不同而已 可能是之前把模型数据往matlab里输时出错 这两天ode45已经可以解了 很幸运 对不住大家了 白花了这么多脑筋
页:
[1]
2