| Products & Services | Solutions | Academia | Support | User Community | Company |
| Download Product Updates | | | Get Pricing | | | Trial Software |
| Documentation → MATLAB |
| Contents | Index |
| Learn more about MATLAB |
tf = isequalwithequalnans(A, B, ...)
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.
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.
Arrays containing NaNs are handled differently by isequal and isequalwithequalnans. isequal does not consider NaNs 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 =
1The 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 =
0isequal, strcmp, isa, is*, relational operators
![]() | isequal (MException) | isevent | ![]() |

Includes the most popular MATLAB recorded presentations with Q&A sessions led by MATLAB experts.
| © 1984-2009- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |