我不明白在下面的代码中如何使用[0:1:5]
:
function [x , y] = plotTrajectory(Vo,O,t,g)
% calculating x and y values
x = Vo * cos(O) * t ;
y = Vo*(sin(O)*t)-(0.5*g*(t.^2));
plot (x,y);
hold on
end
for i = (0: (pi/8): pi);
[x,y] = plotTrajectory(10,i,[0:1:5],9.8);
end
答案 0 :(得分:2)
每个参数都用于查找特定的X
和Y
值。 O
以pi
为步骤,pi/8
从{0}更改为Vo
,而t
,g
和t
保持不变。
O
变量只是一个从0到5的数组,步长为1,因此共有6个时间点。使用这些时间点并使用Vo
的特定值,但t
,g
和X
的值在整个过程中保持不变,6 {{1 }和Y
点已定义,因此绘制在图表上。为O
的每个值生成图表,因此生成一组6个不同的X
和Y
点。每个值O
的每个图都绘制在同一图表上。
我们可以用伪代码重写上面的代码,以便更容易理解如下:
for i = 0, pi/8, 2*pi/8, ..., pi
define Vo = 10
define O = i
define t = [0, 1, 2, 3, 4, 5]
define g = 9.8
run function plotTrajectory(Vo, O, t, g)
end
function plotTrajectory(Vo, O, t, g)
calculate x = Vo * cos(O) * t, for t = 0, 1, 2, 3, 4, 5
calculate y = Vo * (sin(O) * t) - (0.5 * g * t^2), for t = 0, 1, 2, 3, 4, 5
plot x and y for t = 0, 1, 2, 3, 4, 5 on the same graph
end