在Matlab中绘制几条不带for循环的直线
在Matlab中,我有两个Nx3矩阵在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(:
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');