문자열 셀을 순열 바꾸고 고유 한 행을 다시 가져 오려고합니다. 예 : 4 개의 값을 지정하고 해당 값을 순열하여 2의 행으로 다시 값을 제공합니다. 이것은 아래에서 작동하지만 일부 영역에서는 행이 반복되는 것을 보았습니다. 나는 유일한 명령을 out = unique (perms (A), 'rows') 추가하려고 시도했지만 오류가 발생했다.문자열을 허용하고 고유 한 행 값을 가져 오는 중
clear all
more off
A={'(+)sig','(-)sig','(+)flip','(-)flip'}
out=perms(A);
for n=1:length(out)
%fprintf([num2str(n), ',', out{n,1},',',out{n,2},',',out{n,3},'\n'])
fprintf([num2str(n), ',', out{n,1},',',out{n,2},'\n'])
end
Results:
1,(+)sig,(-)sig
2,(-)sig,(+)sig
3,(+)sig,(+)flip
4,(-)sig,(+)flip
5,(+)flip,(+)sig
6,(+)flip,(-)sig
7,(+)sig,(-)sig
8,(-)sig,(+)sig
9,(+)sig,(+)flip
10,(-)sig,(+)flip
11,(+)flip,(+)sig
12,(+)flip,(-)sig
13,(+)sig,(-)flip
14,(-)sig,(-)flip
15,(+)sig,(-)flip
16,(-)sig,(-)flip
17,(+)flip,(-)flip
18,(+)flip,(-)flip
19,(-)flip,(+)sig
20,(-)flip,(-)sig
21,(-)flip,(+)sig
22,(-)flip,(-)sig
23,(-)flip,(+)flip
24,(-)flip,(+)flip
일부 값은 다음과 같이 중복되어 행이 고유 행이 될 수 있습니다.
1,(+)sig,(-)sig
7,(+)sig,(-)sig
2,(-)sig,(+)sig
8,(-)sig,(+)sig
etc..
시 : 코드 아래 MATLAB과 옥타브 4.0 모두 작동 : 나는
당신은 4 개 요소의 모든 순열을 받고, 다음 첫 번째 두 개의 열 복용 - 그래서 고유 out''의 행을하지만,'out'의 첫 번째 두 열의 행은 아니. 4 가지 요소의 모든 조합을 원하십니까? – Wolfie