时间:2021-07-01 10:21:17 帮助过:159人阅读
给定一个序列的数,如何求出它们的方差?
首先,求出它们的平均数,然后用每一个数减去平均数,求出它们的平方和,最后再除以序列的大小,就可以得到方差。
例如:给定一个序列,[1, 2, 2, 3]。
先求平均数:
(1 + 2 + 2 + 3) / 4 => 2
再求方差:
((1 - 2)^2 + (2 - 2)^2 + (2-2)^2 + (3 - 2)^2) / 4 => 0.5
有时,这个结果它会是个很长的小数,我们不用求出这么多位,保留3,4位小数就可以了,这时就可以用到JS的toFixed方法,对小数进行四舍五入。
var variance = function(numbers) { var mean = 0; var sum = 0; for(var i=0;i<numbers.length;i++){ sum += numbers[i]; } mean = sum / numbers.length; sum = 0; for(var i=0;i<numbers.length;i++){ sum += Math.pow(numbers[i] - mean , 2); } return sum / numbers.length; };
以上就是JavaScript趣题:计算方差的内容,更多相关内容请关注PHP中文网(www.gxlcms.com)!