|
|
|
Auslesen eines Vektors aus einer 4-D Matrix |
|
| jack_24 |

Forum-Anfänger
|
 |
Beiträge: 27
|
 |
|
 |
Anmeldedatum: 06.01.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.04.2010, 15:42
Titel: Auslesen eines Vektors aus einer 4-D Matrix
|
 |
Hallo
Ich würde gern aus einer 4-D Matrix einen Vektor herauslesen.
Nehmen wir z.b. an, die Matrix hat folgende Größe:
Wenn ich nun eine Vektor auslesen möchte:
..dann mach mit MATLAB daraus wieder eine Matrix mit der Größe:
Entweder ich hab einen Denkfehler oder ich versteh MATLAB nicht mehr.
Nach meiner Logik müsste doch aber:
herauskommen.
Kann mir jemand helfen.
Danke und beste Grüße
|
|
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 11.04.2010, 17:36
Titel:
|
 |
Hallo,
die hier angewendete Regel ist, dass bei >2-dimensionalen Variablen die Anzahl der Dimensionen bei der Indizierung über mehrere Elemente gleich bleibt. Abschließende Singleton-Dimensionen (=1) nach der zweiten Dim. werden gestrichen. Daher:
Wenn du die Dimensionen anders haben möchtest, hilft RESHAPE.
Grüße,
Harald
|
|
|
|
| jack_24 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 27
|
 |
|
 |
Anmeldedatum: 06.01.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.04.2010, 18:09
Titel:
|
 |
Und wie müsste das dann mit "reshape" aussehen, wenn ich beispielsweise die 3 Elemente der 3. Dimension einer 3-D Matrix:
in einen Vektor reinschreiben möchte, so das gilt:
ohne es natürlich so umständlich aufschreiben zu müssen.
Beste Grüße
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 11.04.2010, 18:18
Titel:
|
 |
|
|
|
| jack_24 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 27
|
 |
|
 |
Anmeldedatum: 06.01.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.04.2010, 18:25
Titel:
|
 |
Vielen Dank
Aber an dieser Stelle frag ich mich echt, wieso ist das so kompliziert mit >2 dimensionalen Matrizen in MATLAB. Das würde viele Messanwendungen leichter machen und vor allem logischer.
|
|
|
|
| Marek |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.02.2012, 13:34
Titel: squeeze
|
 |
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 22.02.2012, 18:38
Titel:
|
 |
Hallo jack_24,
Ich finde die Schreibweise nicht kompliziert - im Gegenteil! Wenn ich das mit entsprechenden C++-Bibiliotheken vergleiche...
Es ist einfach nicht eindeutig, welche Dimension ein X(i,j,:,k) Vektor besitzen soll. Deshalb muss man sie manuell festlegen. Immerhin funktioniert dies automatisch:
Das hat aber den großen Nachteil, dass man die Dimension, über die summiert wird, nicht eindeutig bestimmt. Z.B.:
Das lieftert den Mittelwert über die erste Dimension, wenn und nur wenn n größer als 1 ist. In einem zuverlässigen Programm sollte man deshalb unbedingt die Dimension festlegen:
Gruß, Jan
|
|
|
|
|
|
|
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.
|
|