Generieren Sie Kombinationen von Werten, die in absteigender Reihenfolge zu eins addiert werden

8

Kennen Sie einen effizienteren Weg, um eine Matrix zu erzeugen, die alle eindeutigen Kombinationen von "Gewichten" enthält (lassen Sie Gewichte w und 0 & lt; = w & lt; = 1 sein, und Werte von w sind durch Schritte von 0,1 getrennt), so dass die Gewichte zu eins addiert und das erste ist das höchste, das letzte das niedrigste Gewicht.

Hier ist Code, der den Job erledigt, aber es scheint ineffizient zu sein, Zeilen zu löschen:

%Vor%

Lassen Sie mich noch einige allgemeine Informationen hinzufügen: In diesem Problem (3 Gewichtungen in der obigen Reihenfolge) sind die oberen Grenzen für den ersten, zweiten, dritten Wert wie folgt:

  • die erste Zahl kann minimal 1 für die Kombination (1, 0, 0) sein
  • die zweite Zahl kann maximal 1/2 für die Kombination (1/2, 1/2, 0)
  • sein
  • die dritte Zahl kann maximal 1/3 für die Kombination (1/3, 1/3, 1/3)
  • betragen
JBJ 28.07.2015, 09:44
quelle

2 Antworten

4

Eine nicht base Möglichkeit:

%Vor%     
Henrik 28.07.2015, 11:14
quelle
1

Allzweckfunktion mit Standardpaketen:

%Vor%     
Yester 28.07.2015 11:16
quelle

Tags und Links