# isequalwithequalnans

Test arrays for equality, treating NaNs as equal

 Note:   `isequalwithequalnans` is not recommended. Use `isequaln` instead.

## 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.

## 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```

expand all

### Tips

`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`.