Matlab:在范围内查找模式

标签 matlab mode

我有一个像这样的矩阵:

A=
    10 31 32 22
    32 35 52 77
    68 42 84 32

我需要一个类似 mode 但有范围的函数,例如返回 30 的 mymode(A,10),在 0-10、10-20、20-30 范围内找到最频繁出现的数字, .... 并返回范围内的最多数字。

最佳答案

您可以使用 histc将数据分箱到您想要的范围内,然后使用 max 找到成员最多的分箱关于 histc

的输出
ranges = 0:10:50;                 % your desired ranges
[n, bins] = histc(A(:), ranges);  % bin the data
[v,i] = max(n);                   % find the bin with most occurrences

[ranges(i) ranges(i+1)]           % edges of the most frequent bin

对于您的具体示例,这将返回

ans =

    30    40

这与您所需的输出相匹配,因为 A 中的大多数值在 30 到 40 之间。

关于Matlab:在范围内查找模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12419597/

相关文章:

matlab - 与父类(super class)和子类构造函数交互

matlab - 请求的函数输出参数

iphone - 设置uitableview的编辑模式禁用行选择

internet-explorer - 尝试使用 IE=EmulateIE7 在页面上的 iframe 中使用 IE=edge X-UA-Compatible

r - 特定列中最常见的因素 - 打破最近的联系

hadoop - 如何检查我的hadoop是否以伪分布式模式运行?

php - 如何使用 matlab 更新 phpmyAdmin 中的数据库?

matlab - 在重复的x位置上用y点进行曲线拟合(Galaxy螺旋臂)

internet-explorer - IE8 浏览器模式和标准模式

以前在 MATLAB 中打开的 m 文件的历史记录