WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Kombinatorik ohne for-schleife

 

FrAnKy_0
Forum-Anfänger

Forum-Anfänger


Beiträge: 29
Anmeldedatum: 16.05.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.05.2018, 20:04     Titel: Kombinatorik ohne for-schleife
  Antworten mit Zitat      
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.
Private Nachricht senden Benutzer-Profile anzeigen


T16
Forum-Century

Forum-Century


Beiträge: 145
Anmeldedatum: 31.01.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.05.2018, 08:59     Titel:
  Antworten mit Zitat      
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 Smile


LG
T16
Private Nachricht senden Benutzer-Profile anzeigen
 
FrAnKy_0
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 29
Anmeldedatum: 16.05.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.05.2018, 13:05     Titel:
  Antworten mit Zitat      
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:

Code:
z=1;
for a=1:4
    for b=1:4
        for c=1:4
            for d=1:4
               
                K(z,:)=[modul.slots(a),modul.slots(b),modul.slots(c),modul.slots(d)]
                z=z+1;
            end
        end
    end
end
 



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!
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.