计算标准差的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
方法:使用数学公式
- 首先,创建一个名为calculateSD2的类
- 然后创建 main 方法,然后在 main 方法中创建上述类的对象并使用该对象调用它。
- 然后使用上面示例中给出的值在此类中声明一个数组。
- 现在,为了遍历数组,我们需要找到数组的大小。
- 现在,使用 for 循环并遍历此数组并将其递增 1,因为我们需要打印数组的所有元素。
- 然后,再次使用 for 循环并遍历数组以计算数组元素的总和。
- 之后,平均值将通过 mean = sum / n 计算,其中 n 是数组中的元素数。
- 现在,将在均值的帮助下计算标准偏差,这是通过再次迭代 for 循环并借助 Math.pow 和 Math.sqrt 等数学预定义方法来完成的。
- 之后,该值将由该类返回,然后打印。
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