利用Matlab研究受空气阻尼的抛体运动应用物理学专业课程设计.doc

上传人:ni****g 文档编号:547472948 上传时间:2023-09-04 格式:DOC 页数:11 大小:288.01KB
返回 下载 相关 举报
利用Matlab研究受空气阻尼的抛体运动应用物理学专业课程设计.doc_第1页
第1页 / 共11页
利用Matlab研究受空气阻尼的抛体运动应用物理学专业课程设计.doc_第2页
第2页 / 共11页
利用Matlab研究受空气阻尼的抛体运动应用物理学专业课程设计.doc_第3页
第3页 / 共11页
利用Matlab研究受空气阻尼的抛体运动应用物理学专业课程设计.doc_第4页
第4页 / 共11页
利用Matlab研究受空气阻尼的抛体运动应用物理学专业课程设计.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《利用Matlab研究受空气阻尼的抛体运动应用物理学专业课程设计.doc》由会员分享,可在线阅读,更多相关《利用Matlab研究受空气阻尼的抛体运动应用物理学专业课程设计.doc(11页珍藏版)》请在金锄头文库上搜索。

1、湖南工业大学课 程 设 计资 料 袋 理 学院(系、部) 2011 2012 学年第 一 学期 课程名称 学生姓名 专业班级 题 目 利用Matlab研究受空气阻尼的抛体运动 成 绩 起止日期 2011年 11月 28日 2011年 12 月 2 日目 录 清 单序号材 料 名 称资料数量备 注1课程设计任务书2课程设计说明书3课程设计图8张456 湖南工业大学 课程设计任务书20112012 学年第 1 学期 理学院 学院(系、部) 应用物理学 专业 081 班级课程名称: 计算物理 一、 设计题目:利用Matlab研究受空气阻尼的抛体运动二、 完成期限:自 2011 年 11 月 28 日

2、至 2011 年 12 月 2 日共 1 周内容及任务1、分析抛体运动所受空气阻力的三种情况,写出质点运动的微分方程;2、用龙格-库塔方法求解质点运动的微分方程;3、画出粒子的空间轨迹和速度随时间变化的彗星图,找出轨迹的最高点,到达最高点的时间和速度。进度安排起止日期工作内容11-11-28分析抛体运动所受空气阻力的三种情况,写出质点运动的微分方程。11-11-29设计计算流程图11-11-30根据计算流程图设计计算程序11-12-1对设计的程序进行调试和优化11-12-2写出课程设计的总结实验报告主要参考资料1 陈锺贤计算物理学M哈尔滨:哈尔滨工业大学出版社,2001:37-492 王沫然M

3、atlab与科学计算M北京:电子工业出版社,2003:219-2293 石辛民,郝整清.基于MATLAB 的实用数值计算M.北京:清华大学出版社,北京交通大学出版社,2006.141-142.指导教师(签字): 年 月 日系(教研室)主任(签字): 年 月 日1(软件工程)设计说明书(利用Matlab研究受空气阻尼的抛体运动)起止日期: 2011 年 11月 28日 至 2011 年 12月 2日学生姓名班级学号成绩指导教师(签字)理学院(部)2011年 12月 31日课程设计内容一课题研究的背景和意义在力学中涉及许多复杂的计算问题,例如非线性问题,对其求解有时是很困难的,甚至是不可能的。MA

4、TLAB正是处理非线性问题的很好的工具,既能进行数值计算,又能绘制有关曲线,非常方便。在理论力学和普通物理学的范围内,一般说来,抛射体的运动可看作是质点的运动,在假定空气阻力可以忽略或阻力至于速度的一次放成正比的情况下,用解析法能够很容易的求解运动方程,但这种假定,只有在被抛射出的物体运动速度很低时才能近似成立。经典力学原理基本上沿着两条路线进行。一条是基于牛顿运动定律,在静力分析中,主要遵循力学平衡原理,加上组成结构材料的本构关系和应变,位移的几何协调关系可以导出微分方程。另一条是基于功、能原理,它以能量原理(如最小势能原理,虚位移原理等)为基础,可以导出需要求解的积分方程。不管是解微分方程

5、还是积分方程,均需求出函数y=f(x),使之满足方程并在边界上满足边界条件。对于简单问题可以求得其解析解。但物理学中的实际问题是很复杂的,往往很难求的其实用的解析解,因此,应用计算机得到其数值解成了可行的解决问题的途径。常用的数值方法有差分法、有限元法、加权残值法、边界元法登。这些解法通常都有大量的矩阵运算以及其他数值运算。MATLAB具有强大的科学计算功能,这使得人们可以用它来代替传统的编程语言。在计算要求相同的情况下,使用MATLAB编程,工作量会大大减少。例如,采用MATLAB编制自由振动的子程序时只需要调用两个函数:求逆矩阵的inv函数及求特征值和特征向量的eig函数。二课题研究的内容

