Стандартное отклонение

Опубликовано в QLua

-- Стандартное отклонение переданных функции параметров
-- Также возвращаем среднее арифметическое function math.stdev(...)
   local sum = 0
   local average = math.average(...)
   local delta
   local n = select("#",...)

   for i = 1, n do
      delta = average - select(i,...)
      sum = sum + (delta * delta)
   end
   return math.sqrt(sum / n), average
end

-- Возвращает среднее арифметическое переданных функции значений
function math.average(...)
   return math.sum(...) / select("#", ...)
end
-- Возвращает сумму переданных функции значений
function math.sum(...)
   local sum = 0
   for i = 1, select("#", ...) do
      sum = sum + select(i,...)
   end
   return sum
end

Архив QLua