Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Scilab 6.0.1
Change language to: English - Français - 日本語 - Русский

Please note that the recommended version of Scilab is 6.0.2. This page might be outdated.
See the recommended documentation of this function

Ajuda do Scilab >> Estatística > 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.