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

Liste mit Faktorkombinationen

 

EkilDog
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 16.08.08
Wohnort: Darmstadt
Version: ---
     Beitrag Verfasst am: 16.08.2008, 11:07     Titel: Liste mit Faktorkombinationen
  Antworten mit Zitat      
Ich versuche automatisch eine Liste mit allen Faktorstufenkombinationen für k Faktoren zu erstellen und diese mit statdisptable in einer Tabelle darzustellen

Letztendlich muss sie zB für k=3 so aussehen:

names={'A';'B';'C';'AB';'AC';'BC';'ABC'} damit sie mit dem statdisptable dargestellt werden kann. (also als cell)


Dazu hab ich die Liste mit Buchstaben:
list={'A';'B';'C';'D';'E';'F';'G';'H';'I';'J';'K';'L';'M';'N';'O';'P';'Q';'R';'S';'T';'U';'V';'W';'X';'Y';'Z'};

Daraus kann ich zwar mit nchoosek(k,x) die Kombinationen für x=1..k erstellen, aber ich finde keine Möglichkeit diese dann so zusammenzuführen, dass das Ergebnis oben herrauskommt.

Geschafft habe ich zB soetwas:
names =

'A' [] []
'B' [] []
'C' [] []
'A' 'B' []
'A' 'C' []
'B' 'C' []
'A' 'B' 'C'

aber es sollte eben
names=

'A'
'B'
'C'
'AB'
'AC'
'BC'
'ABC'

herauskommen.

Wenn jemand eine Lösung für das Problem hat, wäre ich sehr dankbar.

Michael
Private Nachricht senden Benutzer-Profile anzeigen


EkilDog
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 16.08.08
Wohnort: Darmstadt
Version: ---
     Beitrag Verfasst am: 19.08.2008, 17:31     Titel:
  Antworten mit Zitat      
habs mir selber beantwortet, der vollständigkeit halbe aber mal der Code, vielleicht brauchts ja mal jemand:

Code:
function names=sourcenames(k)

            list={'A';'B';'C';'D';'E';'F';'G';'H';'I';'J';'K';'L';'M';'N';'O';'P';'Q';'R';'S';'T';'U';'V';'W';'X';'Y';'Z'};
                current=1;
                for i=1:k
                    l=nchoosek(list(1:k),i);
                    d=reshape(char(l),size(l,1),size(l,2));
                    names1(current:current+size(l,1)-1,1:i)=d;
                    current=current+size(l,1);
                end
                names=cell(2^k-1,1);
                for i=1:2^k-1
                    names(i)={deblank(names1(i,:))};
                end
end


Michael
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.