Ich bin sehr neu in Matlab. Ich versuche zu plotten X
, wo X
ist ein 100x1-Vektor, gegen Y
, die eine 100 x 10-Matrix ist. Ich möchte, dass das Ergebnis X
vs 10 verschiedene Y
Werte alle in der gleichen Grafik, verschiedene Farben für jede Spalte sein. Der einzige Weg, wie ich jede Spalte dieser Matrix darstellen kann, ist die Verwendung des Befehls hold
, aber dann muss ich es aufteilen, damit ich jede Spalte einzeln erhalte. Gibt es einen einfachen Weg, dies zu tun?MATLAB - Streudiagramm eines Vektors durch eine Matrix?
1
A
Antwort
1
Verwenden Sie repmat
zum Erweitern X
auf die gleiche Größe wie Y
. Versuchen Sie, sie mit plot(X,Y)
zu plotten und wenn es seltsam aussieht, transponieren Sie jede (plot(X',Y')
).
Sie können linespec-Argumente verwenden, um Linienstyle, Markerstil usw. auszuwählen. Beispiel: plot(X,Y,'.')
würde einen Punkt an jedem Scheitelpunkt ohne Verbindungslinien angeben.
1
Sie brauchen nicht repmat
zu verwenden, benutzen Sie einfach plot
statt scatter
:
plot(X,Y,'o')
Hier ist ein Beispiel:
% some arbitrary data:
X = linspace(-2*pi,2*pi,100).'; % size(X) = 100 1
Y = bsxfun(@plus,sin(X),rand(100,10)); % size(Y) = 100 10
% you only need the next line:
plot(X,Y,'o')
legend('show')
Verwandte Themen
- 1. Streudiagramm 2D-Matrix in MATLAB
- 2. MATLAB Art Matrix, die durch eine Reihe
- 3. Füllen eines Boost-Vektors oder einer Matrix
- 4. Überprüfung der Vielfalt eines Vektors in Matlab
- 5. Löschen eines Vektors eines 2d-Vektors C++ durch Beurteilen eines Elementes dieses Vektors
- 6. Zuordnung eines Vektors zu einer Matrixzeile in MATLAB
- 7. Abtastung eines Vektors durch gleiche Aufteilung
- 8. Konvertieren eines Vektors in eine durch Kommas getrennte Zeichenfolge
- 9. MATLAB: Interpolation, die eine Matrix
- 10. Matlab-Diagramm Streudiagramm mit intermediären Koordinaten
- 11. Initialisierung eines Vektors von Vektoren?
- 12. Legen Sie den Anfangstyp eines Vektors in Matlab
- 13. Durchfluss durch eine binäre Matrix
- 14. Matlab lesen letzten Eintrag des Vektors ungleich Null
- 15. Generieren Sie eine Matrix mit einer gegebenen Matrix in MATLAB
- 16. Transformieren eines Vektors in einer bestimmten Länge in Matlab
- 17. Ersetzen Elemente eines Vektors
- 18. Matlab Matrix Minimierungs
- 19. Hinzufügen eines Vektors zu einem anderen mit Octave/Matlab
- 20. ordnen die ersten N Elemente eines Vektors in MATLAB
- 21. Plotten eines 2d-Vektors auf 3D-Achsen in Matlab
- 22. dynamischer Inkrementschritt zum Definieren eines Vektors in Matlab
- 23. , nullt Matrix in MATLAB
- 24. Ändern bestimmter Punkte im Streudiagramm mit Matrix
- 25. Wie ersetzt man Elemente eines Vektors durch Elemente eines Vektors, die durch ein anderes Element in R passen?
- 26. Zeichnen Sie eine Streudiagramm-Matrix mit Glut, opengl
- 27. Streudiagramm mit einer Dichte in Matlab
- 28. Einfügen einer Matrix in eine andere Matrix mit Matlab
- 29. MATLAB: Streudiagramm von dem jeder Punkt eine eigene Farbe hat
- 30. Kompakte MATLAB-Matrix-Indexierungsnotation
Ah funktioniert das! Vielen Dank! Warum musst du es mit "repmat" so machen, wenn es so aussieht, als müsste es eine intuitivere Methode dafür geben - es scheint nicht richtig zu sein, dass Streudiagramme nur Vektoren für y nehmen. – rb612
Es funktioniert, weil wenn Sie zwei Matrizen haben, es jede Spalte gegen die andere plottet. Wenn Sie einfach 'plot (X, Y, '.')' Wie es ist ohne repmat verwenden, was passiert? – tmpearce