[英]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
必須小於x
,因此循環在處理最后一個元素之前中斷。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.