6、我们根据课程设计的要求与实现目的,制定了如下的设计步骤:首先,根据题目所给的条件,我们易列出牛顿运动方程。根据是分析抛体运动所受空气阻力的三种情况(后面程序部分给出),可以写出质点运动的微分方程。将质点运动的矢量方程分解在平面正交坐标轴上面后,可以分解出4个标量方程。再次,得到了阻尼运动的方程后,接下就是如何去解出方程,根据经典理论物理的牛顿运动分析方法固然可以解出,但是步骤繁琐,易出错。本课题的中心是利用matlab来解决阻尼抛体运动,当然想到用建立模型的方法去求解。本课题中我们想到采用龙格-库塔方法求解质点运动的微分方程。最后,根据微分方程的函数形式,利用ode45命令解出本题的结果。利用

7、所得到的结果,我们可以利用该模型进行模拟其它类似阻尼运动的复杂运动的轨迹。所以本课题的内容要求画出粒子的空间轨迹和速度随时间变化的彗星图,找出轨迹的最高点,到达最高点的时间和速度。三.所需的设备和组员第一阶段:(11月28日)分析抛体运动所受空气阻力的三种情况,写出质点运动的微分方程。第二阶段:(11月29日)设计计算流程图第三阶段:(11月30日)根据计算流程图设计计算程序第四阶段:(12月1日)对设计的程序进行调试和优化第五阶段:(12月2日)写出课程设计的总结实验报告所用软件:matlab 6.5所用语言:matlab语言所需设备:PC电脑一台组员: 刘进萍 姜拱星 黄秦波 熊先平 张丽

8、佳 四:程序设计1Matlab中龙格-库塔(Runge-Kutta)方法原理 龙格-库塔(Runge-Kutta)方法是一种在工程上应用广泛的高精度单步算法。由于此算法精度高,采取措施对误差进行抑制,所以其实现原理也较复杂。该算法是构建在数学支持的基础之上的。龙格库塔方法的理论基础来源于泰勒公式和使用斜率近似表达微分,它在积分区间多预计算出几个点的斜率,然后进行加权平均,用做下一点的依据,从而构造出了精度更高的数值积分计算方法。如果预先求两个点的斜率就是二阶龙格库塔法,如果预先取四个点就是四阶龙格库塔法。一阶常微分方程可以写作:y=f(x,y),使用差分概念。(Yn+1-Yn)/h= f(Xn

9、,Yn)推出(近似等于,极限为Yn)Yn+1=Yn+h*f(Xn,Yn)另外根据微分中值定理,存在0t1,使得Yn+1=Yn+h*f(Xn+th,Y(Xn+th)这里Kf(Xn+th,Y(Xn+th)称为平均斜率,龙格库塔方法就是求得K的一种算法。利用这样的原理,经过复杂的数学推导(过于繁琐省略),可以得出截断误差为O(h5)的四阶龙格库塔公式:K1f(Xn,Yn);K2=f(Xn+h/2,Yn+(h/2)*K1);K3=f(Xn+h/2,Yn+(h/2)*K2);K4=f(Xn+h,Yn+h*K3);2Matlab设计的流程图受空气阻尼运动的抛体运动受力分析建立四阶龙格库塔方程利用matla

10、b编程调试程序及计算3源程序函数function f=znxpfun(t,y) global m d e f=y(2);.-d/m*y(2)*(y(2).2+y(4).2)(e/2);.y(4);.-9.8-d/m*y(4)*(y(2).2+y(4).2)(e/2);程序global m d e m=1;b=0,0.2,0.2;p=0,0,1; %-8PH(7 &px=4.6;4.5;4.5; % ;m7xppy=3.5;1.8;0.4; % ;m7ypstrdd1=无阻尼;strdd2=v;strdd3=v2;figurefor i=1:3 %.K?d)e/hA7d=b(i); e=p(i)

11、; %J?-8 &7bt,y=ode45(znxpfun,0:0.01:10,0,3,0,5);Hi=max(y(:,3) %XTi=t(find(y(:,3)=Hi) %U )?+5/oM:fvx0i=y(find(y(:,3)=Hi),2) %5oM:(Bsubplot(2,1,1) %J2axis(0 6 -70 2); % ?pF6hold on %2Ixlabel(x); ylabel(y); %x,yh7jcomet(y(:,1),y(:,3); %yl7rfXsubplot(2,1,2)axis(0 10 0 4) hold on xlabel(t);ylabel(dx/dt)t

12、ext(px(i),py(i),strddi); %P?;m 9d=UbZej;mcomet(t,y(:,2) %(B*f2end4图形讨论图形的物理意义:由上图可以看出,当抛体运动所受空气阻力为零时,从yx图可知,其可以分解为水平方向的匀速直线运动与竖直方向的自由落体运动。由Vxt图可知,水平方向速度不变。当所受空气阻力与速度v成正比时,由Vxt图可知,水平速度不断减少。当所受空气阻力与v的平方成正比时,水平位移很快就保持不变,而由Vxt图可知水平速度急剧降为零,与事实相符。五.总结 通过此次课程设计,使我更加扎实的掌握了有关Matlab在物理计算方面的知识,在设计过程中虽然遇到了一些问题,

13、但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。 过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可! 课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。同时,设计让我感触很深。使我对抽象的理论有了具体的认识。通过这次课程设计,我掌握了测试;熟悉了Matlab运行环境和如何编写Matlab语言,了解了项目开发的基本思想和概念。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号