This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.


New break distribution


newknots = newknt(f,newl)
[...,distfn] = newknt(...)


newknots = newknt(f,newl) returns the knot sequence whose interior knots cut the basic interval of f into newl pieces, in such a way that a certain piecewise linear monotone function related to the high derivative of f is equidistributed.

The intent is to choose a knot sequence suitable to the fine approximation of a function g whose rough approximation in f is assumed to contain enough information about g to make this feasible.

newknt(f) uses for newl its default value, namely the number of polynomial pieces in f.

[...,distfn] = newknt(...) also returns, in distfn, the ppform of that piecewise linear monotone function being equidistributed.


If the error in the least-squares approximation sp to some data x,y by a spline of order k seems uneven, you might try for a more equitable distribution of knots by using


For another example, see Solving a Nonlinear ODE with a Boundary Layer by Collocation.


This is the Fortran routine NEWNOT in PGS. With k the order of the piecewise-polynomial function f in pp, the function |Dkf| is approximated by a piecewise constant function obtained by local, discrete, differentiation of the variation of Dk–1f. The new break sequence is chosen to subdivide the basic interval of the piecewise-polynomial f in such a way that

newknots(i)newknots(i+1)|Dkf|1/k=const, i=k:k+newl1