All possible Permutations for vector
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Marco Gaetani d'Aragona
le 19 Mar 2021
Commenté : Marco Gaetani d'Aragona
le 19 Mar 2021
Hi,
I want to create a permutation starting from a vector. For example:
V=[3 3 5]
I want every possible permutation considering values lower or equal to that of the each column, so that the first column can contain number from 1 to 3, the second from 1 to 3 and the third from 1 to 5, without repetitions. In this case:
1 1 1
2 1 1
3 1 1
1 2 1
2 2 1
3 2 1
1 3 1
2 3 1
3 3 1
1 1 2
2 1 2
3 1 2
....
3 3 5
Any suggestion on how to do that?
Thank you
0 commentaires
Réponse acceptée
Matt J
le 19 Mar 2021
V=[3,3,5];
n=numel(V);
Vc=cellfun(@(x) 1:x, num2cell(V), 'uni',0);
[C{1:n}]=ndgrid(Vc{:});
out=reshape( cat(n+1,C{:}) ,[],n)
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Elementary Math 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!