MATLAB Answers

how to get permutation of each rows of matrix

조회 수: 25(최근 30일)
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

  댓글 수: 0

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

채택된 답변

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

  댓글 수: 0

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

추가 답변(1개)

Thomas
Thomas 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

frwmetric
frwmetric 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?

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

Community Treasure Hunt

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

Start Hunting!

Translated by