c++ vector求标准差
时间: 2023-11-07 09:06:30 浏览: 179
标准差计算
5星 · 资源好评率100%
C++ 标准库中并没有直接提供计算向量标准差的函数,但是我们可以通过一些简单的计算来得到向量的标准差。以下是计算向量标准差的一种常见方法:
1. 首先计算向量的平均值。
2. 然后计算每个元素与平均值的差值的平方。
3. 计算平方差的平均值。
4. 最后取平方差的平均值的平方根,即为向量的标准差。
下面是一个示例代码:
```c++
#include <iostream>
#include <vector>
#include <cmath>
double calculateMean(const std::vector<double>& vec) {
double sum = 0.0;
for (const double& value : vec) {
sum += value;
}
return sum / vec.size();
}
double calculateStandardDeviation(const std::vector<double>& vec) {
double mean = calculateMean(vec);
double squaredDifferenceSum = 0.0;
for (const double& value : vec) {
double difference = value - mean;
squaredDifferenceSum += difference * difference;
}
double meanSquaredDifference = squaredDifferenceSum / vec.size();
return std::sqrt(meanSquaredDifference);
}
int main() {
std::vector<double> vec = {1.0, 2.0, 3.0, 4.0, 5.0};
double standardDeviation = calculateStandardDeviation(vec);
std::cout << "Standard Deviation: " << standardDeviation << std::endl;
return 0;
}
```
阅读全文