- 1、本文档共52页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Matlab及其应用 * Matlab及其应用 * plot应用举例——画一个圆 程序如下: R=2; t=0:pi/20:2*pi; x=R*sin(t);y=R*cos(t) plot(x,y,b:),grid MATLAB图形绘制的基本步骤 1)准备需要绘制数据或函数。 2) 选择图形输出的窗口及位置。 3)调用基本的绘图函数。 4)设置坐标轴范围、标记号、和网格线。 5)用名称、图例、坐标名、文本等对图形就行注释。 Matlab及其应用 * Matlab及其应用 * 例1——无阻力抛射体的运动 设目标相对于射点的高度为 ,给定初速,试计算物体在真空中飞行的时间和距离。 ◆建模 无阻力抛射体的飞行是中学物理就解决了的问题,本题的不同点是目标和射点不在同一高度上,用MATLAB可使整个计算和绘图过程自动化。其好处是快速地计算物体在不同初速和射角下的飞行时间和距离。关键是在求落点时间 时,需要解一个二次线性代速方程。 Matlab及其应用 * MATLAB程序 clear;y0=0;x0=0; %初始位置 vMag=input(‘输入初始速度(m/s):’); %输入初始速度的大小和方向 vDir=input(输入初速方向(度):); yf=input(‘输入目标高度(m):’); %输入目标高度 vx0=vMag*cos(vDir*(pi/180)); %计算x, y方向的初始速度 vy0=vMag*sin(vDir*(pi/180)); wy=-9.81;wx=0; %重力加速度(m/s^2) tf=roots([wy/2,vy0,y0-yf]); %解方程,计算落点时间 tf=max(tf); %去掉庸解 t=0:0.1:tf; y=y0+vy0*t+wy*t.^2/2; %计算轨迹 x=x0+vx0*t+wx*t.^2/2; xf=max(x),plot(x,y); %计算射程 grid Matlab及其应用 * 初始速度50m/s,初速方向为40度,目标高度为8m时的输入结果 Matlab及其应用 * 例2——有空气阻力抛射体的运动 步骤一:给定小球质量m,重力加速度g,拖曳系数C和小球面积A(半径为r),根据D=rou*C*A/2求出D 步骤二:给定小球的初始速度v(1)(大小和方向角theta),小球的位置(x(1)和y(1)。设定时间间隔detat 步骤三:选定最大的间隔数N(或者最大的时间 ) Matlab及其应用 * 求解步骤 步骤四:当nN或者t 时循环步骤五到步骤九 步骤五:计算加速度分量 步骤六:打印或者画 Matlab及其应用 * 步骤七:计算新的速度分量 步骤八:计算新的位移坐标 步骤九:时间上增加一个间隔 步骤十:结束 Matlab及其应用 * Matlab程序 g=9.8; m=0.145; C=0.5; r=0.0366; A=pi*r^2; rou=1.2; D=(rou*C*A)/2; detat=0.01; theta=(35/180*pi); x(1)=0; y(1)=0; V(1)=50; Vx(1)=V(1)*cos(theta); Vy(1)=V(1)*sin(theta); N=700; Matlab及其应用 * for n=1:N 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)*detat; Vy(n+1)=Vy(n)+ay(n)*detat; x(n+1)=x(n)+Vx(n)*detat+0.5*ax(n)*detat^2; y(n+1)=y(n)+Vy(n)*detat+0.5*ay(n)*detat^2; px(n)=Vx(1)*n*detat; py(n)=Vy(1)*n*detat-0.5*g*(n*detat)^2; end plot(x,y,r,px,py,g); grid xlabel(x),ylabel(y); title(Projectile motion with air res
文档评论(0)