# Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English verison of the page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

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

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