Matlab中的二维唯一值

mad*_*mad 0 arrays matlab

我有两个向量,其中一个存储一组图像的宽度尺寸,另一个存储这些图像集的高度.

我想将这些值用作二维向量[width height]并将它们存储在矩阵中.例如,第一行保持宽度,第二行保持高度.

是否可以在matlab中使用unique()函数来返回二维唯一值?我的意思是,值可以在一个维度上重复,但是这两个维度不能与另一个维度相同?

如何在Matlab中做到这一点?

一个例子:给定以下矩阵,每列具有二维向量.我想要二维独特的向量.值可以在一个维度中重复,但不能在两个维度中重复.

是)我有的:

[1,2,3,1;
 4,5,6,4]
Run Code Online (Sandbox Code Playgroud)

我想要输出:

[1,2,3;
 4,5,6]
Run Code Online (Sandbox Code Playgroud)

zee*_*eez 5

查看文档unique.

假设widths并且heights是列向量,

[C,ia,ic] = unique([widths, heights],'rows')
Run Code Online (Sandbox Code Playgroud)

相反,如果widthsheights是行向量,

[C,ia,ic] = unique([widths; heights].','rows')
Run Code Online (Sandbox Code Playgroud)

  • 由于它正在寻找独特的行,您必须转置矩阵.`unique([1,2,3,1; 4,5,6,4]','rows')`将起作用. (3认同)