Erzeugen Sie eine Matrix mit allen Elementkombinationen aus n Vektoren

Diese Frage taucht in der einen oder anderen Form häufig auf (siehe zum BeispielHier oderHier). Deshalb dachte ich, ich würde es in einer allgemeinen Form präsentieren und eine Antwort geben, die als zukünftige Referenz dienen könnte.

Eine beliebige Zahl gegebenn von Vektoren möglicherweise unterschiedlicher Größe erzeugen einen- Spaltenmatrix, deren Zeilen alle Kombinationen von Elementen beschreiben, die aus diesen Vektoren entnommen wurden (kartesisches Produkt).

Zum Beispiel,

vectors = { [1 2], [3 6 9], [10 20] }

sollte geben

combs = [ 1     3    10
          1     3    20
          1     6    10
          1     6    20
          1     9    10
          1     9    20
          2     3    10
          2     3    20
          2     6    10
          2     6    20
          2     9    10
          2     9    20 ]

Antworten auf die Frage(4)

Ihre Antwort auf die Frage