iqr
データ セットの四分位数間範囲
説明
は、入力データ r
= iqr(A
)A
の要素の四分位数間範囲値を返します。
A
がベクトルの場合、r
はA
に含まれるデータの 75 番目と 25 番目の百分位数の差です。A
が行列の場合、r
はA
の各列のサンプル データの 75 番目と 25 番目の百分位数の差を含む行ベクトルです。A
が多次元配列の場合、r
にはサイズが 1 より大きい最初の配列次元に沿って計算された四分位数間範囲値が含まれます。この次元のサイズは 1 になりますが、他のすべての次元のサイズは入力データと同じままです。
例
行列の列または行の四分位数間範囲
正規分布した乱数データの 4 行 4 列の行列を生成します。
rng default % for reproducibility A = randn(4,4)
A = 4×4
0.5377 0.3188 3.5784 0.7254
1.8339 -1.3077 2.7694 -0.0631
-2.2588 -0.4336 -1.3499 0.7147
0.8622 0.3426 3.0349 -0.2050
データの各列の四分位数間範囲を計算します。
r = iqr(A)
r = 1×4
2.2086 1.2013 2.5969 0.8541
データの各行の四分位数間範囲を計算します。
r2 = iqr(A,2)
r2 = 4×1
1.7237
2.9870
1.9449
1.8797
多次元配列の四分位数間範囲
"all
" または vecdim
入力を指定して、多次元配列の複数の次元の四分位数間範囲を計算します。
3×4×2 の配列を作成します。
A = reshape(1:24,[3 4 2])
A = A(:,:,1) = 1 4 7 10 2 5 8 11 3 6 9 12 A(:,:,2) = 13 16 19 22 14 17 20 23 15 18 21 24
A
のすべての値の四分位数間範囲を計算します。
rall = iqr(A,"all")
rall = 12
A
の各ページの四分位数間範囲を計算します。四分位数間範囲を計算する操作次元として 1 番目と 2 番目の次元を指定します。
rPage = iqr(A,[1 2])
rPage = rPage(:,:,1) = 6 rPage(:,:,2) = 6
rPage(1,1,1)
は A(:,:,1)
のすべての要素の四分位数間範囲です。
2 番目と 3 番目の次元を操作次元として指定して、A(i,:,:)
の各スライスの要素の四分位数間範囲を計算します。
rRow = iqr(A,[2 3])
rRow = 3×1
12
12
12
rRow(3)
は A(3,:,:)
のすべての要素の四分位数間範囲です。
入力引数
A
— 入力配列
ベクトル | 行列 | 多次元配列
入力配列。ベクトル、行列または多次元配列として指定します。
データ型: single
| double
dim
— 演算の対象の次元
正の整数スカラー
演算の対象の次元。正の整数のスカラーとして指定します。次元を指定しない場合、既定値はサイズが 1 より大きい最初の配列次元です。
入力行列 A
を考えます。
r = iqr(A,1)
は、A
の列の四分位数間範囲を計算します。指定された操作次元が 1 であるため、r
にはA
の列数と等しい数の行が含まれます。r = iqr(A,2)
は、A
の行の四分位数間範囲を計算します。指定された操作次元が 2 であるため、r
にはA
の行数と等しい数の列が含まれます。
次元 dim
は、長さが 1 に縮小した r
の次元を示します。size(r,dim)
は 1 になりますが、出力 r
の他のすべての次元のサイズは入力データと同じままです。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
vecdim
— 演算の対象の次元のベクトル
正の整数のベクトル
演算の対象の次元のベクトル。正の整数のベクトルとして指定します。各要素は入力データの次元を表します。
指定された操作次元の出力 r
のサイズは 1 になります。他のすべての次元の r
の長さは入力データと同じままです。
2×3×3 の入力配列 A
を考えます。iqr(A,[1 2])
は、操作次元が 1 と 2 であるため 1×1×3 の配列を返します。出力配列の各ページには、A
の対応するページの要素の四分位数間範囲が含まれます。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意事項および制限事項:
"all"
およびvecdim
入力はサポートされていません。dim
入力引数はコンパイル時の定数でなければなりません。dim
入力引数を指定しなかった場合、動作対象の (操作) 次元は生成されたコードで異なるものになる可能性があります。結果として、ランタイム エラーが発生する場合があります。詳細については、自動次元選択の制限事項 (MATLAB Coder)を参照してください。
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
この関数は GPU 配列を完全にサポートしています。詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
分散配列
Parallel Computing Toolbox™ を使用して、クラスターの結合メモリ上で大きなアレイを分割します。
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2006a より前に導入R2022b: 小規模な入力データでのパフォーマンスの向上
より高速な入力解析により、関数 iqr
のパフォーマンスが向上しました。パフォーマンスの向上は、入力解析が計算時間の大半を占める場合に顕著です。この状況は、以下の場合に発生します。
入力データのサイズが小さい。
既定の操作次元に沿って計算する。
たとえば、次のコードは、4000 個の要素をもつ行列について四分位数間範囲を計算します。以前のリリースと比較して、このコードは約 4.67 倍速くなっています。
function timingIqr A = rand(400,10); for k = 1:3e3 r = iqr(A); end end
おおよその実行時間は以下のとおりです。
R2022a: 0.98 秒
R2022b: 0.21 秒
このコードの時間測定では、Windows® 10、Intel® Xeon® CPU E5-1650 v4 (3.60 GHz) 搭載のテスト システムで、関数 timeit
を使用しました。
timeit(@timingIqr)
R2022a: Statistics and Machine Learning Toolbox から MATLAB に移行
以前は、iqr
では Statistics and Machine Learning Toolbox™ が必要でした。
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)