Verfasst am: 22.02.2010, 22:29
Titel: Problem mit reshape
Hallo,
eigentlich kam ich bisher mit "reshape" immer gut klar, aber irgendwie krieg ich eine bestimmte Matrix nicht "gereshaped".
Die Matrix (im Anhang) hat eine Größe von 20 x 10. Ich möchte sie zu einer Matrix 50 x 4 reshapen.
Ich hab folgendes versucht:
weil ja in der Dokumentation von "reshape" steht, dass dabei spaltenweise vorgegangen wird.
Dann hab ich es ohne "permute" verscuht, das klappte natürlich nicht.
Wie bekomme ich meine Werte in die richtige Reihenfolge?
Zur Erklärung: meine Ausgangsmatrix 20 x 10 enthält (blumig dargestellt:) 4 Obstsorten (Apfel, Birne, Kirsche, Erdbeere) und jede dieser Obstsorten liegt in jeweils 5 Größen vor. Ergibt also die 20 Zeilen der ersten Dimension. Die zweite Dimension sind 10 Leute, die eben jeweils diese 4 Obstsorten in jeweils 5 Größen besitzen.
Meine 50 x 4 Matrix soll so aussehen: die 4 Spalten (2. Dimension) sind die Obstsorten und zeilenweise sollen immer die 5 Größen pro Leut angeordnet sein. Also: 1. Zeile: Größe 1 von Leut 1; 2. Zeile Größe 2 von Leut 1; 3. Zeile Größe 3 von Leut 1; usw.
Sorry für die späte Antwort. Ich bin erst jetzt dazu gekommen, das zu testen.
Und: Tausend Dank LittleX! Das hat funktioniert! Ist genau das, was ich haben wollte!!!
Nur habe ich leider noch nicht ganz verstanden, warum man das so umständlich machen muss. Für eine kurze Erklärung zum Verständnis wäre ich sehr dankbar.
Noch ein Nachtrag:
ich hatte selbst auch eine umständliche Lösung probiert, die zwar ähnlich ist wie Deine, LittleX, aber wohl doch irgendwo einen entscheidenden Fehler beinhaltet. Leider weiß ich nicht, an welcher Stelle:
die Frage ist halt wie Du das angeordnet haben willst.
Meine erste Lösung hat die einzelnen Obstsorten spaltenweise abgearbeitet (also erst den Block Apfel spalten weise in die erste Spalte geschrieben, dann den Block Birne usw). Dazu musste ich in einem Zwischenschritt die Daten bisschen umsortieren.
Damit hättest Du auch die Obstsorten in den Spalten, aber halt zeilweisen ausgelesen. Das hier entspricht dann auch der Variante mit permute (ist mit den Parametern nichts anderes als transponieren).
Viele Grüße,
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
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.