关于非线性振动的数值解法
非线性振动必然涉及非线性微分方程(组),数值解法里面我知道的最直接是直接积分法,如线性加速度法,威尔逊θ法,newmark法。对于单自由度系统来说这些方法相对来说是比较简单的,但是如果是多自由度系统很多在应用上就出现了困难,尤其是自由度超过3。记得gghhjj说线性加速度法现在很少人用了,那么现在数值解法现在用的比较多的是什么?
数值解法来说那个方法更好一些,有没有适用情况对比?
单自由度到多自由度的话需要怎么样一个思路转换,应该不仅仅是从数值到矩阵吧? 这三种方法中涉及到了稳定条件,newmark法是无条件稳定的,威尔逊θ法在θ>=0.5,α>=0.25(0.5+θ)是稳定的 newmark法也有稳定性条件。
论坛里有这个问题的回复,只是搜索不方便,不能为你查询了。
[ 本帖最后由 wanyeqing2003 于 2007-5-30 18:04 编辑 ] 从一般概念上理解,单自由度与多自由度的解法是相似的。可以通用,我做过这样的尝试。
而在实际应用中,矩阵运算可能会有计算量大,计算精度的条件的制约。可能会影响计算效果。
回复 #4 wanyeqing2003 的帖子
解法是相似,可实际操作起来并不那么简单了对于不少非线性微分方程可以用matlab的函数直接求解,可某些情况不能
所以如果要求取较为精确的数值解选择合适的数值解法,自己编程序还是很必要的
回复 #3 wanyeqing2003 的帖子
^_^,那看来我理解还是有些问题的,我再看看 我是编过这些程序的,而不是用malab。其中就包括一些矩阵运算的程序。所以我觉得我还是有点发言权的。 有问题可以一起讨论。回复 #8 wanyeqing2003 的帖子
^_^,万老师当然有发言权啊,我现在就是想把这个问题讨论清楚我对这个问题还不是很清楚,连同我同学也很想弄清楚 那你得把具体的问题提出来,我们可以一起讨论。
不过你要先看看书,做做练习。 我这两天在和一位会员讨论,发现有一些朋友处理实际问题的能力稍稍欠缺一点。常常不知道应该问一些什么问题,如何开展工作。
有的时候我都不知道该怎么回答他的问题。请看:
http://forum.vibunion.com/forum/viewthread.php?tid=43964&extra=&page=2 刚刚又想了一下,我可能说得有点过头了。有些经验不一定都管用。
如果有误导他人之处,还请多多原谅。
回复 #12 wanyeqing2003 的帖子
^_^,万老师谦虚了话总是要说出来让人辨别才知道对于不对
比如我同学她自己随便用来练习的例子吧,二自由度,a*D2x+b*d2y+c*Dx+D*dy=0;e*D2y+f*D2x+d*Dx+c*Dy+sin(w*t)=0
这个我试了一下最后没作出来,可能我真是比较笨,不知道怎么去展开
回复 #12 wanyeqing2003 的帖子
另,我给的这个方程组用matlab中的ode45是无法求解的,必须自己动手推倒、编程序我发现我也不会展开问题,好像有点不知所云 上面的问题用ode45应该可以求解
至于展开非常容易,设置变量z(1)=xz(2)=x'z(3)=yz(z)=y'
代入方程,整理成
z'=f(z)的形式就行了