|
|
Kombinatorik ohne for-schleife |
|
FrAnKy_0 |
Forum-Anfänger
|
|
Beiträge: 29
|
|
|
|
Anmeldedatum: 16.05.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.05.2018, 20:04
Titel: Kombinatorik ohne for-schleife
|
|
Hallo liebes Forum,
meine Aufgabe ist es aus einer "Menge" von Zahlen alle möglichen Kombinationen zu erhalten (nicht die Anzahl der möglichen Kombinationen).
Bei dieser Menge handelt es sich um Elemente aus EINER Spalte einer Tabelle. Wichtig ist hierbei das die Anzahl der Elemente variieren soll bzw. der Code für eine beliebige Anzahl an Elementen zum Ziel führen muss.
Ich habe mir bereits etwas überlegt (werde ich bei Bedarf auch hochladen) dabei lasse ich über jedes Element dieser Spalte eine for schleife laufen.
So funktioniert es zwar jedoch ist die Anzahl der Elemente nicht veränderlich ohne das der Code angepasst werden muss.
Somit ist meine Lösung leider nicht optimal.
Ich hoffe sehr ihr könnt mir weiter helfen.
Danke im Voraus.
|
|
|
|
|
T16 |
Forum-Century
|
|
Beiträge: 145
|
|
|
|
Anmeldedatum: 31.01.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.05.2018, 08:59
Titel:
|
|
Alle möglichen Permutationen kannst du mit perms() ermitteln.
https://www.mathworks.com/help/matlab/ref/perms.html
Sonst kannst du deinen Code i.d.R. an verschieden große Vektoren/Matrizen anpassen indem du deren Länge mit length(), size() oder auch numel() ermittelst, wenn du deinen Code hochlädst können wir dir auch etwas spezifischer helfen
LG
T16
|
|
|
FrAnKy_0 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 29
|
|
|
|
Anmeldedatum: 16.05.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.05.2018, 13:05
Titel:
|
|
|
|
|
Danke schon mal für die Antwort. Leider hilft mir perms() nicht weiter. Wenn ich zb. die Zahlen von 1 bis 4 betrachte ist für mich z.b. auch die Kombination 1111 relevant. Um es vielleicht noch einmal etwas deutlicher zu machen was ich meine ist hier ein Beispiel:
Alle möglichen Kombinationen der Zahlen 1 bis 4 der länge x. Mit x=5 wäre für mich interessant
11111
11112......usw
wichtig ist das hier auch Kombinationen wie
11110 vorkommen können d.h die vierstellige Kombination (hier aus 1) muss mit Nullen bis auf die Länge x=5 aufgefüllt werden.
Was ebenfalls veränderlich sein soll ist die Anzahl der zu kombinierenden Zahlen.
Mein Code sieht wie folgt aus:
Dabei ist modul.slots(...) eines der Elemente aus der Spalte der Tabelle die oben erwähnt ist. Hier sind es nun 4 Elemente deshalb auch 4 for schleifen...nun würde ich aber gerne z.B. 3 weitere Elemente dazu nehmen ohne für jedes weitere Element eine for schleife hinzufügen zu müssen.
Ich hoffe mein Problem ist nun etwas klarer dargestellt.
Und vielen Dank schon mal!
|
|
|
|
|
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.
|
|