在 C++ 中计算标准偏差

Suraj P 2023年10月12日
  1. 标准差
  2. 在 C++ 中计算标准偏差
在 C++ 中计算标准偏差

本文将演示在 C++ 编程语言中计算标准差。

标准差

首先,让我们了解什么是标准差。它是离散度的统计量度,这意味着它衡量的是数据集中的数字相对于平均值的分布程度。

我们可以通过简单地找到方差的平方根来获得标准偏差。方差只不过是与平均值的平方差的平均值。

因此,基于上述讨论,要计算标准差,我们必须执行以下步骤:

  • 计算数据集的平均值。
  • 然后,从每个数字中减去平均值并将结果平方。
  • 找到上述平方差的平均值以解决方差。
  • 现在,找到我们在步骤 3 中获得的方差的平方根。

请参考下面的示例以更好地理解这一点。假设我们有数据集,

100 , 200 , 300 , 400 , 500
  • 数据的平均值为:(100 + 200 + 300 + 400 + 500)/5 = 300
  • 数据方差为: ( (100 - 300)^2 + (200-300)^2 + …+(500-300)^2 )/5 = 20000
  • 标准偏差:方差的平方根 = 141.421

在 C++ 中计算标准偏差

我们必须执行以下步骤来找到 C++ 中的标准差:

  • 从用户或文件中获取输入数据集。将数据存储在数组数据结构中。
  • 找到它的意思。
  • 遍历每个元素,减去平均值,然后平方结果。
  • 求步骤 3 中结果的平均值。这给了我们方差。
  • 求步骤 4 中获得的数字的平方根,以获得标准差。

示例代码:

#include <bits/stdc++.h>
using namespace std;

int main() {
  int n;  // number of elements we want user to enter
  cout << "Enter the number of elements\n";
  cin >> n;

  int arr[n];  // array to store the elements

  cout << "Enter the elements\n";

  for (int i = 0; i < n; i++) cin >> arr[i];

  int sum = 0;
  for (int i = 0; i < n; i++) {
    sum = sum + arr[i];
  }

  double mean = (double)sum / n;

  double sum2 = 0.0;

  for (int i = 0; i < n; i++) {
    sum2 = sum2 + (arr[i] - mean) * (arr[i] - mean);
  }

  double variance = (double)sum2 / n;

  double standardDeviation = sqrt(variance);

  cout << "Mean: " << mean << endl;
  cout << "Variance: " << variance << endl;
  cout << "Standard deviation: " << standardDeviation;
}

输出:

Enter the number of elements
5
Enter the elements
100
200
300
400
500
Mean: 300
Variance: 20000
Standard deviation: 141.421
作者: Suraj P
Suraj P avatar Suraj P avatar

A technophile and a Big Data developer by passion. Loves developing advance C++ and Java applications in free time works as SME at Chegg where I help students with there doubts and assignments in the field of Computer Science.

LinkedIn GitHub

相关文章 - C++ Math