how to get permutation of each rows of matrix

3 vues (au cours des 30 derniers jours)
frwmetric
frwmetric le 21 Mai 2013
hi
I want to get a matrix which consists all permutation of each rows of previous matrix... For example,
A =
1 2 2
2 2 3
result =
1 2 2
2 1 2
2 2 1
2 2 3
2 3 2
3 2 2

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 21 Mai 2013
out = [];
for j1 = 1:size(A,1)
out = [out;unique(perms(A(j1,:)),'rows')];
end

Plus de réponses (1)

Thomas
Thomas le 21 Mai 2013
a=[ 1 2 2
2 2 3];
for ii=1:size(a,1)
q(ii,:,:)=unique(perms(a(ii,:)),'rows');
end
out = reshape(q,[],size(a,2),1)
  1 commentaire
frwmetric
frwmetric le 21 Mai 2013
If I have an row like [a,a,a] your answer gives an error. Why? And do you have any idea how can I fix it?

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical 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