# astds¶

## Purpose¶

Computes the biased standard deviation of the elements across one dimension of an N-dimensional array.

## Format¶

y = astds(x, dim)
Parameters: x (N-dimensional array) – dim (scalar) – number of dimension to sum across. y (N-dimensional array) – standard deviation across specified dimension of x.

## Examples¶

a = areshape(25*rndn(16,1),4|2|2);
y = astds(a,3);

print "a = " a;
print "y = " y;


The code above produces the following output (due to the use of random data in this example your answers will be different):

a =

Plane [1,.,.]

12.538  -56.786
-40.283  -58.287

Plane [2,.,.]

4.047   -0.325
17.617   -9.248

Plane [3,.,.]

17.908   40.048
8.916  -37.247

Plane [4,.,.]

-0.977   16.058
-38.189    0.984

y =

Plane [1,.,.]

7.321   35.659
26.441   23.333


In this example, 16 standard Normal random variables are generated. They are multiplied by 25 and areshape()’d into a 4x2x2 array, and the standard deviation is computed across the third dimension of the array.

## Remarks¶

The output y, will have the same sizes of dimensions as x, except that the dimension indicated by dim will be collapsed to 1.

This function essentially computes:

$\sigma = \sqrt{\frac{1}{n}×\Sigma_{i=1}^n(X_i − \mu)^2}$

Thus, the divisor is N rather than N-1, where N is the number of elements being summed. See astd() for the alternate definition.