ImageVerifierCode 换一换
格式:DOCX , 页数:3 ,大小:12.64KB ,
资源ID:513375      下载积分:5 金币
已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(用MATLAB模拟弹簧摆运动.docx)为本站会员(飞猪)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(发送邮件至doc331@126.com或直接QQ联系客服),我们立即给予删除!

用MATLAB模拟弹簧摆运动.docx

1、用MAT1.AB模拟弹簧摆运动引言:物体在一定位置附近所作的往复运动称为机械振动。这种振动现象在自然界是广泛存在的。例如,摆的运动,一切发声体的运动,机器开动时各局部的微小颤抖等都是机械振动。在不同的振动现象中,最根本最简单的振动是简谐振动。一切复杂的振动都可以分解为假设干个简谐振动,弹簧振子和小角度单摆就是简单的简谐振动。计算机模拟可以直观表现物理系统的运动状态,对于理解抽象的物理公式和研究系统的运动带来很多方便,所以在科研中有广泛的应用。这里我们借助于MAT1.AB,在研究物理系统的运动的同时,也用动画模拟他们的运动。由于这些运动模拟式采用真实的从求解运动方程得到的数据。所以利用mat1.

2、ab的数据拟合可以画出精确的图形。题目:设质量为ID的摆锤挂在劲度系数为k,原长为1。的轻弹簧上,弹簧的另一端悬挂于固定=0点0,系统静止自然下垂时弹簧长度为2,系统可在过0点的竖直平面内自由摆动,试研究摆锤的运动。原理:系统自由度为2。以0为极点,竖直向下的OX轴为极轴,建立极坐标系,如下图,r为质点In到0点距离,8为0、轴与弹簧间的夹角,那么系统的拉格朗日函数为=-w=联+r2g)2-mgrcos+c(r-针由拉格朗日方程可求出系统的运动微分方程为上式未作小摆角近似,因此可用以研究弹簧摆的大摆角运动,但是难以求出解析解。由数值计算结果所画出弹簧摆的大摆角运动轨迹,可发现它的运动情况很复杂

3、不作数值计算是无法想象的。drd令P=J,dt,户=外dt,那么成为源程序:functionthbg1.oba1.1.mkgtheta0=pi10;%初始角度,可由读者设不同的值m=1.;k=80;g=9.8;1.0=1.;1.=1.O+m*gk;%1.0为弹簧原来长度,1.为弹簧静止时长度t,u1.=ode45(thbfun,0:0.005:15,1.00theta0);y1.,x1.=po1.2cart(u1.(:,3),u1.(:,1);y1.=-y1.;%将极坐标换为直角坐标figureymax=max(abs(y1.);axis(-1.21.2-1.2*ymaxO.2);%设置坐标

4、范围axisofftit1.e(,弹簧摆,fontsize,14)ho1.don;R=0.055;%设置弹簧半径yy=-1.O:0.01:0;xx=R*sin(yy./1.0*30*pi);%用正弦曲线表示弹簧a,r=cart2po1.(xx,yy);%用坐标变换来画初始位置的弹簧a=a+theta;xx,yy=po1.2cart(a,r);%弹簧的数据1.ine(-11,00,Co1.Or,r,1.inewidth,2)%画横杆,球与弹簧ba1.1.=1.ine(xx(1),yy(1),co1.or,r,marker,markersize,70,erasemode,xor,);ba1.1.2

5、1.ine(xx(1),yy(1.),co1.or,0.50.510.6,1.inesty1.e,1.inewidth,1.3,erasemode,none,);spring=1.ine(xx,yy,co1.or,r,1.inewidth,2,erasemode,xor,);pause(0.5)fori=1:1.ength(t)%画出每一步的弹簧位置yy=-u1.(i,1):0.01:0;xx=R*sin(yy.u1.(i,1.)*30*pi);a,r=cart2po1.(xx,yy);a=a+u1.(i,3);xx,yy=po1.2cart(a,r);set(ba1.1.,XData,x1

6、i),YData,y1.(i);set(ba1.1.2,XData,x1.(i),YData,y1.(i);set(spring,XData,xx,YData,yy);drawnow;endfunctionF=thbfun(t,u)g1.oba1.1.mkgF=u(2);u(1.)*u(4)2+g*cos(u(3)-km*(u(1)-1.+m*gk);u(4);-2*u(2)*u(4)u(1.)-g*sin(u(3)u(1.);程序说明:程序中解微分方程的过程比拟简单,主要的技巧是在做模拟动画上。有两点值得注意,一是模拟弹簧的运动,另一点是在模拟弹簧运动的同时画出轨迹图。主程序的文件名是thb,子程序文件为thbfun,两个程序共用的变量1.,m,k,g用指令g1.oba1.来传递。程序运行截图:总结:这次小论文的编写,虽然程序还是相对简单的,但是表达了MAT1.AB真正用于科学计算的优势。通过这门课的学习,对MAT1.AB也有了更多的了解,以后可以更好的运用MAT1.AB,辅助各种研究工作,受益匪浅。参考文献:彭芳麟.计算物理根底.北京:高等教育出版社,2010.1

宁ICP备18001539号-1