how to get permutation of each rows of matrix

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

 채택된 답변

Andrei Bobrov
Andrei Bobrov 2013년 5월 21일

1 개 추천

out = [];
for j1 = 1:size(A,1)
out = [out;unique(perms(A(j1,:)),'rows')];
end

추가 답변 (1개)

Thomas
Thomas 2013년 5월 21일

1 개 추천

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

frwmetric
frwmetric 2013년 5월 21일
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?

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터 및 File Exchange에서 Logical에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by