Я работаю через функцию F #, которая вычисляет дисперсию. Я пытаюсь пройти через каждую итерацию, чтобы получить правильный ответ, но думаю, что я получаю оттуда что-то, потому что я продолжаю получать неправильный ответ. Может кто-то пожалуйста погулять я через одну итерацию этой функции, чтобы вернуть меня на трассеf # calc variance function
let variance values
let average = Seq.average values
let length = Seq.length values
values
|> Seq.map (fun x -> 1.0/float length * (x - average) ** 2.0)
|> Seq.sum
вызов variance [1.0..6.0]
Для меня первое значение, передаваемое в 1.0
поэтому было бы (1.0/6 * (1.0-3.5) ** 2.0)
и поэтому .166 * -2.5 ** 2.0
Я также не уверен, что означает **
в формуле, которую я предполагаю умножить.
Правильный ответ должен быть 2.9166666667
[ '**'] (https://msdn.microsoft.com/en-us/library/ee353580.aspx) является оператором 'pow'. – ildjarn
спасибо, не могли бы вы показать мне, как они добираются до 2.9166666667 там – techfinance1