Mar*_*arc 4 sorting matlab histogram binning
如果我有一组数据Y和一组以X为中心的箱子,我可以使用HIST命令查找每个箱子中每个Y的数量.
N = hist(Y,X)
Run Code Online (Sandbox Code Playgroud)
我想知道的是,如果有内置函数可以告诉我每个Y进入哪个bin,那么
[N,I] = histMod(Y,X)
Run Code Online (Sandbox Code Playgroud)
意味着Y(I == 1)将返回bin 1中的所有Y,等等.
我知道如何编写这个函数,所以我只是想知道MATLAB中是否已经内置了这个函数.
相关功能histc执行此操作,但它要求您定义bin边缘而不是bin中心.
Y = rand(1, 10);
edges = .1:.1:1;
[N, I] = histc(Y, edges);
Run Code Online (Sandbox Code Playgroud)
计算出bince的边缘也很容易.在一个班轮:
N = hist(Y, X);
Run Code Online (Sandbox Code Playgroud)
变
[Nc, Ic] = histc(Y, [-inf X(1:end-1) + diff(X)/2, inf]);
Run Code Online (Sandbox Code Playgroud)
Nc == N,最后加一个额外的空箱(因为我假设Y中没有值匹配inf).见doc histc.