| 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 | ![]() |