在matlab中,如果你有一个矩阵A
,你可以找到B
包含所有唯一行的矩阵A
,如下所示:
B = unique(A,'rows');
我所拥有的是一个 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