Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Scilab-Branch-6.1-GIT
Change language to: Français - Português - 日本語 - Русский
Scilab Help >> Statistics > Mean Central Tendency > harmean

# harmean

harmonic mean : inverse of the inverses average (without zeros)

### Syntax

```hm = harmean(x)
hm = harmean(x, 'r'|1 )
hm = harmean(x, 'c'|2 )```

### Arguments

x

vector, matrix, or hypermatrix of real or complex numbers or polynomials. Rationals not supported.

hm

scalar, or row (if `"r"` is used), or column (if `"c"` is used). If `x` are polynomials, `hm` is of rational type.

### Description

This function computes the harmonic mean of input values = inverse of the average of inversed non-zero values.

`hm = harmean(x,'r')` (or, equivalently, `hm = harmean(x, 1)` ) returns in each entry of the row vector `hm` the harmonic mean of each column of `x`.

`hm = harmean(x,'c')` (or, equivalently, `hm = harmean(x, 2)` ) returns in each entry of the column vector `hm` the harmonic mean of each row of `x`.

 If `x` is an hypermatrix and a `"r", 1, "c", 2` flag is used, an error occurs.

### Examples

```harmean(1:10) // Returns 1 / mean(1 ./(1:10))
h = harmean([1 1 0 1 0 1])  // returns 1: zeros are not considered
1 / mean(1./[1 1 0 1 0 1])  // returns 0, as soon as a zero is present

x = grand(3, 4, "uin",-10, 10)
harmean(x)
harmean(x, "r")
harmean(x, 2)

// Hypermatrix
x = grand(3,4,2, "uin",-10, 10)
harmean(x)
harmean(x, "r") // error: not supported
harmean(x, 3)   // error: not supported

harmean([%z 0])
harmean([%z %z/2])
harmean([%z %i+%z])
harmean([%z %i+%z]) == 1 / ((1/%z + 1/(%i+%z))/2)```

### Bibliography

Wonacott, T.H. & Wonacott, R.J.; Introductory Statistics, fifth edition, J.Wiley & Sons, 1990.