创建线对象 - 矩阵与矢量输入

时间:2016-03-30 21:00:03

标签: matlab line matlab-figure

为什么

之间存在差异
figure;
process = {'process' , [0.2500 0.5000], [0.6 0.8];
           'process2', [0.1250 0.2500], [0.2 0.6];
           'process3', [0.3125 0.2500], [0.4 0.6];
           'process4', [0.2500 0.3125], [0.2 0.4];
           'process5', [0.3750 0.3125], [0.2 0.4];
           'process5', [0.5625 0.5000], [0.6 0.8];};  
L=line(cell2mat(process(:,2)), cell2mat(process(:,3)));

figure;
process = {'process' , [0.2500 0.5000], [0.6 0.8];
           'process2', [0.1250 0.2500], [0.2 0.6];
           'process3', [0.3125 0.2500], [0.4 0.6];
           'process4', [0.2500 0.3125], [0.2 0.4];
           'process5', [0.3750 0.3125], [0.2 0.4];
           'process5', [0.5625 0.5000], [0.6 0.8];};
hold on
L=line(cell2mat(process(1,2)), cell2mat(process(1,3)));
L=line(cell2mat(process(2,2)), cell2mat(process(2,3)));
L=line(cell2mat(process(3,2)), cell2mat(process(3,3)));
L=line(cell2mat(process(4,2)), cell2mat(process(4,3)));
L=line(cell2mat(process(5,2)), cell2mat(process(5,3)));
L=line(cell2mat(process(6,2)), cell2mat(process(6,3)));

enter image description here

是否有一种方法可以让我使用第一个版本(=仅使用一行函数)和第二个版本的结果?

1 个答案:

答案 0 :(得分:1)

根据line的文档:

line(X,Y) adds the line defined in vectors X and Y to the
current axes. If X and Y are matrices of the same size, line
draws one line per column.

所以你想要,

line(cell2mat(process(:,2))', cell2mat(process(:,3))');