PDA

查看完整版本 : 在MATLAB中将项目分类到垃圾箱


poster
2019-12-10, 20:48
如果我有一组数据Y和一组以X为中心的bin,则可以使用HIST命令查找每个bin中每个Y的数量。

N = hist(Y,X) 我想知道的是,是否有一个内置函数可以告诉我每个Y进入哪个bin,所以

[N,I] = histMod(Y,X) 表示Y(I == 1)将返回bin 1中的所有Y,依此类推。

我知道如何编写此函数,所以我只是想知道MATLAB中是否已经有内置的函数可以执行此操作。



回答:

相关的功能histc做到这一点,但是它需要您定义仓边缘而不是仓中心。

Y = rand(1, 10); edges = .1:.1:1; [N, I] = histc(Y, edges); 给定二元中心的边缘也很容易计算。在一个班轮中:

N = hist(Y, X); 变成

[Nc, Ic] = histc(Y, [-inf X(1:end-1) + diff(X)/2, inf]); Nc == N,最后加上一个额外的空仓(因为我假设Y中没有值匹配inf)。参见doc histc 。



更多&回答... (https://stackoverflow.com/questions/3831965)