|
|
zeilenweise sortierung von daten unterschiedlichen typs |
|
stewart |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.11.2009, 16:53
Titel: zeilenweise sortierung von daten unterschiedlichen typs
|
 |
|
 |
|
Hallo,
ich habe seit geraumer Zeit ein Problem mit dem Sortieren von Daten unterschiedlichen Typs und da meine Suche in Foren wie diesen etc. bisher erfolglos war, wende ich mich nun hierhier.
Ich lese Daten aus der Datei TestdatenGK.txt ein:
In die Variablen F_ID, DATUM, X werden "Spaltenvektoren" geschrieben, die jeweils einen unterschiedlichen Datentyp haben:
Ich möchte die Daten nun nach bestimmten Spalten sortieren, wobei der Zusammenhang zwischen benachbarten Elementen aber erhalten bleiben soll (also F_ID(n) soll nach dem Sortieren weiterhin neben Datum(n) und X(n) stehen). Normalerweise wäre ich so vorgegangen, die einzelnen Spalten zu einer Matrix zusammenzufügen und diese dann mit dem Befehl sortrows zu sortieren. Da die Daten aber unterschiedlichen Datentyps sind, klappt das nicht.
Es wäre zwar ein Leichtes, die Daten einfach im selben Format zu speichern (z.B. cell) und dann zu sortieren (in einer Matrix, innerhalb eines Cell-Arrays oder mittels dataset(...)) etc), da es dafür ja entsprechende Funktionen gibt. Bloß leider brauch ich die Daten nach dem Sortieren wieder in ihrem ursprünglichen Format. Aber leider klappt eine Konvertierung ins ursprüngliche Format nicht, da es Funktionen wie cell2num etc. nicht gibt.
Nun meine Frage: weiß jemand, wie ich die Daten trotzdem sortieren kann? Oder gibt es doch eine Möglichkeit, wenn ich die Daten z.B. als cell gespeichert habe wieder zurück in den ursprünglichen Typ zu konvertieren, die ich bloß noch nich gefunden habe?
Ich hoffe, ich hab mich einigermaßen verständlich ausgedrückt
und würde mich sehr freuen, wenn jemand eine Lösung hat. Also schon mal vielen Dank im Voraus.
|
|
|
|
|
Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 12.11.2009, 17:49
Titel:
|
 |
Hier ein Beispiel wie das funktionieren kann;
b kann dann auch ein anderer Datentyp sein.
Andreas
|
|
|
stewart |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.11.2009, 18:08
Titel:
|
 |
oh, doch so einfach
vielen dank! hast mir sehr geholfen!
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.11.2009, 18:10
Titel:
|
 |
|
|
s-t-e-w-a-r-t |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.11.2009, 00:01
Titel:
|
 |
Sorry, hab doch noch mal eine Frage. Der Vorschlag oben klappt ja gut, aber was ich eigentlich machen möchte, ist nicht nur nach einer Variablen z.B. a sortieren sondern anschließend die bereits sortierten Daten weiter sortieren, z.B. nach b,anschließend nach c etc., wobei die Sortierung nach a erhalten bleiben soll. Quasi das, was der Befehl sortrows(A, [a,b,c]) bei einer Matrix A macht.
Die erste Sortierung klappt ja problemlos so, wie Du es vorgeschlagen hast. Eine erneute Anwendung auf die Variable b ist ja dann nicht sinnvoll, weil die Sortierung nach a ja dann komplett über den Haufen geworfen. Gibt es irgendeine Möglichkeit mittels sort(), dass die vorherigen Sortierungen erhalten bleiben?
|
|
|
Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 13.11.2009, 11:45
Titel:
|
 |
|
|
|
|
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.
|
|