我并没有真正使用过方差计算,我也不知道会发生什么。其实我对数学一点也不好。
我有一个 0-10000 范围内的 1000000 个随机数值数组。
数组可能会变得更大,所以我使用 64 位 int 进行求和。
我试图找到关于如何计算方差的代码,但我不知道我是否得到正确的输出。
平均值为 4692,中位数为 4533。我使用以下代码得到方差 1483780.469308:
// size is the element count, in this case 1000000
// value_sum is __int64
double p2 = pow( (double)(value_sum - (value_sum/size)), (double)2.0 );
double variance = sqrt( (double)(p2 / (size-1)) );
我得到了合理的价值吗?
计算有什么问题吗?