Generate a N length vector from a M length list (permutation)

1 visualización (últimos 30 días)
Yue Zhang
Yue Zhang el 2 de Sept. de 2019
Comentada: Yue Zhang el 2 de Sept. de 2019
I have want to generate a 5-element vector:
A = [a1, a2, a3, a4, a5]
such that each element (a1...a5) could take on one of the three values [1, 2, 3];
There should be 3^5 number of outputs.
It should be easy but i have been trying for the last 90 minutes and got no luck.
  4 comentarios
madhan ravi
madhan ravi el 2 de Sept. de 2019
You still haven’t answered Stephen’s last question.
Yue Zhang
Yue Zhang el 2 de Sept. de 2019
No. [1, 1, 1, 1, 2] and [1, 1, 1, 1, 2] should not be two different outputs. However [1, 1, 1, 1, 2] and [1, 1, 1, 2, 1] should.

Iniciar sesión para comentar.

Respuestas (2)

Walter Roberson
Walter Roberson el 2 de Sept. de 2019
[Ac{1:5}] = ndgrid(1:3);
result = cell2mat(cellfun(@(M) M(:), Ac, 'uniform', 0));

Andrei Bobrov
Andrei Bobrov el 2 de Sept. de 2019
out = fullfact(3*ones(1,5));

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by