Verfasst am: 05.08.2015, 13:56
Titel: Dynamische Generierung von for-Schleifen
Hallo,
ich habe eine Matrix mit n*n Feldern. Nun möchte ich gerne, dass für die Matrix, dessen Größe ich vorher nicht weiß, alle möglichen Kombinationen gebildet werden und in einer neuen Matrix abgespeichert werden. Das Problem ist dabei für mich nicht die Bildung aller Kombinationen (verschachtelte for-Schleifen), sondern die dynamische Generierung der passenden Anzahl an for-Schleifen, da die Daten aus einer Exceldatei stammen, in der mehrere Sheets vorhanden sind mit jeweils unterschiedlich großen Matrizen.
rekursives vorgehen könnte eine möglichkeit sein.
um genauer helfen zu könnnen sehe ich leider in deinem problem zu wenig durch da die beschreibung doch sehr kurz ist.
ein minimalbeispiel wäre hilfreich.
dec2bin
könnte helfen oder auch
perms
falls anregungen gebraucht werden kann ich den post aus meiner signatur empfehlen.
_________________
Also das ganze sieht etwa so aus wie im Anhang (ohne die jeweiligen Lösungen natürlich) . Im Original stehen in den Feldern Satzfragmente und es sollen alle Sätze die möglich sind von den Programm gebildet werden.
Ich hatte es erst so gemacht, dass mir eine festgelgete Anzahl an Sätzen gebildet wird, indem Zufällig einzelne Felder aus verschiedenen Spalten miteinander kombiniert werden und anschließend überprüft wird, ob dieser Satz so schonmal vorher gebildet wurde, aber das dauert ewigkeiten, wenn ich wirklich alle Sätze haben möchte die theoretisch möglich sind (da ja die Auswahl per random erfolgt).
Sorry schwer zu beschreiben. Ich hoffe man kann in etwa verstehen was ich möchte
Data{1}=1; %index der spalte 1
Data{2}=1:3; %indexe der spalte 2
Data{3}=1:2; %indexe der spalte 3
Data{4}=1; %% zusätzliche spalte in der nur ein wert steht. weil hingemuscht.
l=prod(cellfun(@numel,Data));
m=numel(Data)-1;
kombis=nan(l,m);
danke, aber könntest du eventuell etwas genauer sagen, was du dir vorstellen kannst? Ich will ja nicht das du mir das fertig machst!! Nur eine grobe Struktur. Mit den einzelnen Befehlen alleine bin ich etwas überfordert...
das beispiel habe ich schon mal verstanden. Vielen Dank dafür! Wenn ich die Exceldatei mit den Satzteilen auslese erhalte ich ja den Inhalt (entweder mit NaN oder ohne). Nun gehe ich davon aus, dass ich den Inhalt zunächst in eine Form umwandeln muss, wie in deinem Beispiel "Daten". Ist das richtig? und wenn ja, wie muss das aussehen? Müssen alle Satzteile einer Spalte in einer Zelle stehen und welcher Datentyp muss das ein?
Ich hab leider generell schwierigkeiten mit den Datentypen
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
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.