Matlab 需要帮助在点之间绘制线吗

Matlab 需要帮助在点之间绘制线吗,matlab,Matlab,我需要帮助在点之间绘制线。 假设,我从创建6个随机点开始- x = rand(6,1); y = rand(6,1); 所以我的观点是(x(1),y(1)),(x(2),y(2)),(x(3),y(3)),(x(4),y(4)),(x(5),y(5)),(x(6),y(6)) 现在我想在点1和5,2和6,3和4之间画一条直线 并将它们绘制在一张图表中。所以我得到了3条直线 任何帮助都将不胜感激 有两种方法可以做到这一点: 第一种方法,使用按住。这些线是分开的,也就是说,如果你把一条变成红色,其

我需要帮助在点之间绘制线。 假设,我从创建6个随机点开始-

x = rand(6,1);
y = rand(6,1);
所以我的观点是
(x(1),y(1)),(x(2),y(2)),(x(3),y(3)),(x(4),y(4)),(x(5),y(5)),(x(6),y(6))

现在我想在点1和5,2和6,3和4之间画一条直线 并将它们绘制在一张图表中。所以我得到了3条直线


任何帮助都将不胜感激

有两种方法可以做到这一点:

第一种方法,使用
按住
。这些线是分开的,也就是说,如果你把一条变成红色,其他的将保持蓝色

%# plot the first line
plot([x(1);x(5)],[y(1);y(5)]);

hold on %# this will prevent the previous plot from disappearing

%# plot the rest
plot([x(2);x(6)],[y(2);y(6)]);
plot([x(3);x(4)],[y(3);y(4)]);
第二种方法,利用
NaN
未被绘制的事实。这些线是分组的,即如果您将一条线变为红色,则所有线都将变为红色

%# create array for plotting
xy = NaN(8,2);

%# fill in data
xy([1 2 4 5 7 8],1) = x([1 5 2 6 3 4]);
xy([1 2 4 5 7 8],2) = y([1 5 2 6 3 4]);

%# plot
plot(xy(:,1),xy(:,2))

你只需打一个电话就可以做到这一点。如果您将
x
y
数据重塑为矩阵,且每列包含一行的坐标集,则将为每列绘制不同颜色的线:

index = [1 2 3; 5 6 4];   %# The index to reshape x and y into 2-by-3 matrices
plot(x(index),y(index));  %# Plot the lines

谢谢大家。。。我的问题解决了