alljoyland 发表于 2008-7-25 15:34

用卷积脉冲响应函数法解振动问题

用卷积脉冲响应函数法解振动问题(MAPLE)
由于贴图片不太方便,完整文档见附件


(你可以学习的内容为:单自由度振动 脉冲响应函数法 maple的积分,heaviside函数,以及稍微复杂点的作图命令,以及使用maple符号计算和数值计算解决复杂振动问题的示例)
原题为
单自由度

激励(如下图) 无阻尼的,

强迫响应,
其外界激励

求其响应
用 卷积脉冲响应函数法


卷积积分(第三题)
第一部分积分 0< t < T1
> Int(F/T/(m*omega)*tau*sin(omega*(t-tau)),tau =0..t)=int(F/T/(m*omega)*tau*sin(omega*(t-tau)),tau =0..t);

第二部分积分 T1<t <T2

> Int(F/T/(m*omega)*tau*sin(omega*(t-tau)),tau =0..T)+Int(F*sin(omega*(t-tau)),tau =T..t)=int(F/T/(m*omega)*tau*sin(omega*(t-tau)),tau =0..T)+int(F*sin(omega*(t-tau)),tau =T..t);

第三部分积分, T2< t <T_inf
> Int(F/T/(m*omega)*tau*sin(omega*(t-tau)),tau =0..T)+Int(F*sin(omega*(t-tau)),tau =T..T)=int(F/T/(m*omega)*tau*sin(omega*(t-tau)),tau =0..T)+int(F*sin(omega*(t-tau)),tau =T..T);



以下分别建立三个函数x1(t),x2(t),x3(t)
> x1:=int(F/T/(m*omega)*tau*sin(omega*(t-tau)),tau =0..t);


> x2:=int(F/T/(m*omega)*tau*sin(omega*(t-tau)),tau = 0 .. T)+int(F*sin(omega*(t-tau)),tau = T .. t);


> x3:=int(F/T/(m*omega)*tau*sin(omega*(t-tau)),tau =0..T)+int(F*sin(omega*(t-tau)),tau =T..T);

给定初始值,及参数,
> omega:=10;

> F:=1;

> T:=1;

> T:=2;

> m:=1;

第一部分图
> plot( x1, t=0..1 ,y=-0.2..0.3);


第二部分图
> plot( x2 , t=1..2,y=-0.2..0.3);


第三部分的图

> plot( x3, t= 2..3,y=-0.2..0.3);
>


使用step函数(Heaviside函数),来画三部分组合的图,
也就是响应的图

> plot(x1*Heaviside(T-t)+x2*Heaviside(t-T)*Heaviside(T-t)+x3*Heaviside(t-T),t=0..5);


>


[ 本帖最后由 alljoyland 于 2008-7-25 15:50 编辑 ]

alljoyland 发表于 2008-7-30 15:24

回复 楼主 的帖子

:-),可能用maple的人比较少,或者我贴的图不够吧,看的人似乎很少,却是一个很好的帖子,

MathPen001 发表于 2008-9-16 12:43

顶一下!
Maple是专业的数学软件,大部分人都比较怕数学,Maple的用户大部分都是数学专业的人。

wanyeqing2003 发表于 2008-9-16 14:16

我用卷积函数分析过多种脉冲激励的响应。用的是杜哈梅积分方法。
卷积分处理方法比较罗嗦,随着时间增加计算量激增,个人觉得这个方法的实用性较差。

比较简单的是加速度线性积分法,只要时间间隔选取合适,精度也是可以的。而且还适用于多自由度振动系统。

alljoyland 发表于 2008-10-26 22:01

更正这个计算与仿真的错误以及扩展

修正了错误,
扩充了simulink matlab的仿真
并给出了对比,各种情况
希望有帮助,因为没有过多时间,没有整理

alljoyland 发表于 2008-10-26 22:14

补充 有传递函数模型 和 状态空间模型两种
并就采样率问题 数据输入问题 做了初级探讨

alljoyland 发表于 2009-4-20 20:31

回复 地板 wanyeqing2003 的帖子

这个是解析的方法求解的,和数值的方法当然有区别了,不在于其实用价值,在于其启发和示范意义

用matlab 直接一个传递函数到simulink就可以解决任何输入的单自由度振子的仿真,倒是简单直接了当了

wanyeqing2003 发表于 2009-4-21 16:30

回复 7楼 alljoyland 的帖子

卷积方法和传递函数方法是有区别的。

我理解:卷积是在时域进行,而传递函数方法是频域的分析。

chihewanle 发表于 2009-4-26 16:32

支持楼主

虽然不懂,但是楼主这种精神很佩服
善于归纳,而且乐于分享,顶

sleepinglion 发表于 2013-11-21 21:40

膜拜楼主!
页: [1]
查看完整版本: 用卷积脉冲响应函数法解振动问题