我在MATLAB中有一个 45x2 单元格,第一列是任意大小的双精度矩阵。
其中一些矩阵是重复的,而另一些则不是。我试图只去除唯一的矩阵(但记录重复次数),并保持第二列不变。
我尝试了很多东西(表格,hist 等),但由于细胞结构(我认为),它们都失败了。如果不逐个循环遍历它们,该怎么做呢?
如果将矩阵转换为字符串,则可以对它们运行 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);