%% Q1
g = 9.81;
alpha = 25*pi/180;
v0 = 20/.8;
theta = 30*pi/180;
N = 100;
p = [0 0 0];
for i = 1:5
v0 = v0*.8;
x0 = p(end, 1);
y0 = p(end, 2);
vx = v0*sin(theta)*cos(alpha);
vy = v0*sin(theta)*sin(alpha);
vz = v0*cos(theta);
for t = linspace(0, 2*vz/g, N)
p = [p; x0+vx*t y0+vy*t vz*t-g*t^2/2];
end
end
p(1, :) = [];
plot3(p(:, 1), p(:, 2), p(:, 3));
xlabel('x');ylabel('y');zlabel('z');
title('Path');
%% Q2
v0 = 20/.8;
p = [0 0 0];
flag = true;
while flag
v0 = v0*.8;
x0 = p(end, 1);
y0 = p(end, 2);
vx = v0*sin(theta)*cos(alpha);
vy = v0*sin(theta)*sin(alpha);
vz = v0*cos(theta);
for t = linspace(0, 2*vz/g, N)
x = x0+vx*t;
y = y0+vy*t;
if x>=85 || y>=40
flag = false;
break
end
p = [p; x y vz*t-g*t^2/2];
end
end
p(1, :) = [];
figure;
plot3(p(:, 1), p(:, 2), p(:, 3));
xlabel('x');ylabel('y');zlabel('z');
title('Path');
稍等! 我需要点时间!