matlab では、行列がある場合、次のように一意の行をすべて含むA
行列を見つけることができます。B
A
B = unique(A,'rows');
私が持っているのは、最初の 2 つの次元として行と列を持ち、1 つの追加の次元 (「スライス」) を持つ 3d マトリックスです。
マトリックス内のすべての一意のスライスを含む 3d マトリックスを取得するにはどうすればよいA
ですか? 私が欲しい機能の種類の例を次に示します。
>> A % print out A
A(:,:,1) =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
A(:,:,2) =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
A(:,:,3) =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
A(:,:,4) =
0 0 0 1
0 0 1 0
0 1 0 0
1 0 0 0
>> unique(A,'slices'); % get unique slices
A(:,:,1) =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
A(:,:,2) =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
A(:,:,3) =
0 0 0 1
0 0 1 0
0 1 0 0
1 0 0 0