Mercurial > repos > public > sbplib
diff isEquidistant.m @ 592:4422c4476650 feature/utux2D
Merge with feature/grids
author | Martin Almquist <martin.almquist@it.uu.se> |
---|---|
date | Mon, 11 Sep 2017 14:17:15 +0200 |
parents | b43c4d841afe |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/isEquidistant.m Mon Sep 11 14:17:15 2017 +0200 @@ -0,0 +1,19 @@ +% Tests if consecutive elements of vector v are euidistant +function b = isEquidistant(v) + if length(v) < 2 + error('sbplib:isEquidistant:inputTooShort', 'Input vector is too short'); + end + + tol = 1e-8; + + d = v(2:end) - v(1:end-1); + err = abs(d - d(1)); + + relErr = err./abs(d); + + I_zero = find(d < tol); + + relErr(I_zero) = err(I_zero); + + b = all(relErr < tol); +end