Generate efficiently an array of all combinations of a range of elements

1 vue (au cours des 30 derniers jours)
I would like generate efficiently an array of all combinations of a range of integeers between 0 and 3. SO that each element of my array will be in the form of [i j k l] where i, j, k and l are from 0 to 3. I want to use build in Matlab functions Instead of looping like the following:
for i=0:3
for j=0:3
for k=0:3
for l=0:3
possibility=[i j k l];
end
end
end
end
  3 commentaires
roger why
roger why le 17 Mar 2021
the number of all combinations are 256 which is 4 to the power of 4. perms() gives only 24 of them.

Connectez-vous pour commenter.

Réponse acceptée

Mohammad Sami
Mohammad Sami le 18 Mar 2021
You can try the following.
[x1,x2,x3,x4] = ndgrid(0:3,0:3,0:3,0:3);
allpossible = [x1(:) x2(:) x3(:) x4(:)];

Plus de réponses (0)

Catégories

En savoir plus sur Multidimensional Arrays dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by