用MATALAB分析阻尼运动Word文件下载.docx
- 文档编号:18773592
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:14
- 大小:238.23KB
用MATALAB分析阻尼运动Word文件下载.docx
《用MATALAB分析阻尼运动Word文件下载.docx》由会员分享,可在线阅读,更多相关《用MATALAB分析阻尼运动Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。
clc;
%阻尼振动
rectangle('
position'
[12,8,2,0.3],'
FaceColor'
[0.1,0.3,0.4]);
%生成固定块
axis([0,15,-1,10]);
holdon;
%设置坐标轴范围
plot([13,13],[7,8],'
r'
'
linewidth'
2);
%画与弹簧连接的线
y=2:
.2:
7;
%得到弹簧对应的纵坐标数据
M=length(y);
%获取数据的长度
x=12+mod(1:
M,2)*2;
%生成弹簧的横坐标数据
x
(1)=13;
x(end-3:
end)=13;
%计算出弹簧上下端点的横坐标值
D=plot(x,y);
%画出弹簧
C=0:
.1:
2*pi;
%生成圆球的角度数据
r=0.3;
%圆球的半径
t1=r*sin(C);
%计算出圆球对中心的纵坐标数据
F1=fill(13+r*cos(C),2+t1,'
);
%画出圆球
set(gca,'
ytick'
[0:
2:
9]);
%设置y轴的刻度
yticklabels'
num2str([-1:
3]'
));
%重新设置y轴的刻度值
plot([0,15],[2,2],'
black'
%画出平衡位置
H1=plot([0,13],[2,2],'
g'
%球心的跟踪线
Q=plot(0,2.5,'
color'
%画出运动曲线;
td=[];
%记录时间的变量
yd=[];
%记录y轴位置的变量
T=0;
%设置初始时的时间值
text(2,8,'
damposillation'
fontsize'
24);
%添加标注文字
set(gcf,'
doublebuffer'
on'
%设置渲染效果
whileT<
12;
%利用循环处理阻尼运动过程的模拟
pause(0.2);
%暂停一下,显示动画效果
Dy=1-0.5*exp(-T/4)*cos(pi*T);
%计算T时刻弹簧对平衡位置的位移
Y=-(y-2)*Dy+7;
%计算弹簧的纵坐标数值
Yf=Y(end)+t1;
%计算圆球的纵坐标数值
td=[td,T];
yd=[yd,Y(end)];
%更新运动曲线的数据
set(D,'
ydata'
Y);
%更新弹簧的位置数据
set(F1,'
Yf,'
facecolor'
rand(1,3));
%更新圆球的位置数据
set(H1,'
xdata'
[T,13],'
[Y(end),Y(end)]);
%更新跟踪线的数据
set(Q,'
td,'
yd);
%更新圆球的数据
T=T+0.1;
%更新时间
end%结束
Kd=find(diff(sign(diff(yd)))==-2)+1;
%计算极大值的位置
X=td(Kd);
%得到极大值处的横坐标数值
Y=yd(Kd);
%得到极大值处的纵坐标数值
X=[0,X,td(end)];
%得到上侧包络线的横坐标数据
Y=[yd
(1),Y,yd(end)];
%得到上侧包络线的纵坐标数据
plot(X,Y,'
:
'
%画出上侧包络线
Kx=find(diff(sign(diff(yd)))==2)+1;
%计算极小值的位置
X=td(Kx);
%得到极小值处的横坐标数值
Y=yd(Kx);
%得到极小值处的纵坐标数值
%得到下侧包络线的横坐标数据
Y=[-(yd
(1)-4),Y,-(yd(end)-4)];
%得到下侧包络线的纵坐标数据
%画出下侧包络线
运行动画截图如图所示:
图
(一)
运行程序:
通过MATLAB就可以清楚的看到小球受到阻尼运动时的运动情况,图像成衰减型,利用matlab就可以简单、省时的完成所需要的内容。
三、小球受阻尼力作用下的圆周运动
小球受阻尼力作用下的圆周运动,同时小球的大小随着时间以e指数的规律减小。
模拟这个运动过程需要含以下三方面的内容:
①计算小球在不同时刻的位置②记录小球运动形成的轨迹③实时更新小球的大小通过上述三方面的模拟可以得到这个过程的动画显示,通过MATLAB编写小球受到阻尼运动时的圆周运动程序如下:
n=1;
%阻尼系数
w=6;
%圆频率
ww=sqrt(w^2-n^2);
%等效的圆频率
B1=80;
%系数
B2=-20;
axis([-105,105,-105,105]);
%设置图形窗口的渲染效果
G=plot(100,0,'
%轨迹曲线
x=100;
%初始位置的横坐标
y=0;
%初始位置的纵坐标
r=2;
%小球半径
t1=r*sin(0:
2*pi);
%计算小球的边界数据
t2=r*cos(0:
X=x+r*t1;
%得到小球的横坐标数据
Y=y+r*t2;
%得到小球的纵坐标数据
Q=fill(X,Y,rand(1,3));
%画出小球
t=0;
%时间的初始数值
plot([-100,100],[0,0]);
%画出格线
plot([0,0],[-100,100]);
k=1;
%控制循环的参数
xlabel('
Pleasepress"
space"
keyandstopthisprogram!
...
14,'
%添加提示字符
title(['
《dampturbination》'
B1='
num2str(B1),...
;
B2='
num2str(B2)],'
14);
%加注图题
whilek;
%循环处理
s=get(gcf,'
currentkey'
%获取当前键入的按键名称
ifstrcmp(s,'
space'
%判断按键是否为空格键
k=0;
%把参数k设置为0,从而可以结束循环
end
pause(0.3);
%暂停一下显示动画效果
z=exp(-n*t)*(B1*exp(i*ww*t)+B2*exp(-i*ww*t));
%计算当前时刻的位置
xp=real(z);
%分离出实部数值
yp=imag(z);
%分离出虚部数值
r=0.5+1.5*exp(-n*t);
%计算当前小球的半径
X=xp+t1*r;
%计算小球的横坐标数据
Y=yp+t2*r;
%计算小球的纵坐标数据
X,'
%更新小球的数据
x=[x,xp];
%存储轨迹的横坐标数据
y=[y,yp];
%存储轨迹的纵坐标数据
set(G,'
x,'
y);
%更新轨迹曲线的数据
t=t+0.02;
%更新时间数值
小球受阻尼做圆周运动动画截图如图所示。
图
(二)
四、阻尼运动的运动方程
分析单自由度阻尼系统的阻尼系统对其固有振动模态的影响,用传统方法通过matlab实现其振动规律曲线,并改变其初始条件,实现一组曲线的脉冲过度函数,改变传统运算算法,使运算简便明了。
(a)动力学分析:
现象:
振幅随时间减小
原因:
阻尼
假设:
振动速度减小时,摩擦力正比于质点的速率。
即:
阻尼力Fr=-Cv阻尼系数:
C
对物块应用牛顿第二定律:
(1)
(2)
化解为二阶线性常系数齐次方程,即阻尼振动的动力学方程:
(3)
其中:
固有角频率
(4)
阻尼系数
(5)
解得:
(6)
振幅
角频率
(7)
振幅
为随时间的推移,呈指数递减,
越大,振动衰减越快;
越小,振幅衰减越慢。
随时间的推移,质点坐标单调地趋于零。
质点运动是非周期的,甚至不是往复的。
将质点移开平衡位置后释放,质点便慢慢回到平衡位置停下来,即过阻尼状态。
(b)种阻尼的比较
欠阻尼运动
过阻尼
临界阻尼
对以上传统公式算法,用matlab进行编程计算,实现其振动规律曲线,并通过曲线对阻尼振动规律进行分析。
所绘图如下图:
曲线对阻尼振动规律进行分析的图如图所示:
图(三)
图(四)
(c)把上述算法改进
改进上述算法公式较为繁琐,计算速度慢,编程复杂,是因为要避免复数运算。
而matlab本身就具备复数运算功能,通过改变其中一些算法,重新编程,可以使求解变得简单,程序也直观简单。
设原始微分方程为:
先用roots函数求p1,p2,语句为:
然后不必管他们是否为复数,把
对t求导,得
(4)
带入初始条件可得:
将这两个线行方程联立,得解:
这样,只要给出t数组,就求出了x。
根据以上改进,假如其它参数不变,求出
=0.3一种情况下此系统的脉冲响应,用matlab编程实现其运动规律曲线,如下图:
运动规律曲线图如图所示
图(五)
五、用matlab仿真有阻尼的受迫振动
图(六)有阻尼的受迫振动系统
图六为有阻尼的受迫振动系统,质量为M,摩擦系数为B,弹簧倔强系数为K。
拉力、摩擦力和弹簧力三都影响质量为M的物体的加速度。
如果系统的能量守恒,且振动一旦发生,它就会持久的、等幅的一直进行下去。
但是,实际上所遇到的自由振动都是逐渐衰减直至最终停止,即系统存在阻尼。
阻尼有相对运动表面的摩擦力、液体与气体的介质阻力、电磁阻力以及材料变形时的内阻力等作用。
物体在驱动力作用下的振动是受迫振动。
(a)模型分析与建立
利用牛顿运动定律,建立系统的力平衡微分方程如下:
(7)
式中的f(t)是一个外加的激励力,如果f(t)=F0sinωt,则称为谐激励力,其中ω为外施激励频率,t是持续时间。
故
(1)式又可写成:
(8)
(8)式是一个线性非齐次方程。
令B/M=2n(n为阻尼系数)),K/M=
(
为固有振动频率),ξ=
为相对阻尼系数或阻尼比,则(8)式可写为:
(9)
根据阻尼对系统振动的影响,振动响应分为弱阻尼(ξ<1)、(强阻尼ξ>1)和临界阻尼(ξ=1)三种情况。
这里仅讨论弱阻尼的情况。
在弱阻尼情况下的振动为响应:
x=Ae-ξwntsin(1-ξ2wnt+φ)+A1sin(wt+θ)(10)
谐迫振动的主要特性有:
(1)七式包括瞬态与稳态响应两部分,其中瞬态响应是一个有阻尼的谐振。
振动频率为系统固有频率
,振幅A与初相位角
决定初始条件,振幅的衰减按
规律,因此,振动持续时间决定于系统的阻尼比
。
(2)谐振的稳态响应是一个简谐振动,其频率比等于激励力的频率w,振幅为
,相位角为
(3)当外施激励频率等于系统固有频率时,系统发生位移共振,即振动位移最大。
将(7)式进行Laplace变换得:
(11)
这样,该系统的传递函数为:
(12)
模型假设及模型建立
如图1所示,已知K=43.8N/S,M=18.2kg,B=1.49N/S,n=B/2M=0.0819,h为一常数,固有频率
=1.5513。
在MATLAB的simulink平台下,根据(3)式建立仿真模型文件,如图2所示,其中scope显示振动响应曲线,scope1显示加速度曲线,scope2显示速度曲线。
图(七)
(b)仿真结果及分析
根据图2,当输入激励力的频率ω作如下变化时,将分别得到其振动响应。
(1)当激励力的频率w=1rad/s时(小于系统固有频率
=1.5513rad/s)其响应曲线如图4所示。
还可以得到其速度和加速度的响应曲线,如图5、图6。
图(八)w=1rad/s时的振动响应曲线
图(九)w=1rad/s时的速度曲线
图(十)w=1rad/s时的加速度曲线
(2)当激励力的频率ω=10rad/s(大于系统固有频率
=1.5513rad/s)时,其响应曲线如图7所示。
图(十一)w=15rad/s时的振动响应曲线
(3)当激励力的频率等于系统固有频率时,其响应曲线如图8所示,此时为共振现象
图(十二)w=
=1.5513rad/s时的振动响应曲线
六、结论
通过这次学习用MATLAB很好的分析了阻尼运动,解释了物体在运动过程中受各种阻力(如摩擦力、空气阻力等)的影响,出现能量逐渐衰减而导致运动减弱的现象。
用MATLAB语言解决是个很好的工具,以明显感觉用matlab方法程序简单明了,易于接受,而且运算简便,速度快捷。
而传统的算法为了避免复数运算,而显得相对繁杂。
七、课程体会
先前,曾经学习过MATLAB,当时就喜欢上了这个软件,感叹其功能之强大。
自己也在平时没事的时候学一点,。
经过本次仿真的学习,最大的收获是我又学到了MATLAB的其中一个功能,为我以后的学习提供了很好的实验手段和方法。
刚一开始,首先英文给了我一个下马威,有一种恐惧的感觉,但是通过老师的精讲细解和自身的努力,我终于一步一步的踏上探索它的征程,其功能之强大吸引着我不断的努力与尝试,虽然辛苦,但苦中有乐。
这次虽然完成了此次作业,但我不会放弃对它的深入学习和研究,真正的把他学透,为我所用成为自己在以后学习与研究中的一个法宝。
附录一:
参考资料
[1]刘卫国。
MATLAB程序设计与仿真[m]、北京:
高等教育出版社,2006.
[2]姜启源.数学模型
[m].北京:
高等教育出版社,2007.
[3]陈怀琛.MATLAB及其在理工课程中的运用指南(第三版)[m]、西安电子科技大学出版社2008.
[4]胡守信,李柏年.基于MATLAB的数学实验[m].西安:
科学出版社2005.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATALAB 分析 阻尼 运动
![提示](https://static.bdocx.com/images/bang_tan.gif)