Main Content

nanmax

(非推奨) NaN 値を無視した最大値

関数 nanmax は推奨されません。代わりに、MATLAB® 関数 max を使用してください。関数 max では、計算に NaN 値を含めるか省略するかを指定できます。詳細は、互換性の考慮事項を参照してください。

説明

y = nanmax(X) は、NaN 値を削除して計算された、X の最大値 max です。

ベクトル x の場合、NaN の値を削除した後は、nanmax(x) が残りの要素の最大値になります。行列 X の場合、NaN 値を削除した後は、nanmax(X) が列最大値の行ベクトルになります。多次元配列 X の場合、nanmax は大きさが 1 でない最初の次元に対して作用します。

y = nanmax(X,[],dim) は、X の次元 dim に沿って適用されます。

[y,indices] = nanmax(___) は、ベクトル indices の各列の最大値の行インデックスも返します。

y = nanmax(X,[],'all') は、NaN 値を削除して計算された、X のすべての要素の最大値を返します。

y = nanmax(X,[],vecdim) は、NaN 値を削除して計算された、ベクトル vecdim で指定された次元における最大値を返します。vecdim の各要素は、入力配列 X の次元を表します。出力 y の指定された作用次元における長さは 1 です。他の次元の長さは、Xy で同じになります。たとえば、X が 2 x 3 x 4 の配列である場合、nanmax(X,[],[1 2]) は 1 x 1 x 4 の配列を返します。出力配列の各要素は、X の対応するページにおける要素の最大値です。

Y = nanmax(X1,X2) は、Y(i,j) = nanmax(X1(i,j),X2(i,j)) によって X1 および X2 と同じサイズの配列 Y を返します。スカラー入力は、他の入力と同じサイズの配列に展開されます。

すべて折りたたむ

欠損値が含まれている行列データについて、列の最大値およびそのインデックスを求めます。

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

   NaN     1   NaN
     3     5   NaN
     4   NaN   NaN

[y,indices] = nanmax(X)
y = 1×3

     4     5   NaN

indices = 1×3

     3     2     1

欠損値を無視して、配列内のすべての値の最大値を求めます。

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

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

     1     3     5     7     9
     2     4     6     8   NaN


X(:,:,2) =

   NaN    13    15    17    19
   NaN    14    16    18    20


X(:,:,3) =

    21    23   NaN    27    29
    22    24    26    28    30

X の要素の最大値を求めます。

y = nanmax(X,[],'all')
y = 30

拡張機能

バージョン履歴

R2006a より前に導入

すべて折りたたむ

R2020b: nanmax は非推奨

関数 nanmax は推奨されません。代わりに、MATLAB 関数 max を使用してください。nanmax が削除される予定はありません。

コードを更新するには、関数名 nanmax のインスタンスを max に変更します。入力引数を変更する必要はありません。NaN 値を含める場合、入力引数 nanflag'includenan' オプションを指定します。

関数 max には、関数 nanmax と比べて次のような利点があります。

  • max は、tall 配列、GPU 配列、分散配列、C/C++ コード生成、および GPU コード生成をサポートするための、より拡張された機能を提供します。

  • 'linear' オプションを指定すると、max は、最大値に対応する入力配列への線形インデックスを返します。

参考

|