matlab中如何找出一个数组中出现频率最多的元素

如题所述

    M = mode(A) 返回 A 的样本众数,即 A 中出现次数最多的值。

    M = mode(A,‘all’) 计算 A 的所有元素的众数。

    M = mode(A,dim) 返回维度 dim 上的元素的模式。例如,如果 A 为矩阵,则 mode(A,2) 是包含每一行的出现次数最多值的列向量。

    M = mode(A,vecdim) 计算向量 vecdim 所指定的维度上的众数。例如,如果 A 是矩阵,则 mode(A,[1 2]) 是 A 中所有元素的众数,因为矩阵的每个元素都包含在由维度 1 和 2 定义的数组切片中。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-22
A=[1 2 2 5 5 6 3 8];%expample:any vector
table=tabulate(A);
[F,I]=max(table(:,2));
I=find(table(:,2)==F);
result=table(I,1)

频率最多的元素可能有多个,该程序可以
找到全部的结果,F即为频数本回答被提问者采纳