本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

NaN

创建所有值均为 NaN 的数组

说明

X = NaN 返回“非数值”的标量表示形式。如果运算有未定义的数值结果,如 0/00*Inf,则运算返回 NaN

示例

X = NaN(n) 返回 NaN 值的 n×n 矩阵。

示例

X = NaN(sz1,...,szN) 返回由 NaN 值组成的 sz1×...×szN 数组,其中 sz1,...,szN 指示每个维度的大小。例如:NaN(3,4) 返回一个 3×4 的矩阵。

示例

X = NaN(sz) 返回 NaN 值的数组,其中大小向量 sz 定义 size(X)。例如:NaN([3 4]) 返回一个 3×4 的矩阵。

示例

X = NaN(___,typename) 返回由数据类型为 typename(可以是 'single''double')的 NaN 值组成的数组。

示例

X = NaN(___,'like',p) 将返回一个由 NaN 值组成的数组,它具有与 p 相同的数据类型、稀疏度和复/实性。您可以指定 typename'like',但不能同时指定二者。

示例

全部折叠

创建一个由 NaN 值组成的 3×3 矩阵。

X = NaN(3)
X = 3×3

   NaN   NaN   NaN
   NaN   NaN   NaN
   NaN   NaN   NaN

创建一个由 NaN 值组成的 2×3×4 数组并显示其大小。

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

通常可以将前两行代码合并成一行:

X = NaN(size(A));

创建一个由元素类型为 singleNaN 值组成的 1×3 向量。

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

   NaN   NaN   NaN

您也可以根据另一个变量的类型指定输出类型。创建一个类型为 single 的变量 p。然后,创建一个由 NaN 值组成的向量,其大小和类型与 p 相同。

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。

  • 对于第二个维度以上的维度,NaN 忽略长度为 1 的尾部维度。例如,NaN(3,1,1) 创建一个由 NaN 值组成的 3×1 向量。

数据类型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

向量中每个维度的大小,指定为由整数组成的行向量。

  • 如果任一维度的大小为 0,则 X 为空数组。

  • 如果任一维度的大小为负值,则其将被视为 0。

  • 对于第二个维度以上的维度,NaN 忽略长度为 1 的尾部维度。例如,NaN([3 1 1]) 创建一个由 NaN 值组成的 3×1 向量。

数据类型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

要创建的数据类型,指定为 'double''single'

要创建的数组的原型,指定为数组。

数据类型: double | single
复数支持:

提示

  • X = NaN 返回“非数值”的 IEEE® 格式 double 类型标量表示。该值的按位十六进制精确表示是 fff8000000000000。MATLAB® 保留其他 NaN 表示的“非数值”状态,并将所有表示视为等效。在某些特殊情况下(例如由于硬件限制),MATLAB 在计算过程中不保留其他表示的精确位模式,而是使用上述的标准 NaN 位模式。

  • NaN 值互不相等。因此,涉及 NaN 的比较运算返回 false,但不等于运算符 ~= 除外。例如,NaN == NaN 返回逻辑值 0 (false),NaN ~= NaN 返回逻辑值 1 (true)。

  • 向量中的 NaN 值被视为不同的唯一元素。例如,unique([1 1 NaN NaN]) 返回行向量 [1 NaN NaN]

  • 使用 isnanismissing 函数检测数组中的 NaN 值。rmmissing 函数检测并删除 NaN 值,fillmissing 函数检测 NaN 值,并用非 NaN 值替换它们。

扩展功能

在 R2006a 之前推出