如何将矢量元素分组到没有循环的bin

时间:2015-09-03 14:29:35

标签: arrays loops grouping

我需要一种方法来找出矢量的哪些元素在给定的区间内(避免循环)。

对矢量进行排序并定期间隔,例如:

vector = [0,1,2,3,4,5,6,7,8,9]

箱子的下边界和上边界是已知的。箱具有相同的宽度并且有规律地间隔开。它们之间可能重叠或有间隙,例如:

l_bnds = [.5, 2.8, 5.1, 7.4,  9.7]
u_bnds = [ 2, 4.3, 6.6, 8.9, 11.2]

我想要的输出是一个数组,其中向量中的元素索引是每个bin的一部分(并且-1或者要填充)。 n_rows:bin的数量,n_cols:bin中的最大元素数。在上述情况中:

 1     2
 3     4
 6    -1
 8    -1
-1    -1

应该可以选择是否考虑等于边界的向量元素(即,间隔可以定义为(l,u)(l,u][l,u)或{{1}上面的输出假定为[l,u])

在箱子上循环并检查矢量在各自边界之间的位置很容易。但是,矢量和箱数可能非常大,所以我正在寻找一种避免循环的方法。

有什么想法吗?

0 个答案:

没有答案