获取长双精度向量的方差
Getting the variance of a vector of long doubles
我正在尝试计算长双精度向量的方差。我尝试实现我见过的其他代码,但它没有返回正确的值。
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
必须小于该值,因此循环在处理最后一个元素之前中断。
相关文章:
- 为什么是谷神星协方差.计算()似乎永远运行而不返回?
- 为什么需要返回指针来利用协方差?
- Eigen对修复非正定义的协方差矩阵有解吗
- 回调参数中的协方差C++
- 获取长双精度向量的方差
- 我在计算 4 个值的方差时的错误在哪里
- C++容器、协方差和模板
- "shared_ptr"如何实现协方差?
- C++协方差返回类型的缺点是什么
- 我遇到了一个关于多线程的小问题.需要多线程来计算 Pi 和方差
- 如何在犰狳中使用变量/方差函数
- 用c++计算平均值和方差
- 如何实现支持模板协方差的通用工厂
- C 协方差意外行为
- 练习:使用数组计算方差
- 带有指针返回问题的c++协方差问题
- 计算OpenCV中的协方差
- 使用 OpenCV 计算协方差矩阵
- C++类设计:协方差
- 逆方差的常见编程用法是什么?