用于计算标准差的 Java 程序

javacampus interviewserver side programmingprogramming更新于 2024/8/10 14:00:00

在本文中,我们将了解如何计算标准差。标准差是衡量数字分散程度的标准。其符号为 sigma( σ )。它是方差的平方根。

标准差使用公式 ∑(Xi - ų)2 / N 的平方根计算,其中 Xi 是数组的元素,ų 是数组元素的平均值,N 是元素的数量,∑是每个元素的总和。

下面是相同的演示 −

假设我们的输入是 

输入数组:[ 35.0, 48.0, 60.0, 71.0, 80.0, 95.0, 130.0 ]

所需的输出将是 

标准差:29.313227

算法

步骤 1 - 开始
步骤 2 - 声明一个双精度数组,即 input_array,两个双精度值,即 sum 和 standard_deviation。
步骤 3 - 从用户处读取所需值/定义值。
步骤 4 - 计算 ∑(Xi - ų)2 / N 并将值存储在结果变量中。
步骤 5 - 显示结果
步骤 6 - 停止

示例 1

此处,输入由用户根据提示输入。

public class StandardDeviation {
   public static void main(String[] args) {
      double[] input_array = { 35, 48, 60, 71, 80, 95, 130};
      System.out.println("数组元素定义为");
      for (double i : input_array) {
         System.out.print(i +" ");
      }
      double sum = 0.0, standard_deviation = 0.0;
      int array_length = input_array.length;
      for(double temp : input_array) {
         sum += temp;
      }
      double mean = sum/array_length;
      for(double temp: input_array) {
         standard_deviation += Math.pow(temp - mean, 2);
      }
      double result = Math.sqrt(standard_deviation/array_length);
      System.out.format("\n\n标准差为: %.6f", result);
   }
}

输出

数组元素定义为
35.0 48.0 60.0 71.0 80.0 95.0 130.0

标准差为:29.313227

示例 2

这里,我们定义了一个函数来计算标准差。

public class StandardDeviation {
public static void main(String[] args) {
      double[] input_array = { 35, 48, 60, 71, 80, 95, 130};
      System.out.println("数组元素定义为");
      for (double i : input_array) {
         System.out.print(i +" ");
      }
      double standard_deviation = calculateSD(input_array);
      System.out.format("\n\n标准差为: %.6f", standard_deviation);
   }
   public static double calculateSD(double input_array[]) {
      double sum = 0.0, standard_deviation = 0.0;
      int array_length = input_array.length;
      for(double temp : input_array) {
          sum += temp;
      }
      double mean = sum/array_length;
      for(double temp: input_array) {
         standard_deviation += Math.pow(temp - mean, 2);
      }
      return Math.sqrt(standard_deviation/array_length);
   }
}

输出

数组元素定义为
35.0 48.0 60.0 71.0 80.0 95.0 130.0

标准差为:29.313227

相关文章