MATLAB Answers


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

Asked by Muhendisleksi on 12 Aug 2017
Latest activity Commented on by Walter Roberson
on 12 Aug 2017
I need a command that checks that the number is near zero.

  1 Comment

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

Sign in to comment.


1 Answer

Answer by 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


+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.
ismembertol can also be used for this purpose

Sign in to comment.