3

对我的代码 idxcell{:,1} 进行 1:10 迭代给出以下结果:

ans =
         9    10    14    15    19    20    24    25
    ans =
      Columns 1 through 13
         7     8    11    12    13    14    16    17    18    19    21    22    23
      Column 14
        24
    ans =
        13    14    15    18    19    20    23    24    25
    ans =
         6     7    11    12    16    17    21    22
    ans =
        16    17    21    22
    ans =
         6     7    11    12    13    16    17    21
    ans =
         4     5     8     9    10    13    14    15    19    20
    ans =
         4     5     8     9    10    14    15
    ans =
        11    12    13    14    16    17    18    19    21    22    23    24
    ans =
         1     2     3     6     7     8    11    12    13

我怎样才能获得这些单元格元素的重复值最多的值(我认为那个范式是'14')?我不想只索引它的值。我努力了

idxcell{:,1}
temp = idxcell{:,1};
M = mode(temp)

但只得到了第一个单元格的结果,我不确定 mode() 是我必须用于我的目的。


这是由angainor回答的: mode([idxcell{:}])


修订:是否可以一次搜索所有单元格数组/行进行 i 次迭代,以找到重复次数最多的值并对结果进行排序,重复次数最多的结果在单元格数组或矩阵中按降序排列?


|在angainor的提示后由我回答:Sort = sort([idxcell{:}])


提前致谢。

4

1 回答 1

8

如果我理解正确,您需要在调用之前将所有单元向量连接成一个mode

mode([idxcell{:}])
ans =

13

如果要获取所有单元格出现频率最高的值,可以使用cellfun

cellfun(@mode, idxcell)
ans =

 9    10    14    15    19    20    24    25
于 2012-11-20T19:36:03.747 回答