0

考虑按以下方式 [x, y]在样本中平均细分的值的区间:n细分

y可以大于、等于或小于x。现在,我们选择和z之间的值。xy

问题:计算指数的公式是i什么z?(如果x = y,那么公式应该返回0or n-1)(我重复一遍:y可以大于、等于或小于x。)

例如: if x = - 5, y = -10and n = 5, then for z = -7.5, i = 2(if z = -7, i = 2but if z = -8, i = 3)。

4

3 回答 3

2

您可以将间隔的长度计算为:

  len = y - x

然后你可以计算每个元素的增加

  increase = len / n;

现在你有了i = (z - x) / increase. 简而言之,您计算每个元素的值增加了多少,然后计算从x到需要增加多少次z

编辑:如果您真的需要解决方案,C++请注意双重计算所有计算。另请注意 i 的值应该是向下舍入的整数。

于 2013-11-13T11:45:21.240 回答
0
if(x>y) high = x low = y

else high = y low = x

if(y>=x)
    i = ceil((z-low+1)/(high-low+1)*n)-1

else i = ceil((high-z+1)/(high-low+1)*n)-1  
于 2013-11-13T12:15:59.313 回答
0

回答逻辑(在 java 中):

i = Math.abs(Math.ceil(z - Math.min(x,y)));

于 2013-11-13T11:45:34.057 回答