📜  计算标准差的Java程序

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

计算标准差的Java程序

标准差是衡量数字分布情况的指标。它的符号是西格玛( σ )。它是方差的平方根。任务是计算一些数字的标准差。

考虑一个由6个数字组成的例子,然后计算标准差,首先我们需要计算6个数字的总和,然后计算平均值。然后将使用标准偏差公式计算标准偏差。

Standard deviation = square root of ∑(Xi - ų)2 / N 
              where, 
                Xi = each element of the array
                ų = mean of the elements of the array
                N = Number of elements
                ∑ = Sum of the each element
Input : [12, 32, 11, 55, 10, 23, 14, 30]
Output : 14.438988

Input : [10, 12, 22, 34, 21]
Output : 8.541663

方法:使用数学公式

  1. 首先,创建一个名为calculateSD2的类
  2. 然后创建 main 方法,然后在 main 方法中创建上述类的对象并使用该对象调用它。
  3. 然后使用上面示例中给出的值在此类中声明一个数组。
  4. 现在,为了遍历数组,我们需要找到数组的大小。
  5. 现在,使用 for 循环并遍历此数组并将其递增 1,因为我们需要打印数组的所有元素。
  6. 然后,再次使用 for 循环并遍历数组以计算数组元素的总和。
  7. 之后,平均值将通过 mean = sum / n 计算,其中 n 是数组中的元素数。
  8. 现在,将在均值的帮助下计算标准偏差,这是通过再次迭代 for 循环并借助 Math.pow 和 Math.sqrt 等数学预定义方法来完成的。
  9. 之后,该值将由该类返回,然后打印。
Java
// Java program to calculate the standard deviation
  
class calculateSD2 {
    double sum = 0.0;
    double standardDeviation = 0.0;
    double mean = 0.0;
    double res = 0.0;
    double sq = 0.0;
  
    double SD()
    {
        int[] arr = { 12, 32, 11, 55, 10, 23, 14, 30 };
        int n = arr.length;
        
        System.out.println("Elements are:");
        for (int i = 0; i < n; i++) {
            System.out.println(arr[i]);
        }
        
        for (int i = 0; i < n; i++) {
            sum = sum + arr[i];
        }
        
        mean = sum / (n);
  
        for (int i = 0; i < n; i++) {
            
            standardDeviation
                = standardDeviation + Math.pow((arr[i] - mean), 2);
            
        }
        
        sq = standardDeviation / n;
        res = Math.sqrt(sq);
        return res;
    }
}
  
public class Standard {
    public static void main(String[] args)
    {
  
        calculateSD2 calsd = new calculateSD2();
        double res = calsd.SD();
  
        System.out.format("Standard Deviation = %.6f", res);
    }
}


输出
Elements are:
12
32
11
55
10
23
14
30
Standard Deviation = 14.438988