how to get permutation of each rows of matrix

3 views (last 30 days)
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

Accepted Answer

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

More Answers (1)

Thomas
Thomas on 21 May 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 Comment
frwmetric
frwmetric on 21 May 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?

Sign in to comment.

Categories

Find more on Multidimensional Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!