|
|
|
Werte aus Matrix selektieren und plotten |
|
| svensi |

Forum-Anfänger
|
 |
Beiträge: 11
|
 |
|
 |
Anmeldedatum: 19.12.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.12.2011, 14:16
Titel: Werte aus Matrix selektieren und plotten
|
 |
Hallo Forum,
habe eine Matrix mit 6 Spalten und variabler Zeilenanzahl. Die Daten in den ersten beiden Spalten sind Koordinaten und sollen als scatter geplottet werden, wobei alle Punkte miteinander verbunden sollen, deren Wert in der 6. Spalte gleich ist.
Nun die Frage: Gibt es eine Möglichkeit, dies direkt über die Plotfunktion zu steuern oder soll ich erst die einzelnen Datengruppen (mit gleichem Wert in Spalte 6) aus der Matrix extrahieren und dann plotten. Da die Datenmenge (in den Zeilen variiert) muss das ganze Verfahren flexibel sein.
Bin noch ganz neu in Matlab und wäre daher für jeden Vorschlag dankbar!!
VG Sven
|
|
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 19.12.2011, 15:59
Titel:
|
 |
Hallo,
das einfachste dürfte sein (als Variable nehme ich data) :
- vorkommende Elemente in 6. Spalte ansehen
- plotten der einzelnen Gruppen
Grüße,
Harald
|
|
|
|
| svensi |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 11
|
 |
|
 |
Anmeldedatum: 19.12.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.12.2011, 19:34
Titel:
|
 |
Hallo Harald,
danke für die schnelle Antwort. Habe nun folgenden Code ausprobiert (data=trackingresult):
Erhalte ein Diagramm, wo nur eine Gruppe an Daten enthalten sind: Alle Punkte mit einer 1 in Spalte 6. Es sind jedoch insgesamt 16 verschiedene Elemente in Spalte 6. Warum werden nicht auch die 15 anderen Gruppen eingezeichnet?
VG Sven
|
|
|
|
| svensi |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 11
|
 |
|
 |
Anmeldedatum: 19.12.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.12.2011, 20:04
Titel:
|
 |
Habe die Lösung:
groups = unique(trackingresult(:,6));
no = max(groups)
hold on
for k = 1 : no;
plot(x(trackingresult(:,6) == groups(k),1), y(trackingresult(:,6) == groups(k),1));
k
end
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 19.12.2011, 20:08
Titel:
|
 |
Hallo,
ich meinte eigentlich:
Deine Lösung ist allerdings wohl lesbarer
Grüße,
Harald
|
|
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|