JavaScript 如何计算数字数组的标准差
给定一个数组,任务是使用JavaScript计算标准差。
示例:
Input : [1, 2, 3, 4, 5]
Output : 1.4142135623730951
Input : [23, 4, 6, 457, 65, 7, 45, 8]
Output : 145.13565852332775
请参考详情,均值、方差和标准差。 均值是元素的平均值。其中 0 <= i < n。 arr[0..n-1] 的均值 = ∑(arr[i]) / n。 方差是与均值的差的平方和除以元素的数量。 方差 = ∑(arr[i] – 均值)2 / n。 标准差是方差的平方根。 标准差 = 方差 ^ 1/2。 方法: 要计算数组的标准差,首先我们计算均值,然后计算方差,最后计算标准差。为了计算均值,我们使用 Array.reduce() 方法,计算数组所有元素的总和,然后将总和除以数组的长度。 为了计算方差,我们使用 map() 方法,将 (值 – 均值) ^ 2 赋给每个数组项,然后计算总和并将总和除以数组的长度。为了计算标准差,我们计算数组的平方根。
示例: 在这个示例中,我们将计算给定数组的标准差。
// Javascript program to calculate the
// standard deviation of an array
function StandardDeviation(arr) {
// Creating the mean with Array.reduce
let mean = arr.reduce((acc, curr) => {
return acc + curr
}, 0) / arr.length;
// Assigning (value - mean) ^ 2 to
// every array item
arr = arr.map((k) => {
return (k - mean) ** 2
});
// Calculating the sum of updated array
let sum = arr.reduce((acc, curr) => acc + curr, 0);
// Calculating the variance
let variance = sum / arr.length
// Returning the standard deviation
return Math.sqrt(sum / arr.length)
}
console.log(StandardDeviation([1, 2, 3, 4, 5]))
console.log(StandardDeviation([23, 4, 6, 457, 65, 7, 45, 8]))
输出
1.4142135623730951
145.13565852332775
极客教程