|
junge21 |

Forum-Newbie
|
 |
Beiträge: 9
|
 |
|
 |
Anmeldedatum: 09.06.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.07.2011, 19:18
Titel: Permutation der Matrix
|
 |
Hallo!
Kann mir jemand sagen, wie ich die Matrizen permutieren kann. Also am Beispiel:
Ich habe folgende 3x3 Matrix: M=([1 2 3; 4 5 6; 7 8 9])
Ich will nun alle mögliche Permutationen davon haben. Also sowas wie:
M1=([1 2 3; 4 5 6; 7 8 9]), M2=([1 3 2; 4 5 6; 7 8 9]) usw.
Also ich bräuchte praktisch gleichen Befehl wie "perms", aber nur für Matrizen. Geht das überhaupt?
Danke im Voraus.
|
|
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 07.07.2011, 19:36
Titel:
|
 |
Es gibt diesen Befehl für Matrizen
Da musst du dann aber explizit über order angegeben was getauscht werden soll.
|
|
|
junge21 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 9
|
 |
|
 |
Anmeldedatum: 09.06.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.07.2011, 20:08
Titel:
|
 |
DSP hat Folgendes geschrieben: |
Es gibt diesen Befehl für Matrizen
Da musst du dann aber explizit über order angegeben was getauscht werden soll. |
Können Sie mir das bitte genauer am Beispiel erklären. Wie kann man daraus alle mögliche Permutationen einer nxn Matrix darstellen lassen?
Diesen Befehl habe ich auch in MatLab-Bibliothek gefunden...aber verstehen kann ich das leider nicht so.
|
|
|
eupho |

Forum-Meister
|
 |
Beiträge: 777
|
 |
|
 |
Anmeldedatum: 07.01.09
|
 |
|
 |
Wohnort: Marburg
|
 |
|
 |
Version: R2009b
|
 |
|
|
 |
|
Verfasst am: 07.07.2011, 20:31
Titel:
|
 |
funktioniert doch. Danach kannst du mit reshape() die einzelnen Zeilen wieder zu einer 3x3 Matrix machen.
|
|
|
junge21 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 9
|
 |
|
 |
Anmeldedatum: 09.06.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.07.2011, 20:40
Titel:
|
 |
eupho hat Folgendes geschrieben: |
funktioniert doch. Danach kannst du mit reshape() die einzelnen Zeilen wieder zu einer 3x3 Matrix machen. |
Das ist gar nicht das, was ich wollte. Ich hätte gerne alle Permutationen von MATRIZEN! Was Sie mir schreiben ist nichts anderes als einfach "perms(M)". Also Permutationen von Vektoren.
|
|
|
eupho |

Forum-Meister
|
 |
Beiträge: 777
|
 |
|
 |
Anmeldedatum: 07.01.09
|
 |
|
 |
Wohnort: Marburg
|
 |
|
 |
Version: R2009b
|
 |
|
|
 |
|
Verfasst am: 07.07.2011, 21:32
Titel:
|
 |
Was sind denn nach deiner Auffassung Permutationen von Matrizen? Willst du nur Spalten oder nur Zeilen permutieren? Dann brauchst du permute. Willst du alles permutieren, dann nimmst du meinen Vorschlag und machst ggfs einen reshape.
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 07.07.2011, 23:33
Titel: Re: Permutation der Matrix
|
 |
Hallo junge21,
Die Variablen "M1", "M2" etc dynamisch zu erstellen ist eine schlechte Idee. Verwende besser ein Cell Array.
Ich halte euphos Vorschlag aber für zielführender: Einfach die Zeilen von "perms(M)" zu benutzen ist effizienter als 362.880 einzelne Matrizen zu erstellen. Wenn Du M als DOUBLE speicherst, verbracuht das zwar nur 200MB. Für eine 3x4 Matrix sprengt das aber bereits den Rahmen üblicher Computer. Deswegen werden Permutationen überlicherweise dynamisch erzeugt, also eine nach der anderen.
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.
|
|