Сигма-символ Σ
в верхнем регистре просто означает сумму.
Итак, для каждого значения данных вычтите среднее значение ( средний, с точки зрения непрофессионала) и квадратный результат. Сложите все эти значения вместе, разделите их на количество значений данных минус один, а затем возьмите квадрат root этого.
Псевдо-код для этого будет примерно таким, как показано ниже. Во-первых, функция для вычисления среднего значения:
def calcMean(collection):
# Initialise for working out mean (sum / count).
sum = 0, count = 0
# Add every item to the sum and keep count.
for item in collection:
sum = sum + item
count = count + 1
# Avoid dive by zero, you choose what to do.
if count == 0:
handle empty collection somehow
# Return the mean.
return sum / count
Затем с помощью нее вычисляем стандартное отклонение:
def calcStdDev(collection):
# Get mean of the collection, initialise accumulator and count.
mean = calcMean(collection)
accum = 0, count = 0
for item in collection:
# Accumulate each '(item-mean) squared' value.
diff = item - mean
accum = accum + diff * diff
# Avoid dive by zero, you choose what to do.
if count < 2:
handle too-small collection somehow
# Divide and square root for result.
return sqrt(sum / (count - 1))
Теперь ваша задача - превратить этот псевдокод в Java, что-то, что должно быть немного проще, чем превращение формулы в Java.