<< imag elementary functions isequal >>

# isapprox

### Syntax

 res = isapprox(x1, x2) res = isapprox(x1, x2, precision)

### Input argument

x1

a matrix, a sparse matrix of doubles, or a multidimensional matrix.

x2

a matrix, a sparse matrix of doubles, or a multidimensional matrix.

precision

a double value: 0. by default

res

a logical value

### Description

For matrices, the comparison is done using the Hilbert-Schmidt norm (aka Frobenius norm L2 norm).

isapprox manages complex numbers. In this case, the real parts of the input arguments are compared. If this fails, it returns false. If this succeeds, the imaginary parts are compared.

To compare values, NaN, Inf, -Inf and remaining values, are separated. As it is impossible to compare NaN values between them, we compare the indices where NaN value occurs. For infinity values, we also compare the indices where Inf values occurs.

### Examples

A = pi
B = single(pi)
res = isapprox(A, B)

A = pi
B = single(pi)
res = isapprox(A, B, 1e-4)

A = [pi NaN]
res = isapprox(A, A)

A = [pi NaN]
B = [pi + 2*eps, NaN]
res = isapprox(A, B)
res = isapprox(A, B, eps)