【发布时间】:2020-08-10 17:10:05
【问题描述】:
我有一个数字数组,需要计算其标准差。我想在单个for 循环周期中执行此操作,但我事先不知道数组的平均值:
int[] numbers = new int[] {1, 2, 3, 5};
int sum = 0;
double sumOfSquares = 0;
for (int number: numbers) {
sum += number;
sumOfSquares += number * number; //don't know average yet
}
int average = sum / numbers.length;
double standardDeviation = //?
我知道标准差可以通过以下公式计算:
Formula1: sqrt((each element - average)^2)
但它要求我在遍历数组中的元素时已经知道平均值的值。
还有其他方法吗?我听说还有另一个公式,首先要找到每个元素的平方和,然后在循环结束后应用平均值,但我找不到。
【问题讨论】:
标签: java math statistics