无穷大和NaN

无限

MATLAB®代表由特殊的价值无限INF。无穷大的结果从由零和溢出等除法运算,从而导致结果过大,无法表示为常规浮点值。MATLAB还提供了一个调用的函数INF它返回IEEE®为正无穷大的算术表示标值。

在MATLAB返回正或负无穷大语句的几个例子在这里显示。

X = 1/0
X =
天道酬勤

X = 1.e1000
X =
天道酬勤

X = EXP(1000)
X =
天道酬勤

X =日志(0)
X =
-Inf

使用isinf功能验证X是正或负无穷大:

X =日志(0);isinf(x)的ANS = 1

为NaN

MATLAB表示不与所谓的特殊值实数或复数值为NaN,它代表“不是一个数字”。这样的表达式0/0INF / INF造成为NaN,因为这样做涉及任何算术运算为NaN

X = 0/0 X = NaN的

您还可以创建为NaN人民共同:

X = NaN的;卫生组织第十名大小的字节数X级的1x1 8双

为NaN函数返回IEEE算术图示之一为NaN作为一个标值。这样做的确切逐位十六进制表示为NaN值是,

格式六角X = NaN的X = fff8000000000000

始终使用isnan函数来验证在数组中的元素是为NaN

isnan(x)的ANS = 1

MATLAB保留备用的“不是一个数字”状态为NaN交涉和处理所有的不同表示为NaN等效。然而,在某些特殊情况下(可能是由于硬件限制),MATLAB不保留备用的确切位模式为NaN贯穿整个计算的表示,而是使用规范为NaN位模式定义如上。

南朝逻辑运算

因为有两个为NaNs的不等于涉及对方,逻辑操作为NaN总是返回false,除了不平等的测试,(NaN的〜= NaN的):

为NaN>的NaN ANS = 0的NaN〜= NaN的ANS = 1