repl.txt (4319B)
1 2 {{alias}}( N, correction, x, stride ) 3 Computes the variance of a double-precision floating-point strided array 4 ignoring `NaN` values and using a one-pass trial mean algorithm. 5 6 The `N` and `stride` parameters determine which elements in `x` are accessed 7 at runtime. 8 9 Indexing is relative to the first index. To introduce an offset, use a typed 10 array view. 11 12 If `N <= 0`, the function returns `NaN`. 13 14 If every indexed element is `NaN`, the function returns `NaN`. 15 16 Parameters 17 ---------- 18 N: integer 19 Number of indexed elements. 20 21 correction: number 22 Degrees of freedom adjustment. Setting this parameter to a value other 23 than `0` has the effect of adjusting the divisor during the calculation 24 of the variance according to `n - c` where `c` corresponds to the 25 provided degrees of freedom adjustment and `n` corresponds to the number 26 of non-`NaN` indexed elements. When computing the variance of a 27 population, setting this parameter to `0` is the standard choice (i.e., 28 the provided array contains data constituting an entire population). 29 When computing the unbiased sample variance, setting this parameter to 30 `1` is the standard choice (i.e., the provided array contains data 31 sampled from a larger population; this is commonly referred to as 32 Bessel's correction). 33 34 x: Float64Array 35 Input array. 36 37 stride: integer 38 Index increment. 39 40 Returns 41 ------- 42 out: number 43 The variance. 44 45 Examples 46 -------- 47 // Standard Usage: 48 > var x = new {{alias:@stdlib/array/float64}}( [ 1.0, -2.0, NaN, 2.0 ] ); 49 > {{alias}}( x.length, 1, x, 1 ) 50 ~4.3333 51 52 // Using `N` and `stride` parameters: 53 > x = new {{alias:@stdlib/array/float64}}( [ -2.0, 1.0, 1.0, -5.0, 2.0, -1.0 ] ); 54 > var N = {{alias:@stdlib/math/base/special/floor}}( x.length / 2 ); 55 > var stride = 2; 56 > {{alias}}( N, 1, x, stride ) 57 ~4.3333 58 59 // Using view offsets: 60 > var x0 = new {{alias:@stdlib/array/float64}}( [ 1.0, -2.0, 3.0, 2.0, 5.0, -1.0 ] ); 61 > var x1 = new {{alias:@stdlib/array/float64}}( x0.buffer, x0.BYTES_PER_ELEMENT*1 ); 62 > N = {{alias:@stdlib/math/base/special/floor}}( x0.length / 2 ); 63 > stride = 2; 64 > {{alias}}( N, 1, x1, stride ) 65 ~4.3333 66 67 {{alias}}.ndarray( N, correction, x, stride, offset ) 68 Computes the variance of a double-precision floating-point strided array 69 ignoring `NaN` values and using a one-pass trial mean algorithm and 70 alternative indexing semantics. 71 72 While typed array views mandate a view offset based on the underlying 73 buffer, the `offset` parameter supports indexing semantics based on a 74 starting index. 75 76 Parameters 77 ---------- 78 N: integer 79 Number of indexed elements. 80 81 correction: number 82 Degrees of freedom adjustment. Setting this parameter to a value other 83 than `0` has the effect of adjusting the divisor during the calculation 84 of the variance according to `n - c` where `c` corresponds to the 85 provided degrees of freedom adjustment and `n` corresponds to the number 86 of non-`NaN` indexed elements. When computing the variance of a 87 population, setting this parameter to `0` is the standard choice (i.e., 88 the provided array contains data constituting an entire population). 89 When computing the unbiased sample variance, setting this parameter to 90 `1` is the standard choice (i.e., the provided array contains data 91 sampled from a larger population; this is commonly referred to as 92 Bessel's correction). 93 94 x: Float64Array 95 Input array. 96 97 stride: integer 98 Index increment. 99 100 offset: integer 101 Starting index. 102 103 Returns 104 ------- 105 out: number 106 The variance. 107 108 Examples 109 -------- 110 // Standard Usage: 111 > var x = new {{alias:@stdlib/array/float64}}( [ 1.0, -2.0, NaN, 2.0 ] ); 112 > {{alias}}.ndarray( x.length, 1, x, 1, 0 ) 113 ~4.3333 114 115 // Using offset parameter: 116 > var x = new {{alias:@stdlib/array/float64}}( [ 1.0, -2.0, 3.0, 2.0, 5.0, -1.0 ] ); 117 > var N = {{alias:@stdlib/math/base/special/floor}}( x.length / 2 ); 118 > {{alias}}.ndarray( N, 1, x, 2, 1 ) 119 ~4.3333 120 121 See Also 122 -------- 123