湖南大学matlab工程训练 第 1 页
问题
抛射体运动建模
半径为r质量为m的小球,以初速度v0方向角?射向高度为yf的目标,令拖曳系数为c,试计算物体在真空中飞行的时间和距离,并绘制运动轨迹
题目分析,算法以及原理说明
1. 给定小球质量m(取0.2kg),重力加速度g(长沙重力加速度为9.80665kg`m/s^2),拖曳系数c和小球面积S(半径为r,取0.04m),根据D=rou*C*A/2求出D;
2. 给定小球的初始速度,大小为v(1),方向与水平方向成angle=30°,小球的位置(x(1)和y(1)。设定时间间隔dtime; 3. 选定最大的间隔数N(取800); 4. 当n Ay=-g-(D/m)*V*Vy; 6. 打印x,y,Vx,Vy,Ax,Ay; 7. 计算任意时刻的速度Vx(n+1)=Vx(n)+Ax(n)*dtime Vy(n+1)=Vy(n)+Ay(n)*dtime; 8.计算任意时刻的位移x(n+1)=x(n)+Vx(n)*dtime+0.5*Ax(n)*dtime^2 y(n+1)=y(n)+Vy(n)*dtime+0.5*Ay(n)*dtime^2; 9.时间t=t+dtime; 需要完成的主要工作 1. 建立模型; 2. 程序算法分析; 3. 编写程序; 4. 进行调试; 5. 书写实验报告。 湖南大学matlab工程训练 第 2 页 设计方案 由设计原理可知,只需设定小球做抛体运动时一系列的参数,利用一个循环结构,由前面一个的坐标即可得后面一个的坐标。之后进行绘图,即可完成“抛体运动的建模”。 程序模块说明 模块主要分成三大部分: 1. 初始值的输入; 2. 核心算法关于任一时刻速度和位移的计算; 3. 以及最后的绘图。 程序流程图 确定小球运动时的 一系列必需的参数 程序核心模块 该程序核心模块:利用物理中运动学公式计算小球任一时刻的速度和位移 V(n)=sqrt(Vx(n)^2+Vy(n)^2) Ax(n)=-(D/m)*V(n)*Vx(n); Ay(n)=-g-(D/m)*V(n)*Vy(n); Vx(n+1)=Vx(n)+Ax(n)*dtime; Vy(n+1)=Vy(n)+Ay(n)*dtime; x(n+1)=x(n)+Vx(n)*dtime+0.5*Ax(n)*dtime^2; y(n+1)=y(n)+Vy(n)*dtime+0.5*Ay(n)*dtime^2; 用循环结构根据运动学公式,计算出速度V和位移S 用plot函数绘制函数曲线 湖南大学matlab工程训练 第 3 页 操作方法简介 在matlab软件中输入ex1程序即可运行。绘出的曲线为红色曲线,红色曲线即为小球运动轨迹,曲线与X轴交点为飞行距离。 输入数据以及输出结果 下面是输出的图像: 设计体会 1)通过对本次实验,我体验到了matlab在物理与数学方面极强的应用能力,让我对matlab这个工具有了进一步的了解,加强了我对日后学习的兴趣。Matlab极大的提高了数学物理问题可编程化性,并且具有十分强大的绘图功能,是理工科学生学习上的一项极有利的工具。