このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
geomean
幾何平均
説明
例
幾何平均と算術平均の比較
結果の再現性を得るため、乱数シードを設定します。
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
の列の幾何平均と算術平均を計算します。
geometric = geomean(X)
geometric = 1×4
0.2805 0.3083 0.2079 0.2698
arithmetic = mean(X)
arithmetic = 1×4
0.5833 0.8577 0.5734 0.6357
X
のすべての列で、算術平均が幾何平均より大きくなっています。
すべての要素の幾何平均
入力引数 'all'
を使用して、複数の次元に対する幾何平均を求めます。
2 x 5 x 4 の配列 X
を作成します。
X = reshape(1:40,[2 5 4])
X = X(:,:,1) = 1 3 5 7 9 2 4 6 8 10 X(:,:,2) = 11 13 15 17 19 12 14 16 18 20 X(:,:,3) = 21 23 25 27 29 22 24 26 28 30 X(:,:,4) = 31 33 35 37 39 32 34 36 38 40
X
のすべての要素の幾何平均を求めます。
m = geomean(X,'all')
m = 15.7685
m
は、配列 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
の幾何平均を求めます。
gmean1 = geomean(X)
gmean1 = gmean1(:,:,1) = 1.8171 4.9324 7.9581 10.9696 13.9761 gmean1(:,:,2) = 16.9804 19.9833 22.9855 25.9872 28.9885
既定では、geomean
は、サイズが 1 ではない X
の最初の次元に沿って作用します。このケースでは、この次元は X
の 1 番目の次元です。したがって、gmean1
は 1 x 5 x 2 の配列です。
2 番目の次元に沿って X
の幾何平均を求めます。
gmean2 = geomean(X,2)
gmean2 = gmean2(:,:,1) = 5.1549 6.5784 7.8155 gmean2(:,:,2) = 21.5814 22.6004 23.6177
gmean2
は 3 x 1 x 2 の配列です。
3 番目の次元に沿って X
の幾何平均を求めます。
gmean3 = geomean(X,3)
gmean3 = 3×5
4.0000 8.7178 12.4097 15.8114 19.0788
5.8310 10.0000 13.5647 16.9115 20.1494
7.3485 11.2250 14.6969 18.0000 21.2132
gmean3
は 3 行 5 列の配列です。
入力引数 vecdim
を使用して 1 番目の次元と 2 番目の次元を指定することにより、X
の各ページの幾何平均を求めます。
mpage = geomean(X,[1 2])
mpage = mpage(:,:,1) = 6.4234 mpage(:,:,2) = 22.5845
たとえば、mpage(1,1,2)
は X(:,:,2)
内の要素の幾何平均です。
2 番目の次元と 3 番目の次元を指定して、X(i,:,:)
の各スライスの要素の幾何平均を求めます。
mrow = geomean(X,[2 3])
mrow = 3×1
10.5475
12.1932
13.5862
たとえば、mrow(3)
は X(3,:,:)
内の要素の幾何平均であり、geomean(X(3,:,:),'all')
を指定することと同じです。
NaN
を除外した幾何平均
ベクトルを作成し、NaN
値を除外して geomean
を計算します。
x = 1:10; x(3) = nan; % Replace the third element of x with a NaN value n = geomean(x,'omitnan')
n = 4.7408
'omitnan'
を指定しなかった場合、geomean(x)
は NaN
を返します。
入力引数
X
— 入力データ
非負のベクトル | 非負の行列 | 非負の多次元配列
母集団から抽出した標本を表す入力データ。非負のベクトル、行列または多次元配列を指定します。
X
がベクトルである場合、geomean(X)
はX
内の要素の幾何平均です。X
が行列である場合、geomean(X)
はX
の各列の幾何平均が格納されている行ベクトルです。X
が多次元配列である場合、geomean
はX
の大きさが 1 でない最初の次元に作用します。
X
が行列または配列である場合に作用次元を指定するには、入力引数 dim
を使用します。
データ型: single
| double
dim
— 次元
正の整数スカラー
作用する対象となる次元。正の整数スカラーを指定します。値を指定しなかった場合、サイズが 1 ではない X
の最初の配列次元が既定値になります。
2 次元配列 X
について考えます。
dim
が 1 に等しい場合、geomean(X,1)
はX
の各列の幾何平均が格納されている行ベクトルを返します。dim
が 2 に等しい場合、geomean(X,2)
はX
の各行の幾何平均が格納されている列ベクトルを返します。
dim
が ndims(X)
より大きい場合、または size(X,dim)
が 1 である場合、geomean
は X
を返します。
データ型: single
| double
nanflag
— NaN
の条件
'includenan'
(既定値) | 'omitnan'
NaN
の条件。次のいずれかの値を指定します。
'includenan'
—geomean
を計算するときにNaN
値を含めます。これはNaN
を返します。'omitnan'
— 入力に含まれているNaN
値を無視します。
データ型: char
| string
出力引数
m
— 幾何平均
スカラー | ベクトル | 行列 | 多次元配列
幾何平均。スカラー、ベクトル、行列または多次元配列として返されます。
詳細
幾何平均
標本 X
の幾何平均は次のようになります。
ここで、n は X
内の値の個数です。
拡張機能
tall 配列
メモリの許容量を超えるような多数の行を含む配列を計算します。
この関数は、tall 配列を完全にサポートします。詳細は、tall 配列を参照してください。
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意事項および制限事項:
入力引数
'all'
、vecdim
およびnanflag
はサポートされません。入力引数
dim
はコンパイル時の定数でなければなりません。入力引数
dim
を指定しなかった場合、生成されるコードでは作用次元が異なる可能性があります。この結果、ランタイム エラーが発生する可能性があります。詳細は、自動次元選択の制限事項 (MATLAB Coder)を参照してください。
コード生成の詳細については、コード生成の紹介および一般的なコード生成のワークフローを参照してください。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数は、スレッドベースの環境を完全にサポートします。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
使用上の注意事項および制限事項:
入力引数
'all'
およびvecdim
はサポートされません。
詳細は、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2006a より前に導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)