Augment knot sequence


[augknot,addl] = augknt(...)


augknt(knots,k) returns a nondecreasing and augmented knot sequence that has the first and last knot with exact multiplicity k. (This may actually shorten the knot sequence.) )

augknt(knots,k,mults) makes sure that the augmented knot sequence returned will, in addition, contain each interior knot mults times. If mults has exactly as many entries as there are interior knots, then the jth one will appear mults(j) times. Otherwise, the uniform multiplicity mults(1) is used. If knots is strictly increasing, this ensures that the splines of order k with knot sequence augknot satisfy k-mults(j) smoothness conditions across knots(j+1), j=1:length(knots)-2.

[augknot,addl] = augknt(...) also returns the number addl of knots added on the left. (This number may be negative.)


If you want to construct a cubic spline on the interval [a..b], with two continuous derivatives, and with the interior break sequence xi, then augknt([a,b,xi],4) is the knot sequence you should use.

If you want to use Hermite cubics instead, i.e., a cubic spline with only one continuous derivative, then the appropriate knot sequence is augknt([a,xi,b],4,2).  

augknt([1 2 3 3 3],2) returns the vector [1 1 2 3 3], as does augknt([3 2 3 1 3],2). In either case, addl would be 1.