Main Content

NaN

すべて NaN 値の配列の作成

説明

X = NaN は、"非数値" のスカラー表現を返します。演算は、0/00*Inf などの定義されていない数値結果が得られた場合に NaN を返します。

X = NaN(n) は、nn 列の NaN 値の行列を返します。

X = NaN(sz1,...,szN) は、NaN 値の sz1×...×szN の配列を返します。ここで sz1,...,szN はそれぞれの次元のサイズを示します。たとえば、NaN(3,4) は 3 行 4 列の行列を返します。

X = NaN(sz)NaN 値の配列を返します。ここでサイズ ベクトル szsize(X) を定義します。たとえば、NaN([3 4]) は 3 行 4 列の行列を返します。

X = NaN(___,typename) は、'single' または 'double' のいずれかであるデータ型 typenameNaN 値の配列を返します。

X = NaN(___,'like',p) は、データ型、スパース性および実数/複素数の区別が p と同じである NaN 値の配列を返します。typename'like' のどちらか一方を指定できます。

すべて折りたたむ

3 行 3 列の NaN 値の行列を作成します。

X = NaN(3)
X = 3×3

   NaN   NaN   NaN
   NaN   NaN   NaN
   NaN   NaN   NaN

2×3×4 の NaN 値の配列を作成し、そのサイズを表示します。

X = NaN(2,3,4);
size(X)
ans = 1×3

     2     3     4

既存の配列と同じサイズの NaN 値の配列を作成します。

A = [1 4; 2 5; 3 6];
sz = size(A);
X = NaN(sz)
X = 3×2

   NaN   NaN
   NaN   NaN
   NaN   NaN

上記の 2 行のコードを 1 行にまとめた一般的なパターンを次に示します。

X = NaN(size(A));

要素が single 型である NaN 値の 1 行 3 列のベクトルを作成します。

X = NaN(1,3,'single')
X = 1x3 single row vector

   NaN   NaN   NaN

別の変数の型に基づいて出力タイプを指定することもできます。single 型の変数 p を作成します。次に、p と同じサイズと型をもつ NaN 値のベクトルを作成します。

p = single([1 2 3]);
X = NaN(size(p),'like',p)
X = 1x3 single row vector

   NaN   NaN   NaN

入力引数

すべて折りたたむ

正方行列のサイズ。整数として指定します。

  • n が 0 の場合、X は空の行列です。

  • n が負の場合、0 として扱われます。

データ型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

リスト内の各次元のサイズ。個別の整数引数として指定します。

  • いずれかの次元のサイズが 0 の場合、X は空の配列です。

  • いずれかの次元のサイズが負の場合、そのサイズは 0 として扱われます。

  • 2 番目より後の次元の長さが 1 の場合、それらの次元は NaN で無視されます。たとえば、NaN(3,1,1)NaN 値の 3 行 1 列のベクトルを作成します。

データ型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

ベクトルにおける各次元のサイズ。整数の行ベクトルとして指定します。

  • いずれかの次元のサイズが 0 の場合、X は空の配列です。

  • いずれかの次元のサイズが負の場合、そのサイズは 0 として扱われます。

  • 2 番目より後の次元の長さが 1 の場合、それらの次元は NaN で無視されます。たとえば、NaN([3 1 1])NaN 値の 3 行 1 列のベクトルを作成します。

データ型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

作成するデータ型。'double' または 'single' として指定します。

作成する配列のプロトタイプ。配列として指定します。

データ型: double | single
複素数のサポート: あり

ヒント

  • X = NaN は、"非数値" の double 型スカラーを IEEE® 表現で返します。この値の正確なビット単位の 16 進数表現は fff8000000000000 です。MATLAB® は代替の NaN 表現の "非数値" の状態を保持し、すべての表現を同等に扱います。一部の特殊なケースでは、たとえばハードウェアの制限により、MATLAB が計算時に代替表現の正確なビット パターンを保持せず、代わりに前述した正規の NaN ビット パターンを使用することがあります。

  • NaN 値は相互に等しくありません。この結果、NaN を含む比較演算は、"等しくない" 演算子 ~= を除いて false を返します。たとえば、NaN == NaN は logical 0 (false) を返しますが、NaN ~= NaN は logical 1 (true) を返します。

  • ベクトル内の NaN 値は、異なる固有な要素として取り扱われます。たとえば、unique([1 1 NaN NaN]) は行ベクトル [1 NaN NaN] を返します。

  • 配列内の NaN 値を検出するには、関数 isnan または関数 ismissing を使用します。いずれかの配列要素が NaN であるかどうかを判別するには、関数 anynan または関数 anymissing を使用します。NaN 値を検出して削除するには、関数 rmmissing を使用します。NaN 値を検出して NaN 以外の値と置き換えるには、関数 fillmissing を使用します。

拡張機能

バージョン履歴

R2006a より前に導入