获取长双精度向量的方差

Getting the variance of a vector of long doubles

本文关键字:方差 向量 双精度 获取      更新时间:2023-10-16

我正在尝试计算长双精度向量的方差。我尝试实现我见过的其他代码,但它没有返回正确的值。

long double variance = 0;
for (int x = 0; x < (v.size() - 1); x++) {
    variance += (v.at(x) - mean) * (v.at(x) - mean);
}
variance /= v.size();

例如,如果我的向量是 {1,2,3,4,5},上面的代码给了我 2.25。据我了解,正确答案是 2。

任何帮助都是值得赞赏的,我不确定我错过了什么。

x < (v.size() - 1) ?这将跳过最后一个元素。使用<=或省略- 1

元素的索引是v.size() - 1的,并且由于x必须小于该值,因此循环在处理最后一个元素之前中断。