资源描述:
《基于MATLAB抛体运动的分析.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于MATLAB抛体运动的分析作者:昊学长本文将采用MATLAB对抛体运动中的有阻尼抛体运动和无阻尼抛体运动的运动轨迹进行分析。yv0yv0Oθxv0x一、理论分析我们研究的抛体运动为斜抛运动,设物体斜抛的初速度为v0,重力加速度为g,在无阻尼抛体运动中,我们不计空气阻力,在无阻尼抛体运动中,物体的斜抛运动是水平方向的匀速直线运动和竖直上抛运动的合运动,物体的运动方程为xv0cost12yv0sintgt2消除t可得轨迹方程2gxyxtan222v0cos令y0,可得水平射程
2、v2sin2X0g在有阻尼抛体运动中,设阻尼系数为b,物体质量为m,我们近似认为阻力F只与速度v的量值成正比,即Fbv抛体在xy平面内运动,其运动的微分方程为dvxmbvxdtdvymmgbvydt设当t0,vxvx0,vyvy0,对上式进行一次积分后,得到btxvvemxx0btmgmgyvvemyy0bb再进行一次积分,并设t0,x0,y0,则得btmvx0x1emb2mgmvy0bt
3、mgy1emtb2bb消除t,得到轨道方程为mgvm2gmvyy0xlnx0bvx0vx0b2mvx0bxvy0v0sin,vx0v0cosvy0v0sintanvx0v0cos即2mgmgmvx0ytanxlnbvx0b2mvx0bx二、程序设计(1)初速度v0相同,θ不同,有阻尼与无阻尼的比较clearv0=10;g=9.8;m=5;b=0.2;theta=15:15:
4、75;th=theta*pi/180;x1=linspace(0,11,1000);x2=linspace(0,11,1000);[TH,X1]=meshgrid(th,x1);[TH2,X2]=meshgrid(th,x2);Y1=X1.*tan(TH)-g*X1.^2/v0^2/2./cos(TH).^2;Y2=(m.*g./b./v0./cos(TH2)+tan(TH2)).*X2-m.^2.*g./b.^2.*log(m.*v0.*cos(TH)./…(m.*v0.*cos(TH)-b.*X2));p
5、lot(x1,Y1(:,1),x2,Y2(:,1))holdonplot(x1,Y1(:,2),x2,Y2(:,2))holdonplot(x1,Y1(:,3),x2,Y2(:,3))holdonplot(x1,Y1(:,4),x2,Y2(:,4))holdonplot(x1,Y1(:,5),x2,Y2(:,5))holdonaxis([01105])title('有阻力与无阻力的抛体运动,初速度相同θ不同')xlabel('x/m')ylabel('y/m')gridon有阻力与无阻力的抛体运动,初速度相同
6、θ不同54.543.532.5y/m21.510.5001234567891011x/m(2)初速度θ相同,v0不同,有阻尼与无阻尼的比较cleartheta=45;g=9.8;m=5;b=0.2;v0=10:10:50;th=theta*pi/180;x1=linspace(0,260,1000);x2=linspace(0,220,1000);[V0,X1]=meshgrid(v0,x1);[V02,X2]=meshgrid(v0,x2);Y1=X1.*tan(th)-g*(X1.^2)./V0.^2/2
7、/cos(th).^2;Y2=(m.*g./b./V02./cos(th)+tan(th)).*X2-m.^2.*g./b.^2.*log(m.*V02.*cos(th)./…(m.*V02.*cos(th)-b.*X2));plot(x1,Y1(:,1),x2,Y2(:,1))holdonplot(x1,Y1(:,2),x2,Y2(:,2))holdonplot(x1,Y1(:,3),x2,Y2(:,3))holdonplot(x1,Y1(:,4),x2,Y2(:,4))holdonplot(x1,Y1(:
8、,5),x2,Y2(:,5))holdonaxis([0270065])title('有阻力与无阻力的抛体运动,θ相同初速度不同')xlabel('x/m')ylabel('y/m')gridon有阻力与无阻力的抛体运动,θ相同初速度不同605040y/m3020100050100150200250x/m(3)在v0、θ相同的情况下,改变阻尼系数b的情况cleartheta=45;g=9.8;m=5