Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - 日本語 -
Справка Scilab >> Statistics > 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.

See also

  • mean — mean (row mean, column mean) of vector/matrix entries
  • geomean — geometric mean
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Feb 14 15:13:25 CET 2017