MATLAB Function Reference    

Determine if arrays are numerically equal



tf = isequal(A,B,...) returns logical true (1) if the input arrays are the same type and size and hold the same contents, and logical false (0) otherwise.


When comparing structures, the order in which the fields of the structures were created is not important. As long as the structures contain the same fields, with corresponding fields set to equal values, isequal considers the structures to be equal. See Example 2, below.

When comparing numeric values, isequal does not consider the data type used to store the values in determining whether they are equal. See Example 3, below.

NaNs (Not a Number), by definition, are not equal. Therefore, arrays that contain NaN elements are not equal, and isequal returns zero when comparing such arrays. See Example 4, below. Use the isequalwithequalnans function when you want to test for equality with NaNs treated as equal.

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


Example 1


isequal(A,B,C) returns 0, and isequal(A,B) returns 1.

Example 2

When comparing structures with isequal, the order in which the fields of the structures were created is not important:

Example 3

When comparing numeric values, the data types used to store the values are not important:

Example 4

Arrays that contain NaN (Not a Number) elements cannot be equal, since NaNs, by definition, are not equal:

See Also

isequalwithequalnans, strcmp, isa, is*, relational operators

  isempty isequalwithequalnans