how to get permutation of each rows of matrix

3 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

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

Più risposte (1)

Thomas
Thomas il 21 Mag 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 Commento
frwmetric
frwmetric il 21 Mag 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?

Accedi per commentare.

Categorie

Scopri di più su Multidimensional Arrays in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by