| Contents | Index |
knots = aptknt(tau,k)
[knots,k] = aptknt(tau,k)
knots = aptknt(tau,k) returns a knot sequence suitable for interpolation at the data sites tau by splines of order k with that knot sequence, provided tau has at least k entries, is nondecreasing, and satisfies tau(i)<tau(i+k-1) for all i. In that case, there is exactly one spline of order k with knot sequence knots that matches given values at those sites. This is so because the sequence knots returned satisfies the Schoenberg-Whitney conditions
knots(i) < tau(i) < knots(i+k), i=1:length(tau)
with equality only at the extreme knots, each of which occurs with exact multiplicity k.
If tau has fewer than k entries, then k is reduced to the value length(tau). An error results if tau fails to be nondecreasing and/or tau(i) equals tau(i+k-1) for some i.
[knots,k] = aptknt(tau,k) also returns the actual k used (which equals the smaller of the input k and length(tau)).
If tau is equally spaced, e.g., equal to linspace(a,b,n) for some n>=4, and y is a sequence of the same size as tau, then sp = spapi(aptknt(tau,4),tau,y) gives the cubic spline interpolant with the not-a-knot end condition. This is the same cubic spline as produced by the command spline(tau,y), but in B-form rather than ppform.
The (k-1)-point averages sum(tau(i+1:i+k-1))/(k-1) of the sequence tau, as supplied by aveknt(tau,k), are augmented by a k-fold tau(1) and a k-fold tau(end). In other words, the command gives the same result as augknt([tau(1),aveknt(tau,k),tau(end)],k), provided tau has at least k entries and k is greater than 1.
If tau is very nonuniform, then use of the resulting knot sequence for interpolation to data at the sites tau may lead to unsatisfactory results.
augknt | aveknt | newknt | optknt
| © 1984-2012- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |