Spline Toolbox | ![]() ![]() |
Locate sites with respect to mesh sites
Syntax
pointer = sorted(meshsites,sites)
Description
Various commands in this toolbox need to determine the index j for which a given x lies in the interval , with
a given nondecreasing sequence, e.g., a knot sequence. This job is done by
sorted
in the following fashion.
The vector pointer=sorted(meshsites,sites)
is the integer sequence for which, for all j
, pointer(j)
equals the number of entries in meshsites
that are
ssites(j)
, with ssites=sort(sites)
. Thus, if both meshsites
and sites
are nondecreasing, then
meshsites(pointer(j))
![]()
sites(j)
<meshsites(pointer(j)
+1)
with the obvious interpretations when
pointer(j)
< 1 orlength(meshsites)
<pointer(j)
+ 1
Specifically, having pointer(j) < 1
then corresponds to having sites(j)
strictly to the left of meshsites(1)
, while having length(meshsites) < pointer(j)+1
then corresponds to having sites(j)
at, or to the right of, meshsites(end)
.
Examples
sorted([1 1 1 2 2 3 3 3],[0:4])
will generate the output 0 3 5 8 8
, as will the statement
sorted([3 2 1 1 3 2 3 1],[2 3 0 4 1])
Algorithm
The indexing output from sort([meshsites(:).',sites(:).'])
is used.
![]() | slvblk | spap2 | ![]() |