# Does matlab have a function that says "If zero is near?

80 views (last 30 days)
Muhendisleksi on 12 Aug 2017
Commented: Walter Roberson on 12 Aug 2017
I need a command that checks that the number is near zero.

#### 1 Comment

Jan on 12 Aug 2017
Note that "near zero" is not well defined. Is 0.00001 near zeros or only 1e-100?

Star Strider on 12 Aug 2017
There is not built-in MATLAB function for that.
It is possible to create one easily enough:
nearZero = @(x,tol) abs(x) < tol; % Test If ‘x’ Is Within ‘tol’ OF Zero
tol = 0.5;
x = rand(1,6) .* (-2:3);
Test = [x; nearZero(x,tol)]
Test =
-0.87571 -0.057386 0 0.090743 1.0487 0.082315
0 1 1 1 0 1

John D'Errico on 12 Aug 2017
+1. Or you can make it an m-file, if this is something you wish to keep around forever because you use it often. To be honest, I think most of us don't bother, just writing the test like (abs(x)<tol) in our sleep as we need it. That is why there is no function to do this explicitly in MATLAB.
Walter Roberson on 12 Aug 2017
ismembertol can also be used for this purpose