📜  数组的方差和标准差程序

📅  最后修改于: 2022-05-13 01:57:49.753000             🧑  作者: Mango

数组的方差和标准差程序

给定一个数组,我们需要计算数组元素的方差和标准差。
例子 :

Input  : arr[] = [1, 2, 3, 4, 5]
Output : Variance = 2
         Standard Deviation = 1   

Input  : arr[] = [7, 7, 8, 8, 3]
Output : Variance = 3
         Standard Deviation = 1

我们已经讨论了查找数组均值的程序。

以下是上述方法的实现:

C++
// CPP program to find variance
// and standard deviation of
// given array.
#include 
using namespace std;
 
// Function for calculating variance
int variance(int a[], int n)
{
    // Compute mean (average of elements)
    int sum = 0;
    for (int i = 0; i < n; i++)
        sum += a[i];
    double mean = (double)sum /
                  (double)n;
 
    // Compute sum squared
    // differences with mean.
    double sqDiff = 0;
    for (int i = 0; i < n; i++)
        sqDiff += (a[i] - mean) *
                  (a[i] - mean);
    return sqDiff / n;
}
 
double standardDeviation(int arr[],
                         int n)
{
    return sqrt(variance(arr, n));
}
 
// Driver Code
int main()
{
    int arr[] = {600, 470, 170, 430, 300};
    int n = sizeof(arr) / sizeof(arr[0]);
    cout << "Variance: "
         << variance(arr, n) << "\n";
    cout << "Standard Deviation: "
         << standardDeviation(arr, n) << "\n";
    return 0;
}


Java
// Java program to find variance
// and standard deviation of
// given array.
import java.io.*;
 
class GFG
{
 
    // Function for calculating
    // variance
    static double variance(double a[],
                           int n)
    {
        // Compute mean (average
        // of elements)
        double sum = 0;
         
        for (int i = 0; i < n; i++)
            sum += a[i];
        double mean = (double)sum /
                      (double)n;
     
        // Compute sum squared
        // differences with mean.
        double sqDiff = 0;
        for (int i = 0; i < n; i++)
            sqDiff += (a[i] - mean) *
                      (a[i] - mean);
         
        return (double)sqDiff / n;
    }
     
    static double standardDeviation(double arr[],
                                    int n)
    {
        return Math.sqrt(variance(arr, n));
    }
     
    // Driver Code
    public static void main (String[] args)
    {
     
    double arr[] = {600, 470, 170, 430, 300};
    int n = arr.length;
     
    System.out.println( "Variance: " +
                         variance(arr, n));
    System.out.println ("Standard Deviation: " +
                         standardDeviation(arr, n));
     
    }
}
 
// This code is contributed by vt_m.


Python 3
# Python 3 program to find variance
# and standard deviation of
# given array.
import math
 
# Function for calculating variance
def variance(a, n):
 
    # Compute mean (average of
    # elements)
    sum = 0
    for i in range(0 ,n):
        sum += a[i]
    mean = sum /n
 
    # Compute sum squared
    # differences with mean.
    sqDiff = 0
    for i in range(0 ,n):
        sqDiff += ((a[i] - mean)
                * (a[i] - mean))
    return sqDiff / n
 
 
def standardDeviation(arr, n):
 
    return math.sqrt(variance(arr, n))
 
# Driver Code
arr = [600, 470, 170, 430, 300]
n = len(arr)
print("Variance: ", int(variance(arr, n)))
print("Standard Deviation: ",
      round(standardDeviation(arr, n), 3))
 
# This code is contributed by Smitha


C#
// C# program to find variance and
// standard deviation of given array.
using System;
 
class GFG
{
 
    // Function for calculating
    // variance
    static float variance(double []a,
                          int n)
    {
         
        // Compute mean (average
        // of elements)
        double sum = 0;
         
        for (int i = 0; i < n; i++)
            sum += a[i];
             
        double mean = (double)sum /
                      (double)n;
     
        // Compute sum squared
        // differences with mean.
        double sqDiff = 0;
         
        for (int i = 0; i < n; i++)
            sqDiff += (a[i] - mean) *
                      (a[i] - mean);
         
        return (float)sqDiff / n;
    }
     
    static float standardDeviation(double []arr,
                                   int n)
    {
        return (float)Math.Sqrt(variance(arr, n));
    }
     
    // Driver Code
    public static void Main ()
    {
     
        double []arr = {600, 470, 170, 430, 300};
        int n = arr.Length;
         
        Console.WriteLine( "Variance: " +
                            variance(arr, n));
                                 
        Console.WriteLine ("Standard Deviation: " +
                            standardDeviation(arr, n));
         
    }
}
 
// This code is contributed by vt_m.


PHP


Javascript


输出:

Variance: 21704
Standard Deviation: 147.323