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

2024-11-06 13:43:46
推荐回答(2个)
回答1:

  • 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 定义的数组切片中。

回答2:

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即为频数