matlab模拟平抛实验,谁有平抛物体运动模拟的MATLAB程序,简单的模拟……

匿名用户

1级

2018-11-21 回答

m=10;%质量

h=10;%高度

v0=0.5;%初速度

g=9.8;%重力加速度

u=0.15;%空气平均阻力系数

tt=0.1;%物体与地面的接触时间

a1=g-u*g;

a2=g+u*g;

N=0;s=0;

h1=figure('units','normalized');

axis([0 14 -0.5 10]);

axis off;

ht=uicontrol('parent',h1,'units','normalized','style','text','position',[.7 .9 .3 .1],'string','0','fontsize',16);

b=line(0,10,'color','r','marker','.','markersize',25,'erasemode','xor');

ball=line(0,10,'color','r','linestyle','-','linewidth',2,'erasemode','none');

line([0,14],[-0.02,-0.02],'color','b','linestyle','-','linewidth',2);

line([0 0],[0 10],'color','b','linestyle','-','linewidth',2);

while N~=m*g

N=0;

v=sqrt(2*a1*h);

t1=sqrt(2*h/a1);

for t=0:0.001:t1

sx=s+v0*t;

y=h-a1*t*t/2;

set(b,'xdata',sx,'ydata',y);

set(ball,'xdata',sx,'ydata',y);

drawnow

end

N=2*m*v*tt+m*g;

set(ht,'string',num2str(N));

t2=v/a2;

s=sx;

h0=v*v/(2*a2);

for t=0:0.001:t2

sx=s+v0*t;

y=v0*t-a2*t*t/2;

set(b,'xdata',sx,'ydata',y);

set(ball,'xdata',sx,'ydata',y);

drawnow

end

h=y;s=sx;

end

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值