单摆运动过程的MATLAB&Simulink建模与仿真(9页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《单摆运动过程的MATLAB&Simulink建模与仿真(9页).doc》由会员分享,可在线阅读,更多相关《单摆运动过程的MATLAB&Simulink建模与仿真(9页).doc(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-单摆运动过程的MATLA&Simulink建模与仿真作者:王军 Email:wj820420本文章为一次学习总结,发到网上供大家参考,希望大家转载的时候不要匿名篡改,保持良好的学术作风。在高中物理学习过程中,我们接触了单摆.当时的单摆定义是:细线一端固定在悬点,另一端系一个小球,如果细线的质量与小球相比可以忽略,球的直接与线的长度相比也可以忽略,这样的装置就叫做单摆.根据上面的定义,得出以下试验结论.(1)当摆角很小时,周期与振幅无关;(2)周期与摆球质量无关;(3)单摆振动的周期与摆长有关;单摆周期的平方与摆长成正比.以上结论是在理想条件下得到的结论,现对这个理想条件下的单摆进行分析与仿真
2、,将仿真结果与以上结论进行对比验证.1 理想模式下单摆的数学模型.首先根据理想条件,摆线质量忽略不计,空气阻力忽略不计.设摆线长度为l,摆球质量为m,重力加速度为g,系统的初始时刻为t=0,在任意t0时刻摆球的线速度为v(t),角速度为(t),角位移(t),以单摆的固定位置为坐标原点建立直角坐标系,水平方向为x轴方向.示意图如下所示:在 t 时刻,摆锤所受切向力ft(t)是重力mg在其运动圆弧切线方向上的分力,即(t) = mg sin(t)完全理想条件下,根据牛顿第二运动定律,切向加速度为:a(t) = g sin(t) 因此得到单摆的运动微分方程组: g sin(t) (1) (2)使用欧
3、拉算法求解:将dv(t) = v(t + dt) - v(t)和d(t) = (t + dt) -(t)代入式(1)及式(2)中,并以仿真步进量作为dt 的近似,得到基于时间的递推方程:v (t +)= v (t)+gsin( t) (3)(t +)=(t)- (4) 注:本递推方程仅适合于摆角,也就是要求无论初始速度多少,摆角的最大幅度不能超过90度,如果超过90度比并且初始速度为0时放手小球会自由下落一段时间才能摆动,本递推方程无法描述. 据此编写仿真程序:在MALAB命令窗口输入以下命令:dt=0.0001; %仿真步进T=16; %仿真时间长度t=0:dt:T;%仿真计算时间序列g=9
4、.8;L=1.5;th0=1.5; %初始摆角设置,不能超过/2,即要求球摆动开始时绳子就要有拉力,如果初始摆角超过/2,则球会经过一阵自由落体后才能进行摆动,上面的递推方程不能满足该情形.v0=0; %初始摆速设置v=zeros(size(t); %程序存储变量预先初始化,可提高执行速度th=zeros(size(t);v(1)=v0;th(1)=th0;for i=1:length(t) %仿真求解开始v(i+1)=v(i)+g*sin(th(i).*dt;th(i+1)=th(i)-1./L.*v(i).*dt;end %使用双坐标系统来作图 AX,B1,B2=plotyy(t,v(1:
5、length(t),t,th(1:length(t),plot);set(B1,LineStyle,-); %设置图线型set(B2,LineStyle,:);set(get(AX(1),Ylabel),String,线速度v(t)m/s);%作标注set(get(AX(2),Ylabel),String,角位移th(t)/rad);xlabel(时间t/s);legend(B1,线速度v(t),2);legend(B2,角位移th(t),1);在以上假设条件下得到仿真图形如下:在其他条件不变的情况下,仅仅改变细线的长度L=3,再次进行仿真,仿真图象如下:对比两幅图象可以看出,在理想条件下,同
6、样摆角下,单摆的摆臂变化,影响单摆的最大线速度以及单摆的周期,当摆臂增加时,最大线速度增加,同时单摆的周期也增加.此结论正好与最初单摆理想条件下的试验结论一致.实际情况中,当摆幅很小(0为阻力比例系数,式中的负号表示阻力方向与摆锤运动方向相反。切向加速度由切向合力ft-fz产生,根据牛顿第二运动定律,有a(t) = g sin(t) -因此得到修正后的单摆运动微分方程组: g sin(t) - (5) (6)仍然使用欧拉算法求解:将dv(t) = v(t + dt) - v(t)和d(t) = (t + dt) -(t)代入式(5)及式(6)中,并以仿真步进量作为dt 的近似,得到基于时间的递
7、推方程:v (t +)= v (t)+(gsin( t) -) (t +)=(t)-据此编写仿真程序:在MALAB命令窗口输入以下命令:subplot(2,1,1)dt=0.0001; %仿真步进T=16; %仿真时间长度t=0:dt:T;%仿真计算时间序列g=9.8;L=1.5;m=8;k=3;th0=1.5; %初始摆角设置,不能超过/2v0=0; %初始摆速设置v=zeros(size(t); %程序存储变量预先初始化,可提高执行速度th=zeros(size(t);v(1)=v0;th(1)=th0;for i=1:length(t) %仿真求解开始v(i+1)=v(i)+(g*sin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单摆 运动 过程 MATLAB Simulink 建模 仿真
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内