2016-04-27 3 views
0

Ich habe einen Vektor von x-Werten, bei denen ich vertikale Linien zu einem Graphen hinzufügen möchte sagen, einen Zeilenvektor: vec = [1 2 3 4 5]Matlab: vertikale Linien bei x-Werten von Vektor angegeben

Ich weiß, dass Sie hinzufügen einzelne vertikale Linien wie folgt aus:

plot([1 1],[0 1])

(ergibt eine vertikale Linie bei x = 1 von y = 0 bis y = 1).

Aber wenn ich etwas versuchen, wie

vec = [1 2 3 4 5]; lowLine = [0 0 0 0 0]; highLine = [1 1 1 1 1]; plot([vec vec],[lowLine highLine])

Es ist nicht das gewünschte Ergebnis geben, stattdessen gibt es eine Z-Form. Wo gehe ich falsch?

+1

Versuchen Sie 'plot ([vec; vec], [lowLine; highLine])'. MATLABs Diagramm sieht jede Spalte von Eingabematrizen als verschiedene Diagramme, nicht die Zeilen – BillBokeey

+0

@BillBokeey danke, funktioniert! – Wolpertinger

+0

Ich poste es als eine Antwort, fühle mich frei, es zu akzeptieren, damit die anderen wissen, dass es funktioniert – BillBokeey

Antwort

1

Um mehrere Zeilen in einer einzigen Handlung zu planen, müssen Sie die Tatsache nutzen, dass die MATLAB plot Funktion Matrizen als Eingaben behandelt, und dass es jede Spalte der Eingänge als verschiedene Parzellen sieht:

Wenn X und Y sind beide Matrizen, dann müssen sie gleich groß sein. Die Handlung Funktion zeichnet Spalten von Y im Vergleich zu Spalten von X.

So, um das erwartete Ergebnis zu erhalten, müssen Sie schreiben:

vec = [1 2 3 4 5]; 
lowLine = [0 0 0 0 0]; 
highLine = [1 1 1 1 1]; 
plot([vec;vec],[lowLine;highLine]) 

Ergebnis:

enter image description here