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

Alle möglichen Zahlenkombinationen gesucht

 

franky
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 07.06.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.06.2008, 17:52     Titel: Alle möglichen Zahlenkombinationen gesucht
  Antworten mit Zitat      
Hallo,

ich stehe vor einem vermeintlich einfachen Problem, das ich nach viel Recherche und Überlegerei nicht lösen konnte:

Ich suche nach einer Funktion, mit der ich eine Ergebnismatrix erhalte, die alle möglichen Zahlenkombinationen enthält, nämlich so:

Y soll die gewünschte Matrix sein, und zwar mit a Spalten und b^a Zeilen.

dim(Y) = (b^a) x a

Jede Zeile in Y ist eines der gesuchten Ergebnisse.

Sei a=5 und b=1:3. Damit sind die möglichen Kombinationen mit 3^5 gegeben, also 3*3*3*3*3.

Y soll nun so aussehen:

1 1 1 1 1
2 1 1 1 1
3 1 1 1 1
1 2 1 1 1
1 3 1 1 1
1 1 2 1 1
[...]
(3^5=243 Zeilen)

eben alle Kombinationsmöglichkeiten.

Hat jemand eine Lösung für das Problem? Ich habe es mit for-Schleifen versucht und mit Permutationsbefehlen, bei denen allerdings keine Zahlenwiederholungen enthalten sind, also 1 1 1 1 1 z.B. ausgeschlossen ist (Stichwort: Fakultät).

Ich benötige die Matrix Y, um alle möglichen Koeffizienten für eine numerische Lösung einer trigonometrischen Fragestellung zu erhalten.

Gruß
Franky
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 07.06.2008, 20:06     Titel:
  Antworten mit Zitat      
Hallo
hast du dir den Befehl perms schon angeschaut?
Code:
Private Nachricht senden Benutzer-Profile anzeigen
 
franky
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 07.06.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.06.2008, 13:26     Titel:
  Antworten mit Zitat      
"perms" habe ich mir angeschaut. das problem ist, das perms(1:3) nur

3 2 1
3 1 2
2 3 1
2 1 3
1 2 3
1 3 2


herauswirft. ich brauche aber alle alle kombinationsmöglichkeiten, also 3^3=27 stück. es fehlen beispielsweise die 1 1 1, die 2 2 1 usw.
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 08.06.2008, 14:11     Titel:
  Antworten mit Zitat      
Hallo Franky,
Es gibt auf Fileexchange eine Funktion, die dir alle Deine Kobinationen berechnet wird, heißt combn
Code:

%
Elemente   = 1:3;
AnzSpalten = 5;
A = combn(Elemente, AnzSpalten);
 


PS:
Komisch, dass ich diese Funktion jetzt finde,
habe nämlich für meine Diplomarbeit auch gebraucht. Na ja musste selber damals programmieren.
Private Nachricht senden Benutzer-Profile anzeigen
 
franky
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 07.06.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.06.2008, 21:29     Titel:
  Antworten mit Zitat      
oh mann, danke!
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.