ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

無限大と NaN

無限大

MATLAB® では、特殊な値 inf を使用して無限大を表現します。無限大は、標準の浮動小数点値として表すには結果が大きすぎる、ゼロ除算やオーバーフローなどの演算で発生します。MATLAB に用意された inf という関数は、正の無限大についての IEEE® の算術表現を double スカラー値として返します。

MATLAB で正または負の無限大を返すステートメントの例を以下に示します。

x = 1/0
x =
Inf

x = 1.e1000
x =
   Inf

x = exp(1000)
x =
   Inf

x = log(0)
x =
   -Inf

x が正または負の無限大であることを確かめたい場合は、関数 isinf を使用します。

x = log(0);

isinf(x)
ans =
     1

NaN

MATLAB では、数値以外を意味する NaN という特殊な値を使用して、実数や複素数ではない値を表現します。0/0inf/inf のような式や、NaN を伴う算術演算では、NaN が返されます。

x = 0/0
x =
   NaN

x の実数部が NaN であることを確かめたい場合は、関数 isnan を使用します。

isnan(x)
ans =
     1

MATLAB には NaN という関数もあり、この関数では double スカラー値として NaN に対する IEEE の算術表現が返されます。

x = NaN;

whos x
  Name      Size                   Bytes  Class

  x         1x1                        8  double

NaN に対する論理演算

2 つの NaN は等しくないため、NaN を使用した論理演算では、等しくないことを確認するテストの場合 (NaN ~= NaN) 以外は常に偽が返されます。

NaN > NaN
ans =
     0

NaN ~= NaN 
ans =
     1

無限大と NaN 関数

MATLAB で infNaN に一般的に使用される関数のリストは、「無限大と NaN 関数」を参照してください。

この情報は役に立ちましたか?