用卷积脉冲响应函数法解振动问题
用卷积脉冲响应函数法解振动问题(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 编辑 ]
回复 楼主 的帖子
:-),可能用maple的人比较少,或者我贴的图不够吧,看的人似乎很少,却是一个很好的帖子, 顶一下!Maple是专业的数学软件,大部分人都比较怕数学,Maple的用户大部分都是数学专业的人。 我用卷积函数分析过多种脉冲激励的响应。用的是杜哈梅积分方法。
卷积分处理方法比较罗嗦,随着时间增加计算量激增,个人觉得这个方法的实用性较差。
比较简单的是加速度线性积分法,只要时间间隔选取合适,精度也是可以的。而且还适用于多自由度振动系统。
更正这个计算与仿真的错误以及扩展
修正了错误,扩充了simulink matlab的仿真
并给出了对比,各种情况
希望有帮助,因为没有过多时间,没有整理 补充 有传递函数模型 和 状态空间模型两种
并就采样率问题 数据输入问题 做了初级探讨
回复 地板 wanyeqing2003 的帖子
这个是解析的方法求解的,和数值的方法当然有区别了,不在于其实用价值,在于其启发和示范意义用matlab 直接一个传递函数到simulink就可以解决任何输入的单自由度振子的仿真,倒是简单直接了当了
回复 7楼 alljoyland 的帖子
卷积方法和传递函数方法是有区别的。我理解:卷积是在时域进行,而传递函数方法是频域的分析。
支持楼主
虽然不懂,但是楼主这种精神很佩服善于归纳,而且乐于分享,顶 膜拜楼主!
页:
[1]