If I have a vector [1 2 3] and I want all combinations of these values along 6 elements so I will have (3^6) combinations in one vector, How can I do?

3 vues (au cours des 30 derniers jours)
If I have a vector [1 2 3] and I want all combinations of these values along 6 elements so I will have (3^6) combinations in one vector, How can I do?

Réponse acceptée

Guillaume
Guillaume le 31 Mai 2017
Most likely there's already an implementation on the FileExchange. Otherwise, it's easy to implement:
elements = [1 2 3];
count = 6;
combs = cell(1, count);
[combs{:}] = ndgrid(elements);
combs = reshape(cat(count + 1, combs{:}), [], count)

Plus de réponses (1)

ES
ES le 31 Mai 2017
perms
example:
perms(repmat([1 2 3], 1,2))
  1 commentaire
Guillaume
Guillaume le 31 Mai 2017
I'm fairly certain that's not what is asked, if only for the fact that this does not generate 3^6 entries.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by