|
|
Alle horizontalen Permutationen einer m kreuz n Matrix |
|
tosten84 |

Forum-Anfänger
|
 |
Beiträge: 15
|
 |
|
 |
Anmeldedatum: 10.05.10
|
 |
|
 |
Wohnort: Wesseling
|
 |
|
 |
Version: R2007b R2010a
|
 |
|
|
 |
|
Verfasst am: 02.11.2010, 15:16
Titel: Alle horizontalen Permutationen einer m kreuz n Matrix
|
 |
Hallo,
habe ein Problem mit einer Matrix Operation.
und zwar sei gegeben eine m kreuz n Matrix.
Ich will nun alle Möglichkeiten nach folgender Reihe berechnen (wobei a die Matrix ist):
a(1,1)+a(1,2)+...+a(1,n)
. . .
. . .
. . .
a(m,1)+(m,2)+...+a(m,n)
Hat Matlab dafür villeicht schon eine Funktion?
Da die Dimensionen nicht fix im Programmablauf sind sonden sich bei jedem start des Programms ändern kann ich es leider nicht mit for schleifen addieren. Wäre dankbar für eure Hilfe.
Grüße
Tobias[/img][/code]
|
|
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.11.2010, 15:49
Titel:
|
 |
sum(A) sollte gehen. oder halt transponiert. weiß nicht genau ob er es spaltenweise oder zeilenweise macht. musst mal ausprobieren.
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 02.11.2010, 16:04
Titel: Re: Alle horizontalen Permutationen einer m kreuz n Matrix
|
 |
Hallo tosten84,
Zitat: |
a(1,1)+a(1,2)+...+a(1,n)
. . .
a(m,1)+(m,2)+...+a(m,n)
|
Das ist nicht eindeutig. Wie sieht denn die 2. Zeile aus?
oder
??
Gruß, Jan
|
|
|
Vito |

Forum-Guru
|
 |
Beiträge: 315
|
 |
|
 |
Anmeldedatum: 02.11.09
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.11.2010, 16:09
Titel:
|
 |
Hi,
das machst du so:
Gruß,
Vito
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 02.11.2010, 16:49
Titel:
|
 |
Hallo Vito,
Die Dimension anzugeben, über die summiert werden soll, ist effizienter als zweimaliges Transponieren. Siehe "help sum".
Aber wenn tosten84 von "Permutationen" spricht, gehe ich davon aus, dass er nicht einfach Zeilen-Summen meint.
Die Funktion VChooseKRO aus der FEX kann die Indices aller Permutationen erzeugen. Bevor ich aber ein Beispiel zusammenbastele, würde ich doch gerne noch wissen, was genau tosten84 möchte.
Gruß, Jan
|
|
|
tosten84 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 15
|
 |
|
 |
Anmeldedatum: 10.05.10
|
 |
|
 |
Wohnort: Wesseling
|
 |
|
 |
Version: R2007b R2010a
|
 |
|
|
 |
|
Verfasst am: 09.11.2010, 10:49
Titel:
|
 |
Hi, sorry das ich erst so spät antworte, war im Urlaub.
Ja, ich meine nicht nur einfach die Summe aus einer Zeile. Das ist ja trivial.
Ich habe das beispiel von oben noch mal etwas erweitert,
ich hoffe so ist es etwas klarer
a(1,1)+a(1,2)+...+a(1,n)
a(1,1)+a(1,2)+...+a(2,n)
a(1,1)+a(1,2)+...+a(3,n)
. . .
. . .
a(1,1)+a(2,2)+...+a(1,n)
. . .
. . .
a(m,1)+a(m,2)+...+a(m-1,n)
a(m,1)+a(m,2)+...+a(m,n)
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 09.11.2010, 12:47
Titel:
|
 |
Hallo tosten84,
Zitat: |
a(1,1)+a(1,2)+...+a(1,n)
a(1,1)+a(1,2)+...+a(2,n)
...
a(m,1)+a(m,2)+...+a(m-1,n)
a(m,1)+a(m,2)+...+a(m,n) |
Jetzt ist es eindeutig. Hast Du eine Maximalgröße für "m" und "n"? Die Anzahl der Möglichlkeiten wächst mit M^K nämlich sehr schnell an.
Wie gesagt kann Dir VChooseKRO aus der FEX die gewünschten Permutationen schnell und effizient erzeugen. Es ist wahrscheinlich hilfreich, Integer-Typen als Indices zu verwenden, weil sie weniger Speicher beanspruchen.
Wenn Du keine C-Mex-Files kompilieren kannst oder möchtest, ist "Combinator" (Matt Fig) ein anderes sehr gutes Tool aus der FEX. Als M-File ist es deutlich langsamer und benötigt auch mehr Speicher für die Zwischenergebnisse. Aber wenn es für Deine "n" und "m" reicht, tut es auch genau was es soll.
Gruß, Jan
|
|
|
tosten84 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 15
|
 |
|
 |
Anmeldedatum: 10.05.10
|
 |
|
 |
Wohnort: Wesseling
|
 |
|
 |
Version: R2007b R2010a
|
 |
|
|
 |
|
Verfasst am: 09.11.2010, 12:55
Titel: Jo, das wars... Danke!
|
 |
Hi, danke schon mal. Über combinator bin ich auch grade vor 5 Minuten gestoßen, das löst mein Problem einwandfrei, habs als M-file und das funktioniert. Ja bei großem M und N werd ich Probleme bekommen, aber ich denke das wird sich im Rahmen halten.
Danke für die schnelle Antwort und kompliment ans Forum.
Ciao
|
|
|
|
|
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.
|
|