|
|
Zeilen mit gleicher Spalte in extra Array zerlegen |
|
Cappaja |

Forum-Anfänger
|
 |
Beiträge: 18
|
 |
|
 |
Anmeldedatum: 11.03.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.03.2011, 18:07
Titel: Zeilen mit gleicher Spalte in extra Array zerlegen
|
 |
Hallo,
ich habe ein extrem großes Array das u.a. die Spalte ID besitzt. Es gibt maximal 32 verschiedene ID's und alle Datensätze mit derselben ID möchte ich nun jeweils in ein extra Array ablegen. Wie stelle ich das an?
Die Matrix ist bereits nach ihrer ID aufsteigend sotiert. Die vorkommenden Datensätze pro ID sind zudem unterschiedlich groß.
Für Eure Hilfe wäre ich sehr dankbar!
Gruß Cappaja
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 11.03.2011, 18:20
Titel:
|
 |
Hallo,
soll das für eine oder für alle ID passieren?
In welcher Form liegen die Daten genau vor? Insbesondere, wie sieht das mit der unterschiedlichen Größe aus?
Grüße,
Harald
|
|
|
Cappaja |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 18
|
 |
|
 |
Anmeldedatum: 11.03.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.03.2011, 20:51
Titel:
|
 |
Hallo Harald,
Für jede der 32 ID möchte ich genau 1 Matrix. Ein Datensatz besteht aus 4 float Werten. Ich habe in meiner Textdatei 500.000 Datensätze, davon können 8 Datensätze die ID=2 haben und 10 Datensätze die ID=3. Das würde schonmal eine Matrix der Größe 4x8 für ID=2 und eine Matrix 4x10 für ID=3 geben. So meinte ich das mit den unterschiedlichen Größen in Bezug auf die Dimension der Matrix.
Gruß Cappaja
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 11.03.2011, 21:52
Titel:
|
 |
Hallo,
dann hast du 32 Matrizen, und was machst du mit ihnen? Sinnvoller wäre es meines Erachtens, die in Cell Arrays unterzubringen.
Ich gehe mal davon aus, dass die ID in der 1. Spalte ist. Dann wäre z.B. folgendes denkbar:
Grüße,
Harald
|
|
|
Cappaja |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 18
|
 |
|
 |
Anmeldedatum: 11.03.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.03.2011, 17:04
Titel:
|
 |
|
 |
|
Hallo Harald,
erst einmal Danke für die Antwort. Ich erhalte danach lediglich 32 Zellen der Größe 2x4 mit unterschiedlichen IDs, das ist nicht das wonach ich gesucht habe. Vielleicht formuliere ich am besten mein ursprüngliches Problem, denn mittlerweile glaube ich ebenfalls das die Unterteilung in einzelne Matrizen bzw. Zellen überflüssig sein könnte.
Ich habe es jetzt geschafft alle relevanten Zeilen aller Textdateien in eine riesige Matrix zu packen. Der nächste Schritt besteht darin, die Matrix nach identischen Zahlenpaaren bestehend aus ID (Spalte 1) und Timestamp (Spalte 2) zu durchsuchen, um diese neu selektierten Zeilen anschließend über die Spalten 3 und 4 zu korrelieren.
Ich dachte wenn ich alle Zeilen mit derselben ID und demselben Timestamp jeweils in einer Matrix habe, dass das Plotten und gegenseitige Korrelieren übersichtlicher und evtl auch performanter wird, anstatt ich für jede Korrelation bzw Plot die gesamte Matrix durchforsten muss. Daher die Zerlegung in Teilmatrizen.
Sollte jemand eine bessere Idee haben bin ich dafür offen.
Grüße Cappaja
|
|
|
Cappaja |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 18
|
 |
|
 |
Anmeldedatum: 11.03.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.03.2011, 14:06
Titel:
|
 |
Da niemand mehr ein besseren Vorschlag zu haben scheint, belasse ich jetzt mal dabei.
Ich stelle meine derzeitige Lösung dennoch mal zur Verfügung:
Hierbei wird eine ID (5) im großen Array gesucht und in ein extra Array abgespeichert. Das Beispiel ist nur für eine ID, eine for-schleife darüber mit fortlaufender Arrayzahl (sat1, sat2, ..., sat32) und man erhält 32 Arrays, eins für jede ID.
Grüße Cappaja
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 14.03.2011, 22:35
Titel:
|
 |
Hallo Cappaja,
Die Schleife kann man sich sparen:
Viel Erfolg, Jan
|
|
|
Cappaja |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 18
|
 |
|
 |
Anmeldedatum: 11.03.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.03.2011, 20:30
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.
|
|