m=1; g=9.8; K=0.8; v0=0; y0=1; tstart=0; tfinal=5; dt=(tfinal-tstart)/5000; v=v0; y=y0; count=0; for t=tstart:dt:tfinal count=count+1; if(y>0)||(v>0) v=v-g*dt; y=y+v*dt; else v=-K*v-g*dt; y=y-K*v*dt; end %data_v(count)=v; %记录数据%data_y(count)=y; plot(t,y,'o'); axis([tstart tfinal 0 1]) set(gcf,'doublebuffer','on') drawnow end |
|
来自: 昵称31871414 > 《待分类》