我正在尝试计算一组浮点数的平均值。我需要使用索引,因为这是在二进制搜索中,所以顶部和底部会移动。(大图我们正在尝试优化半范围估计,因此我们不必每次通过都重新创建数组)。
无论如何,我写了一个自定义平均循环,我得到的准确度比 c# Average() 方法低 2 个位置
float test = input.Average();
int count = (top - bottom) + 1;//number of elements in this iteration
int pos = bottom;
float average = 0f;//working average
while (pos <= top)
{
average += input[pos];
pos++;
}
average = average / count;
例子:
0.0371166766 - c# 0.03711666 - 我的循环 125090.148 - c# 125090.281 - 我的循环