在Matlab中绘制多行而无需for循环

问题描述

在Matlab中,我有两个Nx3矩阵
P
Q
,每条线代表一个点。 我想在矩阵的同一行中的点之间绘制线。 以下代码可以做到:
for i=1:N
  plot3( [P(i,1) Q(i,1)],...
         [P(i,2) Q(i,2)],3) Q(i,3)] )
end
有没有没有for循环的方法? 如果我像矢量一样给定as3ѭ点,则Matlab会在我想要的线之外绘制draw4ѭ和
P(i+1,:)
间的线。     

解决方法

尝试
plot3([P(:,1) Q(:,1)]\',...
      [P(:,2) Q(:,2)]\',3) Q(:,3)]\')
如果将矩阵输入Matlab绘图函数,则每一列对应一条绘制的线。     ,可能您想要这样:
h = quiver3(P(:,1),P(:,2),3),Q(:,0);

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