annotate isEquidistant.m @ 774:66eb4a2bbb72 feature/grids

Remove default scaling of the system. The scaling doens't seem to help actual solutions. One example that fails in the flexural code. With large timesteps the solutions seems to blow up. One particular example is profilePresentation on the tdb_presentation_figures branch with k = 0.0005
author Jonatan Werpers <jonatan@werpers.com>
date Wed, 18 Jul 2018 15:42:52 -0700
parents b43c4d841afe
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
487
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 % Tests if consecutive elements of vector v are euidistant
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2 function b = isEquidistant(v)
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3 if length(v) < 2
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
4 error('sbplib:isEquidistant:inputTooShort', 'Input vector is too short');
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5 end
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7 tol = 1e-8;
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
9 d = v(2:end) - v(1:end-1);
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10 err = abs(d - d(1));
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
12 relErr = err./abs(d);
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
13
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14 I_zero = find(d < tol);
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
16 relErr(I_zero) = err(I_zero);
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
18 b = all(relErr < tol);
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
19 end