在MATLAB中,如果你有一个矩阵A
你可以找到矩阵B
包含所有的A
中的唯一行如下:如何获得矩阵的独特切片?
B = unique(A,'rows');
我所拥有的是一个三维矩阵,以行和列第一两个维度和一个额外维度('切片')。
如何获得矩阵中包含所有独特切片的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