2016-03-30 7 views
2

Warum gibt es einen Unterschied zwischenerstellen Linienobjekt - Matrix vs. Vektoreingang

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))); 

und

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

Gibt es eine Möglichkeit, die ich die erste Version (= mit der Linienfunktion nur einmal) mit dem Ergebnis der zweiten verwenden kann?

Antwort

1

Gemäß der Dokumentation für 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. 

Sie wollen also,

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

Nun, das ist es. Danke vielmals! – stm