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