在Matlab中绘制几条不带for循环的直线

在Matlab中绘制几条不带for循环的直线,matlab,Matlab,在Matlab中,我有两个Nx3矩阵p和Q,每一行代表一个点。 我想在矩阵的同一行中的点之间绘制线 下面的代码可以实现这一点: for i=1:N plot3( [P(i,1) Q(i,1)], ... [P(i,2) Q(i,2)], ... [P(i,3) Q(i,3)] ) end 有没有一种不用for循环的方法 如果我给plot3点作为向量,除了我想要的线之外,Matlab还会在Q(I,:)和p(I+1,:)之间画线。试试看 plot3([P(:

在Matlab中,我有两个Nx3矩阵
p
Q
,每一行代表一个点。 我想在矩阵的同一行中的点之间绘制线

下面的代码可以实现这一点:

for i=1:N
  plot3( [P(i,1) Q(i,1)], ...
         [P(i,2) Q(i,2)], ...
         [P(i,3) Q(i,3)] )
end
有没有一种不用for循环的方法

如果我给
plot3
点作为向量,除了我想要的线之外,Matlab还会在
Q(I,:)
p(I+1,:)
之间画线。

试试看

plot3([P(:, 1) Q(:, 1)]', ...
      [P(:, 2) Q(:, 2)]', ...
      [P(:, 3) Q(:, 3)]')

如果向Matlab绘图函数提供一个矩阵,则每列对应一条绘制的线。

您可能希望这样:

h = quiver3(P(:,1), P(:,2), P(:,3), Q(:,1), Q(:,2) , Q(:,3),0);

set(h,'ShowArrowHead','off');