C++ vector求均值和方差
生活随笔
收集整理的這篇文章主要介紹了
C++ vector求均值和方差
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1 定義
(1)均值
(2)方差
(3)標(biāo)準(zhǔn)差
2 代碼實(shí)現(xiàn)
//std::vector< double> 或者 std::vector< int> 類(lèi)型變量求均值和方差 #include <numeric> #include <iostream> #include <math.h> #include <vector> using namespace std; int main() {// 求均值vector<double> A = {1,2,3,4,5,6};double sum = std::accumulate(std::begin(A), std::end(A), 0.0);double mean = sum / A.size();// 求方差與標(biāo)準(zhǔn)差double variance = 0.0;for (uint16_t i = 0 ; i < A.size() ; i++){variance = variance + pow(A[i]-mean,2);}variance = variance/A.size();double standard_deviation = sqrt(variance);std::cout<<mean<<std::endl; // 均值std::cout<<variance<<std::endl; // 方差std::cout<<standard_deviation<<std::endl; // 標(biāo)準(zhǔn)差 }3 代碼結(jié)果
3.5 2.91667 1.707834 為方便使用,可以將求方差封裝為一個(gè)函數(shù)
???? 代碼如下?
#include <numeric> #include <iostream> #include <math.h> #include <vector> using namespace std; double VectorVar(const vector<double> &A) {double sum = accumulate(begin(A),end(A), 0.0);double mean = sum / A.size();// 求方差與標(biāo)準(zhǔn)差double variance = 0.0;for (uint16_t i = 0 ; i < A.size() ; i++){variance = variance + pow(A[i]-mean,2);}variance = variance/A.size();return variance; }int main() {vector<double> A = {1,2,3,4,5,6};cout<<VectorVar(A)<<endl; }??? 運(yùn)行結(jié)果
2.91667?
總結(jié)
以上是生活随笔為你收集整理的C++ vector求均值和方差的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 安卓播放器哪个最好用(安卓播放器哪个最好
- 下一篇: c++中 int, long long,