Mercurial > repos > public > sbplib
comparison isEquidistant.m @ 487:b43c4d841afe
Add isEquidistant function for testing vectors
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Tue, 08 Aug 2017 08:26:25 +0200 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
486:e9e3973456c0 | 487:b43c4d841afe |
---|---|
1 % Tests if consecutive elements of vector v are euidistant | |
2 function b = isEquidistant(v) | |
3 if length(v) < 2 | |
4 error('sbplib:isEquidistant:inputTooShort', 'Input vector is too short'); | |
5 end | |
6 | |
7 tol = 1e-8; | |
8 | |
9 d = v(2:end) - v(1:end-1); | |
10 err = abs(d - d(1)); | |
11 | |
12 relErr = err./abs(d); | |
13 | |
14 I_zero = find(d < tol); | |
15 | |
16 relErr(I_zero) = err(I_zero); | |
17 | |
18 b = all(relErr < tol); | |
19 end |