NaN - Create array of all NaN values - MATLAB (original) (raw)
Create array of all NaN
values
Syntax
Description
[X](#mw%5Fafb116f8-769e-4cee-bc31-1bb62afb480c) = NaN
returns the scalar representation of "not a number". Operations return NaN
when they have undefined numeric results, such as 0/0
or0*Inf
.
[X](#mw%5Fafb116f8-769e-4cee-bc31-1bb62afb480c) = NaN([n](#d126e1160660))
returns ann
-by-n
matrix of NaN
values.
[X](#mw%5Fafb116f8-769e-4cee-bc31-1bb62afb480c) = NaN([sz1,...,szN](#mw%5Fb597fd4e-0d30-4b48-8feb-76483f094a3c))
returns an sz1
-by-...-by-szN
array ofNaN
values, where sz1,...,szN
indicate the size of each dimension. For example, NaN(3,4)
returns a 3-by-4 matrix.
[X](#mw%5Fafb116f8-769e-4cee-bc31-1bb62afb480c) = NaN([sz](#mw%5Ffdda7c2e-68e5-4498-8776-7f6a5f3a83ce))
returns an array of NaN
values, where the size vector sz
defines size(X)
. For example, NaN([3 4])
returns a 3-by-4 matrix.
[X](#mw%5Fafb116f8-769e-4cee-bc31-1bb62afb480c) = NaN(___,[typename](#mw%5F218f8ea7-8bb3-4402-adaf-89a7accc51ce))
returns an array of NaN
values of data typetypename
, which can be either "single"
or"double"
.
[X](#mw%5Fafb116f8-769e-4cee-bc31-1bb62afb480c) = NaN(___,like=[p](#mw%5F6bb64174-2f2b-47dc-a3d3-7a49c3f3aa80))
returns an array of NaN
values of the same data type, sparsity, and complexity (real or complex) as p
. You can specifytypename
or like
but not both.
Examples
Create a 3-by-3 matrix of NaN
values.
X = 3×3
NaN NaN NaN NaN NaN NaN NaN NaN NaN
Create a 2-by-3-by-4 array of NaN
values and display its size.
Create an array of NaN
values that is the same size as an existing array.
A = [1 4; 2 5; 3 6]; sz = size(A); X = NaN(sz)
X = 3×2
NaN NaN NaN NaN NaN NaN
It is a common pattern to combine the previous two lines of code into a single line.
Create a 1-by-3 vector of NaN
values whose elements are of type single
.
X = 1×3 single row vector
NaN NaN NaN
You can also specify the output type based on the type of another variable. Create a variable p
of type single
. Then, create a vector of NaN
values with the same size and type as p
.
p = single([1 2 3]); X = NaN(size(p),like=p)
X = 1×3 single row vector
NaN NaN NaN
Input Arguments
Size of square matrix, specified as an integer.
- If
n
is 0, thenX
is an empty matrix. - If
n
is negative, then it is treated as 0.
Data Types: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Size of each dimension in a list, specified as separate integer arguments.
- If the size of any dimension is 0, then
X
is an empty array. - If the size of any dimension is negative, then it is treated as 0.
- Beyond the second dimension,
NaN
ignores trailing dimensions of length 1. For example,NaN(3,1,1)
creates a 3-by-1 vector ofNaN
values.
Data Types: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Size of each dimension in a vector, specified as a row vector of integers.
- If the size of any dimension is 0, then
X
is an empty array. - If the size of any dimension is negative, then it is treated as 0.
- Beyond the second dimension,
NaN
ignores trailing dimensions of length 1. For example,NaN([3 1 1])
creates a 3-by-1 vector ofNaN
values.
Data Types: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Data type to create, specified as "double"
or"single"
.
Prototype of array to create, specified as an array.
Data Types: double
| single
Complex Number Support: Yes
Output Arguments
Array of NaN
values, returned as a scalar, vector, matrix, or multidimensional array.
Tips
X = NaN
returns the scalar, typedouble
, IEEE® representation of "not a number". The exact bit-wise hexadecimal representation of this value isfff8000000000000
. MATLAB® preserves the "not a number" status of alternateNaN
representations and treats all representations equivalently. In some special cases, due to hardware limitations for example, MATLAB does not preserve the exact bit pattern of the alternate representations during computation, and instead uses the canonicalNaN
bit pattern previously described.NaN
values are not equal to each other. As a result, comparison operations involvingNaN
return false, except for the not equal operator~=
. For example,NaN == NaN
returns logical 0 (false
), butNaN ~= NaN
returns logical 1 (true
).NaN
values in a vector are treated as different unique elements. For example,unique([1 1 NaN NaN])
returns the row vector[1 NaN NaN]
.- Use the
isnan
orismissing
function to detectNaN
values in an array. Use theanynan
oranymissing
function to determine if any array element isNaN
. Use thermmissing
function to detect and removeNaN
values, and thefillmissing
function to detectNaN
values and replace them with non-NaN
values.
Extended Capabilities
Usage notes and limitations:
- Dimensions must be real, nonnegative, integers.
Usage notes and limitations:
- Dimensions must be real, nonnegative, integers.
The NaN
function supports GPU array input with these usage notes and limitations:
- You can specify
typename
as'gpuArray'
. If you specifytypename
as'gpuArray'
, the default underlying type of the array isdouble
.
To create a GPU array with underlying typedatatype
, specify the underlying type as an additional argument beforetypename
. For example,X = NaN(3,datatype,'gpuArray')
creates a 3-by-3 GPU array of allNaN
values with underlying typedatatype
.
You can specify the underlying typedatatype
as one of these options:'double'
'single'
- You can also specify the numeric variable
p
as agpuArray
.
If you specifyp
as agpuArray
, the underlying type of the returned array is the same asp
.
For more information, see Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
Usage notes and limitations:
- You can specify
typename
as'codistributed'
or'distributed'
. If you specifytypename
as'codistributed'
or'distributed'
, the default underlying type of the returned array isdouble
.
To create a distributed or codistributed array with underlying typedatatype
, specify the underlying type as an additional argument beforetypename
. For example,X = NaN(3,datatype,'distributed')
creates a 3-by-3 distributed array of allNaN
values with underlying typedatatype
.
You can specify the underlying typedatatype
as one of these options:'double'
'single'
- You can also specify
p
as acodistributed
ordistributed
array.
If you specifyp
as acodistributed
ordistributed
array, the underlying type of the returned array is the same asp
. - For additional
codistributed
syntaxes, see NaN (codistributed) (Parallel Computing Toolbox).
For more information, see Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
Version History
Introduced before R2006a