文字列のセルを並べ替えて一意の行を取得しようとしています。 例:4つの値を与えています。これらの値を並べ替え、2つの行に戻します。これは下で動作しますが、私はいくつかの領域で行が繰り返されることに気付きます。私はユニークなコマンドを追加しようとしました=ユニークな(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両方のための作品次のコード:私はMatlabの
あなたは4つの要素のすべての順列を取得した後、最初の2つの列を取っている - そうout' 'の行が一意であるが、out''の最初の2つの列の行がありますない。 4つの要素のすべての組み合わせが欲しいですか? – Wolfie