У меня есть массив чисел, для которого мне нужно рассчитать стандартное отклонение. Я хочу сделать это за один for
l oop цикл и заранее не знаю среднего значения массива:
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)
Но это требует, чтобы я уже знал значение среднего по I oop через элементы в массиве.
Есть ли другой способ сделать это? Я слышал, что есть еще одна формула, в которой сначала нужно найти сумму квадратов каждого элемента, а затем, когда l oop превысит применение среднего, но я не могу ее найти.