unknowno 发表于 2007-6-2 17:56

关于单自由度非线性受迫振动方程的问题!

这是我自己写的一个关于求解单自由度非线性受迫振动方程:
function Y = SF(t,x)
F=58.3; m=8.5; w=25;
k=112.3+97.38*x(1)-12.56*x(1)^2;
c=-0.5635+0.7793*x(1);
Y=;
--------------------------------------------------------------------
=ode45('SF',,);plot(t,x)

绘图结果如下图
在这里我有两个不明白的地方,
第一,我所选用的激励是F*sin(w*t),也就是定频正弦激励,但方程解得的位移和速度响应曲线却是逐渐增强的。
第二,为什么会在t=64这个地方速度和位移都突然下降。
请帮忙!

没有人能够帮我解决吗?还是我表述的不够清楚?

[ 本帖最后由 ChaChing 于 2010-1-17 14:20 编辑 ]

eight 发表于 2007-6-2 23:15

原帖由 unknowno 于 2007-6-2 19:39 发表 http://www.chinavib.com/forum/images/common/back.gif
没有人能够帮我解决吗?还是我表述的不够清楚?

先看看置顶贴:聚宝盆,还有版规。ps:更何况今天是周末

[ 本帖最后由 eight 于 2007-6-2 23:18 编辑 ]

无水1324 发表于 2007-6-3 09:27

应该是参数的问题!相比之下,你的阻尼参数非常小,输入激励的能量非常大,使系统里能增加,必然会失稳,也就是在t=64的时候急剧变化!

咕噜噜 发表于 2007-6-3 10:33

对楼主的系统来说,就算阻尼增大还是会出现这类问题
之前我曾做过类似的程序,应该是系统失稳,但是具体原因,我也不清楚

无水1324 发表于 2007-6-3 10:48

原帖由 咕噜噜 于 2007-6-3 10:33 发表 http://www.chinavib.com/forum/images/common/back.gif
对楼主的系统来说,就算阻尼增大还是会出现这类问题
之前我曾做过类似的程序,应该是系统失稳,但是具体原因,我也不清楚
一般有两种:(我遇到的)
1、阻尼过小,就是上面说的。
2、计算的时候步长选择错误,使系统无法运行下去。用RK45变步长也错,就是这类方程意见不适合用RK45了
其他的原因是什么我也不知道了,高手继续!

unknowno 发表于 2007-6-4 16:53

原帖由 eight 于 2007-6-2 23:15 发表 http://www.chinavib.com/forum/images/common/back.gif
先看看置顶贴:聚宝盆,还有版规。ps:更何况今天是周末
呵呵!不好意思,性子比较急!

不好意思,昨天出去了没上网,今天现在才看到,我尝试下改变阻尼看看

我把阻尼的常数项变为正的,结果如下,很符合实际

[ 本帖最后由 ChaChing 于 2010-1-17 14:18 编辑 ]

appleseed05 发表于 2007-6-8 21:37

对于刚性方程(无阻尼),或者很小的阻尼ode45一半是算不稳定的

yj641207633 发表于 2012-5-7 16:05

ode45能应用于解多自由度的振动问题 小白新手求指教{:{23}:}
页: [1]
查看完整版本: 关于单自由度非线性受迫振动方程的问题!