|
|
Kombinatorik für Matrizen |
|
ThoRie |
Forum-Anfänger
|
|
Beiträge: 34
|
|
|
|
Anmeldedatum: 22.05.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.08.2019, 00:32
Titel: Kombinatorik für Matrizen
|
|
Hallo,
ich habe mal ein ganz besonderes Anliegen. Und zwar muss ich eine bestimmte Berechnung durchführen und dafür brauche ich Kombinatorik. Genauer gesagt, suche ich eine Funktion, die für eine 3x3-Matrix der Form
mit
alle Möglichen Kombinationen nacheinander durchgeht.
Soll heißen, er soll halt alle Möglichkeiten mit a=1 probieren, dann alle mit a=2 usw. Dabei ist auch noch wichtig, dass Wiederholungen möglich sind. Es sind also insgesamt 6561 Möglichkeiten. Warum ich die nicht alle händisch durchspielen will, sollte sich damit also erübrigt haben.
Vielleicht kennt jemand ja eine Funktion, die genau das macht
|
|
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 04.08.2019, 15:17
Titel: Re: Kombinatorik für Matrizen
|
|
Hallo ThoRie,
Nein, es gibt keine Funktion, die genau das macht.
Ist das eine Hausaufgabe? Was hast du bereits selbst probiert? Welche Schwierigkeiten sind dabei aufgetreten?
Was bedeutet genau "Wiederholungen dürfen auftreten"?
Wie kommst du auf 6561=3^8 Lösungen? 4^9 wäre logischer.
Gruß, Jan
|
|
|
ThoRie |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 34
|
|
|
|
Anmeldedatum: 22.05.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.08.2019, 17:35
Titel:
|
|
Also zum einen habe ich schon probiert, dass ich ihm sagen wollte, dass er das erste Element von 0-3 hochzählen soll, dabei in jedem Schritt das nächste Element ebenso behandeln soll usw. Daran bin ich aber kläglich gescheitert.
ich werde gleich nochmal ein pdf erstellen, welches zeigt, was ich meine.
Und auf die Zahl bin ich gekommen, da ich ja 9 Positionen (3x3) mit je 4 Möglichkeiten habe, also dachte ich an die Berechnung 9^4.
Wiederholung heißt, dass auch wenn zum Beispiel auf Position 1 schon eine 0 steht, trotzdem auch auf einer anderen wieder eine 0 kommen kann.
|
|
|
ThoRie |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 34
|
|
|
|
Anmeldedatum: 22.05.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.08.2019, 17:50
Titel:
|
|
Also, ich glaube, ich bin raus, wenn nicht noch jemand mit den bisherigen Angaben eine zündende Idee hat.
Der Grund, warum ich es nicht als Code geschrieben bekomme ist tatsächlich der, dass ich es nicht mal für die ersten zwei Beispiele auf Papier hinkriege :/
Ich hoffe also, jemand hier kann sich vorstellen, wie ich das in meiner Beschreibung meinte :/
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 04.08.2019, 18:21
Titel:
|
|
Hallo,
Zitat: |
also dachte ich an die Berechnung 9^4. |
Es ist aber genau umgekehrt.
Wie wäre es damit?
https://www.mathworks.com/matlabcen.....xchange/11462-n_permute_k
Auf die Schnelle würde ich alternativ sagen:
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
ThoRie |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 34
|
|
|
|
Anmeldedatum: 22.05.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.08.2019, 19:38
Titel:
|
|
Also das mit der geschriebenen Funktion hatte ich schon versucht, aber das hat leider auch nicht geklappt.
Ich habe es jetzt zumindest erstmal so gelöst:
Das ist jetzt der komplette Code, der also nicht nur die komplette Kombinatorik macht, sondern auch das, was dann weiter damit geschehen soll. Er ist zwar alles andere als effizient, aber immerhin funktioniert er xD Da ich gerade einen Lauf mache, kann ich deinen Vorschlag leider nicht gleich ausprobieren, werde aber den nächsten Lauf einfach einmal damit versuchen. Dann gebe ich noch einmal Rückmeldung, ob der direkt funktioniert
Aber auf jeden Fall erstmal Danke für die Antwort
|
|
|
ThoRie |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 34
|
|
|
|
Anmeldedatum: 22.05.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.08.2019, 19:44
Titel:
|
|
Also das funktioniert zwar im Kern, aber in der Form, wie ich es brauche leider nicht.
Das ist aber nicht schlimm, da ich nur noch einen Lauf machen muss.
Damit ist dann eine weitere Antwort hier nicht mehr nötig.
Ich werde es dennoch als beantwortet markieren. Vielleicht hat ja irgendjemand mal ein ähnliches Problem, bei dem deine Antwort weiterhilft.
Also noch einmal Danke an euch beide für die Hilfe und die Zeit die ihr investiert habt
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 04.08.2019, 20:15
Titel:
|
|
Hallo,
Zitat: |
Also das funktioniert zwar im Kern, aber in der Form, wie ich es brauche leider nicht. |
Heißt nun was? Die Matrizen sind zwar da Zeilenvektoren, aber das sollte ja jetzt nicht das Problem sein. Was ist dann das Problem?
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
ThoRie |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 34
|
|
|
|
Anmeldedatum: 22.05.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.08.2019, 12:01
Titel:
|
|
Zitat: |
Heißt nun was? Die Matrizen sind zwar da Zeilenvektoren, aber das sollte ja jetzt nicht das Problem sein. Was ist dann das Problem? |
Das bezog sich auf eine Antwort, die irgendwie nicht mehr da ist :/
Aber mittlerweile habe ich es geschafft ein Skript zu schreiben, das mir alles anzeigt, was ich haben will:
Es kann zwar sein, dass das auch nicht unbedingt die effizienteste Variante ist, aber sie ist immerhin funktional und einfach
|
|
|
|
|
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 - 2024
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.
|
|