
怎样用matlab 模拟小球自由落体
1个回答
展开全部
H = 1000;
g = 9.8;
T = sqrt(2*H/g);
r = H/20;
for t = linspace(0,T,100)
h = H-g*t*t/2;
c = [0 h+r];
circle_plot(c,r);
axis([-H/10 H/10 0 H*1.2]);
pause(0.01);
end
子程序
function circle_plot(c,r)
%画原点坐标为c,半径为r的圆
x = linspace(c(1)-r,c(1)+r,1000);
y1 = sqrt(r*r-(x-c(1)).^2)+c(2);
y2 = -sqrt(r*r-(x-c(1)).^2)+c(2);
plot(x,y1,'k-',x,y2,'k-');
fill([x fliplr(x)],[y1 fliplr(y2)],'k');
axis equal;
end
g = 9.8;
T = sqrt(2*H/g);
r = H/20;
for t = linspace(0,T,100)
h = H-g*t*t/2;
c = [0 h+r];
circle_plot(c,r);
axis([-H/10 H/10 0 H*1.2]);
pause(0.01);
end
子程序
function circle_plot(c,r)
%画原点坐标为c,半径为r的圆
x = linspace(c(1)-r,c(1)+r,1000);
y1 = sqrt(r*r-(x-c(1)).^2)+c(2);
y2 = -sqrt(r*r-(x-c(1)).^2)+c(2);
plot(x,y1,'k-',x,y2,'k-');
fill([x fliplr(x)],[y1 fliplr(y2)],'k');
axis equal;
end
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询