pro*_*sor 3 matlab mode cell-array
对于我的代码,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
Run Code Online (Sandbox Code Playgroud)
我怎样才能获得这些细胞元素的最重复值(我认为该范式是'14')?我不想要它的索引值.我试过了
idxcell{:,1}
temp = idxcell{:,1};
M = mode(temp)
Run Code Online (Sandbox Code Playgroud)
但只得到第一个单元格的结果,我不确定mode()是我必须用于我的目的.
这是由angainor回答的: mode([idxcell{:}])
修订:也可以一次搜索所有单元格数组/行,进行i次迭代以找到最重复的值并按降序排列单元格或矩阵内的结果(大多数重复到更少)?
|在angainor的提示之后我回答:Sort = sort([idxcell{:}])
提前致谢.
如果我理解正确,您需要在调用之前将所有单元格向量连接成一个 mode
mode([idxcell{:}])
ans =
13
Run Code Online (Sandbox Code Playgroud)
如果您想获得所有单元格中最常出现的值,则可以使用 cellfun
cellfun(@mode, idxcell)
ans =
9 10 14 15 19 20 24 25
Run Code Online (Sandbox Code Playgroud)