Matlab中已知两组坐标,如何画出对应坐标的连线

已知P是90×2的矩阵,即90个点的x,y坐标,Q也是90×2的矩阵,意思跟P一致,如何用Matlab画出对应点的连线,其中P的第一点,对应Q的第一个点,依次类推,图中,P是红色区域,Q是蓝色区域,如何连线?

P = 3*rand(10, 2);
Q = 1+rand(10, 2);

figure; hold on
plot(P(:,1), P(:,2), 'r+');
plot(Q(:,1), Q(:,2), '*');

%% 连线
for i = 1:size(P,1)
    plot([P(i,1) Q(i,1)], [P(i,2) Q(i,2)], '--')
end

追问

嗯嗯,非常感谢!很正确,是我想要的结果

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-11-29
set(gca, 'XTick',[0,3,6 9 12 14] ); %定义x轴的刻度
set(gca, 'YTick',[0,1.5 3,4.5 6 7.5 9 ] ); %定义y轴的刻度
axis([0 15 0 10]);
line ([0.1 3],[3 3],'Color','b','LineWidth',2);
line ([3.1 6],[4.5 4.5],'LineWidth',2);
line ([6.1 9],[6 6],'LineWidth',2);
line ([9.1 12],[7.5 7.5],'LineWidth',2);
line ([12.1 14],[9 9],'LineWidth',2);
hold on
plot ( 0, 3 ,'o','LineWidth',2) ;
plot ( 3, 4.5 ,'o','LineWidth',2) ;
plot ( 6, 6 ,'o','LineWidth',2)
plot ( 9, 7.5 ,'o','LineWidth',2)

plot ( 12, 9,'o','LineWidth',2)

纵坐标旋转

ylabel('Likelihood','Rotation',90)
第2个回答  2015-03-19
for i=1:90
line(P(i,:),Q(i,:))
end

这样就行了追问

    运行结果

追答

你看一下PQ的维数是90*2还是2*90

已拖黑

相似回答