MATLAB Function Reference  isequalwithequalnans

Test arrays for equality, treating `NaN`s as equal

Syntax

• ```tf = isequalwithequalnans(A, B, ...)
```

Description

```tf = isequalwithequalnans(A, B, ...) ``` returns logical `1` (`true`) if the input arrays are the same type and size and hold the same contents, and logical `0` (`false`) otherwise. `NaN` (Not a Number) values are considered to be equal to each other. Numeric data types and structure field order do not have to match.

Remarks

`isequalwithequalnans` is the same as `isequal`, except `isequalwithequalnans` considers `NaN` (Not a Number) values to be equal, and `isequal` does not.

`isequalwithequalnans` recursively compares the contents of cell arrays and structures. If all the elements of a cell array or structure are numerically equal, `isequalwithequalnans` returns logical `1`.

Examples

Arrays containing `NaN`s are handled differently by `isequal` and `isequalwithequalnans`. `isequal` does not consider `NaN`s to be equal, while `isequalwithequalnans` does.

• ```A = [32 8 -29 NaN 0 5.7];
B = A;
isequal(A, B)
ans =
0

isequalwithequalnans(A, B)
ans =
1
```

The position of `NaN` elements in the array does matter. If they are not in the same position in the arrays being compared, then `isequalwithequalnans` returns zero.

• ```A = [2 4 6 NaN 8];   B = [2 4 NaN 6 8];
isequalwithequalnans(A, B)
ans =
0
```

See Also

`isequal`, `strcmp`, `isa`, is*, relational operators

© 1994-2005 The MathWorks, Inc.