メインコンテンツ

nanmedian

R2026b

(非推奨) NaN 値を無視した中央値

関数 nanmedian は推奨されません。代わりに、MATLAB® 関数 median を使用してください。関数 median では、計算に NaN 値を含めるか省略するかを指定できます。詳細については、バージョン履歴を参照してください。

説明

y = nanmedian(X) は、すべての NaN 値を削除して計算された、X の要素の median を返します。

  • X がベクトルである場合、nanmedian(X) は X のすべての非 NaN 要素の中央値です。

  • X が行列である場合、nanmedian(X) は NaN 値を削除して計算された、列中央値の行ベクトルです。

  • X が多次元配列である場合、nanmedian は X の大きさが 1 でない最初の次元に作用します。この次元のサイズは 1 になりますが、他の次元のサイズはすべて変化しません。nanmedian はすべての NaN 値を削除します。

例

y = nanmedian(X,"all") は、NaN 値を削除して計算された、X のすべての要素の中央値を返します。

y = nanmedian(X,dim) は、NaN 値を削除して計算された、X の作用次元 dim に沿った中央値を返します。

y = nanmedian(X,vecdim) は、ベクトル vecdim で指定された次元における中央値を返します。中央値は、NaN 値を削除した後で計算されます。たとえば X が行列である場合、次元 1 および 2 によって定義される配列スライスには行列のそれぞれの要素がすべて含まれるため、nanmedian(X,[1 2]) は X のすべての非 NaN 要素の中央値になります。

例

例

すべて折りたたむ

欠損値が含まれている行列データの列中央値を求めます。

X = magic(3);
X([1 6:9]) = NaN
X = 3×3

   NaN     1   NaN
     3     5   NaN
     4   NaN   NaN

y = nanmedian(X)
y = 1×3

    3.5000    3.0000       NaN

複数の次元における多次元配列の中央値を求めます。

欠損値が含まれている 3 x 5 x 2 の配列 X を作成します。

X = reshape(1:30,[3 5 2]);
X([10:12 25]) = NaN
X = 
X(:,:,1) =

     1     4     7   NaN    13
     2     5     8   NaN    14
     3     6     9   NaN    15


X(:,:,2) =

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

作用次元として 1 番目の次元と 2 番目の次元を指定して、X の各ページの中央値を求めます。

ypage = nanmedian(X,[1 2])
ypage = 
ypage(:,:,1) =

    6.5000


ypage(:,:,2) =

   22.5000

たとえば、ypage(1,1,1) は X(:,:,1) の非 NaN 要素の中央値です。

作用次元として 1 番目の次元と 3 番目の次元を指定して、各 X(:,i,:) スライスの要素の中央値を求めます。

ycol = nanmedian(X,[1 3])
ycol = 1×5

    9.5000   12.5000   15.5000   26.5000   21.5000

たとえば、ycol(4) は X(:,4,:) の非 NaN 要素の中央値です。

入力引数

すべて折りたたむ

入力データ。スカラー、ベクトル、行列または多次元配列を指定します。

X が空の配列である場合、nanmedian(X) は NaN になります。

作用する対象となる次元。正の整数スカラーを指定します。値を指定しなかった場合、サイズが 1 ではない最初の配列次元が既定値になります。

dim は、長さを 1 に縮小する次元を指定します。size(y,dim) は 1 ですが、他の次元のサイズはすべて変化しません。

2 次元配列 X について考えます。

  • dim が 1 に等しい場合、nanmedian(X,1) は各列の中央値が格納されている行ベクトルを返します。

  • dim が 2 に等しい場合、nanmedian(X,2) は各行の中央値が格納されている列ベクトルを返します。

dim が ndims(X) より大きい場合、または size(X,dim) が 1 である場合、nanmedian は X を返します。

次元のベクトル。正の整数ベクトルを指定します。vecdim の各要素は、入力配列 X の次元を表します。出力 y の指定された作用次元における長さは 1 です。他の次元の長さは、X と y で同じになります。

たとえば、X が 2×3×3 の配列である場合、nanmedian(X,[1 2]) は 1×1×3 の配列を返します。出力の各要素は、X の対応するページにおける要素の中央値です。

Mapping of input dimension of 2-by-3-by-3 to output dimension of 1-by-1-by-3

出力引数

すべて折りたたむ

中央値の値。スカラー、ベクトル、行列、または多次元配列として返されます。

拡張機能

すべて展開する

バージョン履歴

R2006a より前に導入

すべて折りたたむ

参考

|