6

我在MATLAB中有一个 45x2 单元格,第一列是任意大小的双精度矩阵。

其中一些矩阵是重复的,而另一些则不是。我试图只去除唯一的矩阵(但记录重复次数),并保持第二列不变。

我尝试了很多东西(表格,hist 等),但由于细胞结构(我认为),它们都失败了。如果不逐个循环遍历它们,该怎么做呢?

4

1 回答 1

11

如果将矩阵转换为字符串,则可以对它们运行 unique:

%# create a sample cell array
mc = {magic(3);magic(4);magic(4);magic(5);magic(3);magic(4)}

%# convert to strings
mcs = cellfun(@(x)(mat2str(x)),mc,'uniformoutput',false);

%# run unique
[uniqueCells,idxOfUnique,idxYouWant] = unique(mcs);
于 2010-03-06T12:29:19.703 回答