harmmean
R2026b調和平均
構文
説明
例
結果の再現性を得るため、乱数シードを設定します。
rng(0,"twister")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×5×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×1×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 値を除外して調和平均を計算します。
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がベクトルである場合、harmmean(X)はX内の要素の調和平均です。Xが行列である場合、harmmean(X)はXの各列の調和平均が格納されている行ベクトルです。Xが多次元配列である場合、harmmeanはXの大きさが 1 でない最初の次元に作用します。
X が行列または配列である場合に作用次元を指定するには、入力引数 dim を使用します。
データ型: single | double
作用する対象となる次元。正の整数スカラーを指定します。値を指定しなかった場合、サイズが 1 ではない X の最初の配列次元が既定値になります。
2 次元配列 X について考えます。
dimが 1 に等しい場合、harmmean(X,1)はXの各列の調和平均が格納されている行ベクトルを返します。dimが 2 に等しい場合、harmmean(X,2)はXの各行の調和平均が格納されている列ベクトルを返します。
dim が ndims(X) より大きい場合、または size(X,dim) が 1 である場合、harmmean は X を返します。
データ型: single | double
NaN 条件。"includenan" または "omitnan" として指定します。この引数の値が "includenan" の場合、関数は調和平均を計算するときに NaN 値を含め、NaN を返します。値が "omitnan" の場合、関数は入力データに含まれている NaN 値を無視します。
データ型: char | string
出力引数
調和平均。数値スカラー、数値ベクトル、数値行列、または多次元数値配列として返されます。harmmean で 0 を含む配列の調和平均を計算した場合、返される値は 0 になります。
詳細
標本 X の調和平均は次のようになります。
ここで、n は X 内の値の個数です。
調和平均は、平均株価収益率や平均投資収益率など、一連の比率やレート値の平均を計算する場合に使用します。
拡張機能
harmmean 関数は、tall 配列を完全にサポートします。詳細については、tall 配列を参照してください。
使用上の注意および制限:
入力引数
"all"、vecdimおよびnanflagはサポートされません。入力引数
dimはコンパイル時の定数でなければなりません。入力引数
dimを指定しなかった場合、生成されるコードでは作用次元が異なる可能性があります。この結果、ランタイム エラーが発生する可能性があります。詳細は、既定の次元の選択に関する MATLAB との非互換性 (MATLAB Coder)を参照してください。
コード生成の詳細については、統計と機械学習の関数のコード生成の紹介およびMATLAB Coder を使用したコード生成の概要 (MATLAB Coder)を参照してください。
使用上の注意および制限については、「C/C++ コード生成」セクションを参照してください。GPU コード生成にも同様の、使用上の注意および制限が適用されます。
harmmean 関数は、スレッドベースの環境を完全にサポートします。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
この関数は、GPU 配列を完全にサポートします。詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2006a より前に導入harmmean は gpuArray 入力を完全にサポートします。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)
