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

1 次查看(过去 30 天)
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 个评论
roger why
roger why 2021-3-17
the number of all combinations are 256 which is 4 to the power of 4. perms() gives only 24 of them.

请先登录,再进行评论。

采纳的回答

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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Multidimensional Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by