Mathematik- bzw. Excel- bzw. Statistikproblem: Korrekte Anzahl an Kombinationen

  • Hi,


    ich möchte in Excel alle möglichen Kombinationen auflisten.
    A, B und C können Werte zwischen 0,0 und 5,0 mit einer Nachkommastelle annehmen (0,0 0,1 0,2... 4,8 4,9 5,0).
    A, B und C muss in der Summe stets 5 ergeben.
    Es sollen keine Duplikate bestehen (5,0 - 0,0 - 0,0 nur einmal. 5,0 - 0,0 - 0,0 / 0,0 - 5,0 - 0,0 / 0,0 - 0,0 - 5,0 ist möglich).


    Was ich suche ist primär die Auflistung der Kombinationen, nicht die Anzahl. Aber das ist denke ich der wichtigere Schritt.


    Wer kennt sich aus?


    Danke :top:



    (P.S. Ich bin folgendermaßen vorgegangen:
    A stets 0,0
    B 0,1 0,2 0,3 bis 2,5 (ab da nur noch Duplikate)
    C=5-B-A


    Dann das Ganze für A=0,1 bis A=2,5 wiederholt.
    Das alleine ergibt 676 Kombinationen. B und C kann aber getauscht sein, A kann an zweiter oder dritter Stelle sein -> 6 Möglichkeiten => 6*676=4056
    Dadurch sind sehr viele Duplikate entstanden, die ich per Hand entfernen muss -> fehleranfällig)


    P.P.S. Ist kein Hausaufgabe oder so, sondern ein Teil einer größeren Berechnung eines Maximalwerts.

  • Was meinst Du denn mit Duplikaten?
    5,0 - 0,0 - 0,0
    5,0 - 0,0 - 0,0
    5,0 - 0,0 - 0,0


    oder


    5,0 - 0,0 - 0,0
    0,0 - 5,0 - 0,0
    0,0 - 0,0 - 5,0

    Das Experiment erfordert, dass Sie weitermachen!


  • Dein erstes Beispiel ist ein Duplikat, dein zweites nicht.

  • Dann versteh ich aber nicht, warum Du bei 2,5 aufhörst...
    Im Prinzip hast Du z.B. bei A=0,0 2*51 Kombinationen, weil B und C getauscht werden können, die Summe bleibt trotzdem 5.


    Da A 51 Werte aufweist, gibt es also für alle A von 0 bis 5 51*2*51 = 5202 Kombinationen.
    Das mal 3 wegen der 3 Variablen ergibt 15606 Kombinationen insgesamt, davon gehen noch die Dubletten ab.

    Das Experiment erfordert, dass Sie weitermachen!

  • Ich höre bei 2,5 auf, da ich im zweiten Schritt einfach A, B Und C durchgerauscht habe.


    Einfaches Beispiel:
    Ganze Zahlen bis 5.
    A 0 1 2
    B 0 2 3
    C 5 0 0


    Dadurch dass ich dann die Buchstaben vertausche, brauche ich bspw 3-2-0 nicht mehr.


    Es gibt bestimmt elegantere Lösungen, daher Frage ich ja :)


    Danke schonmal an weitere Helfende :top:

  • Also ich hab 1284 Kombinationen raus, hab das aber auch nur schnell in 2 min hingeschmiert und nicht nachgedacht ob das jetzt deinen Anforderungen genügt.
    Aber es zahlt sich im allgemeinen halt doch aus mal 5 min für eine Programmiersprache hinzulegen.



    Sub Makro1()
    z = 0
    For A = 0 To 5 Step 0.1
    For B = 0 To 5 - A Step 0.1
    C = 5 - B - A
    z = z + 1
    ActiveSheet.Cells(z, 1) = A
    ActiveSheet.Cells(z, 2) = B
    ActiveSheet.Cells(z, 3) = C
    Next
    Next
    End Sub

  • VBA kann ich leider nicht benutzen, da ich mit Office Mac 2008 arbeite.


    Ich komme nun auf 1326 Kombinationen.


    Wenn ich mit gleichem Schema vereinfacht von ganzen Zahlen ausgehe, komme ich auf 21 Kombinationen.
    Diese sind im Screenshot dargestellt.


    Müsste korrekt sein, oder?
    Nur welche mathematische Formel steckt dahinter?



    Edit:


    Geht wohl in Richtung Gaußsche Summenformel, passt aber nicht ganz.
    Jedenfalls beruht meine Denke darauf, dass (im Ganzzahligen Beispiel) gilt:
    Wenn A=0 -> 6 Möglichkeiten
    Wenn A=1 -> 5 Möglichkeiten usw. bis
    Wenn A=5 -> 1 Möglichkeit.


    => 6+5+4+3+2+1 = 21 Möglichkeiten


    Damit würde der kleine Gauß nach n(n+1)/2 gelten, denn n=6


    Stimmts? Mathematischer Hintergrund korrekt?


    Danke :top:

  • A kann 51 verschiedene Werte annehmen. Für jedes k mit 0 <= k <= 50 gilt: A = 0,1k


    Dann gibt es für jedes k genau (51 - k) Möglichkeiten, eine Summe mit B + C = 5 - A zu bilden.


    Die Gesamtzahl aller Möglichkeiten ist dann (51*52)/2 = 1326.


    Bsp.:


    k=0 A=0,1*0=0 -> 51-0=51 mögliche Summen B+C=5-0=5


    k=1 A=0,1*1=0,1 -> 51-1=50 mögliche Summen B+C=5-0,1=4,9


    k=2 A=0,1*2=0,2 -> 51-2=49 mögliche Summen B+C=5-0,2=4,8


    .
    .
    .


    k=49 A=0,1*49=4,9 -> 51-49=2 mögliche Summen B+C=5-4,9=0,1


    k=50 A=0,1*50=5,0 -> 51-50=1 mögliche Summe B+C=5-5=0



    Dopplungen kann ich keine entdecken (?).

  • So sehe ich es auch. Müsste auch so stimmen. Demnach gilt hier die Gaußsche Summenformel
    n(n+1)/2 = x wobei n=51 und damit x = 1326


    Danke euch :top:

  • grr, MS-VBA ist halt einfach keine vernünftige Programmiersprache......
    1326 ist natürlich richtig.


    Nur fürs Protokoll:
    Damit mein Code richtig läuft und auch 1326 Kombinationen macht, muss man verhindern, dass sich klein VBA nicht verzählt und wegen Rundungsfehlern dann schon bei 4,999999999999999999999 aufhört.


    Sub test2()
    z = 0
    For a = 0 To 5.01 Step 0.1
    For b = 0 To 5.01 - a Step 0.1
    c = 5 - b - a
    z = z + 1
    ActiveSheet.Cells(z, 1) = a
    ActiveSheet.Cells(z, 2) = b
    ActiveSheet.Cells(z, 3) = c
    Next
    Next


    End Sub


    Oder man vertraut erst recht nicht auf die Gleitzahlfähigkeiten von Excel und rechnet halt nur mit Ganzzahlen:


    Sub test3()
    z = 0
    For a = 0 To 50
    For b = 0 To 50 - a
    c = 50 - b - a
    z = z + 1
    ActiveSheet.Cells(z, 1) = a/10
    ActiveSheet.Cells(z, 2) = b/10
    ActiveSheet.Cells(z, 3) = c/10
    Next
    Next


    End Sub

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!