Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

harmmean

説明

m = harmmean(X) は、標本の調和平均を計算します。ベクトルの場合、harmmean(X)X の要素の調和平均です。行列では、harmmean(X) は各列の調和平均値を含んでいる行ベクトルになります。N 次元配列の場合、harmmeanX の大きさが 1 でない最初の次元に対して作用します。

m = harmmean(X,'all') は、X のすべての要素の調和平均を返します。

m = harmmean(X,dim) は、X の作用次元 dim に沿った調和平均を取ります。

m = harmmean(X,vecdim) は、ベクトル vecdim で指定された次元における調和平均を返します。vecdim の各要素は、入力配列 X の次元を表します。出力 m の指定された作用次元における長さは 1 です。他の次元の長さは、Xm で同じになります。たとえば、X が 2 x 3 x 4 の配列である場合、harmmean(X,[1 2]) は 1 x 1 x 4 の配列を返します。出力配列の各要素は、X の対応するページにおける要素の調和平均です。

m = harmmean(___,nanflag) は、前の構文におけるいずれかの入力引数の組み合わせを使用して、NaN 値を計算から除外するかどうかを指定します。既定では、harmmeanNaN 値を計算に含めます (nanflag の値は 'includenan')。NaN 値を除外するには、nanflag の値を 'omitnan' に設定します。

すべて折りたたむ

結果の再現性を得るため、乱数シードを設定します。

rng('default')

5 行 4 列の指数乱数の行列を作成します。

X = exprnd(1,5,4)
X = 5×4

    0.2049    2.3275    1.8476    1.9527
    0.0989    1.2783    0.0298    0.8633
    2.0637    0.6035    0.0438    0.0880
    0.0906    0.0434    0.7228    0.2329
    0.4583    0.0357    0.2228    0.0414

X の列の調和平均と算術平均を計算します。

harmonic = harmmean(X)
harmonic = 1×4

    0.1743    0.0928    0.0797    0.1205

arithmetic = mean(X)
arithmetic = 1×4

    0.5833    0.8577    0.5734    0.6357

X のすべての列で、算術平均が調和平均より大きくなっています。

配列のすべての値の調和平均を求めます。

3 x 5 x 2 の配列 X を作成します。

X = reshape(1:30,[3 5 2])
X = 
X(:,:,1) =

     1     4     7    10    13
     2     5     8    11    14
     3     6     9    12    15


X(:,:,2) =

    16    19    22    25    28
    17    20    23    26    29
    18    21    24    27    30

X の要素の調和平均を求めます。

m = harmmean(X,'all')
m = 7.5094

多次元配列に対して、複数の異なる作用次元および次元のベクトルに沿って調和平均を求めます。

3 x 5 x 2 の配列 X を作成します。

X = reshape(1:30,[3 5 2])
X = 
X(:,:,1) =

     1     4     7    10    13
     2     5     8    11    14
     3     6     9    12    15


X(:,:,2) =

    16    19    22    25    28
    17    20    23    26    29
    18    21    24    27    30

既定の次元に沿って X の調和平均を求めます。

hmean1 = harmmean(X)
hmean1 = 
hmean1(:,:,1) =

    1.6364    4.8649    7.9162   10.9392   13.9523


hmean1(:,:,2) =

   16.9607   19.9666   22.9710   25.9743   28.9770

既定では、harmmean は、サイズが 1 ではない X の最初の次元に沿って作用します。このケースでは、この次元は X の 1 番目の次元です。したがって、hmean1 は 1 x 5 x 2 の配列です。

2 番目の次元に沿って X の調和平均を求めます。

hmean2 = harmmean(X,2)
hmean2 = 
hmean2(:,:,1) =

    3.1852
    5.0641
    6.5693


hmean2(:,:,2) =

   21.1595
   22.1979
   23.2329

hmean2 は 3 x 1 x 2 の配列です。

3 番目の次元に沿って X の調和平均を求めます。

hmean3 = harmmean(X,3)
hmean3 = 3×5

    1.8824    6.6087   10.6207   14.2857   17.7561
    3.5789    8.0000   11.8710   15.4595   18.8837
    5.1429    9.3333   13.0909   16.6154   20.0000

hmean3 は 3 行 5 列の配列です。

入力引数 vecdim を使用して 1 番目の次元と 2 番目の次元を指定することにより、Xの各ページの調和平均を求めます。

mpage = harmmean(X,[1 2])
mpage = 
mpage(:,:,1) =

    4.5205


mpage(:,:,2) =

   22.1645

たとえば、mpage(1,1,2)X(:,:,2) 内の要素の調和平均です。

2 番目の次元と 3 番目の次元を指定して、X(i,:,:) の各スライスの要素の調和平均を求めます。

mrow = harmmean(X,[2 3])
mrow = 3×1

    5.5369
    8.2469
   10.2425

たとえば、mrow(3)X(3,:,:) 内の要素の調和平均であり、harmmean(X(3,:,:),'all') を指定することと同じです。

ベクトルを作成し、NaN 値を除外して harmmean を計算します。

x = 1:10;
x(3) = nan; % Replace the third element of x with a NaN value
n = harmmean(x,'omitnan')
n = 3.4674

'omitnan' を指定しなかった場合、harmmean(x)NaN を返します。

詳細

すべて折りたたむ

調和平均

標本 X の調和平均は次のようになります。

m=ni=1n1xi

ここで、n は X 内の値の個数です。

ヒント

  • 0 が含まれている配列の調和平均を harmmean で計算した場合、返される値は 0 です。

拡張機能

バージョン履歴

R2006a より前に導入