|MATLAB Function Reference|
Make a piecewise polynomial
pp = mkpp(breaks,coefs)
builds a piecewise polynomial
pp from its breaks and coefficients.
breaks is a vector of length
L+1 with strictly increasing elements which represent the start and end of each of
coefs is an
k matrix with each row
coefs(i,:) containing the coefficients of the terms, from highest to lowest exponent, of the order
k polynomial on the interval
pp = mkpp(breaks,coefs,d)
indicates that the piecewise polynomial
d-vector valued, i.e., the value of each of its coefficients is a vector of length
breaks is an increasing vector of length
coefs is a
k array with
coefs(r,i,:) containing the
k coefficients of the
ith polynomial piece of the
rth component of the piecewise polynomial.
ppval to evaluate the piecwise polynomial at specific points. Use
unmkpp to extract details of the piecewise polynomial.
Note. The order of a polynomial tells you the number of coefficients used in its description. A kth order polynomial has the form
It has k coefficients, some of which can be 0, and maximum exponent k-1. So the order of a polynomial is usually one greater than its degree. For example, a cubic polynomial is of order 4.
The first plot shows the quadratic polynomial
shifted to the interval [-8,-4]. The second plot shows its negative
but shifted to the interval [-4,0].
The last plot shows a piecewise polynomial constructed by alternating these two quadratic pieces over four intervals. It also shows its first derivative, which was constructed after breaking the piecewise polynomial apart using
subplot(2,2,1) cc = [-1/4 1 0]; pp1 = mkpp([-8 -4],cc); xx1 = -8:0.1:-4; plot(xx1,ppval(pp1,xx1),'k-') subplot(2,2,2) pp2 = mkpp([-4 0],-cc); xx2 = -4:0.1:0; plot(xx2,ppval(pp2,xx2),'k-') subplot(2,1,2) pp = mkpp([-8 -4 0 4 8],[cc;-cc;cc;-cc]); xx = -8:0.1:8; plot(xx,ppval(pp,xx),'k-') [breaks,coefs,l,k,d] = unmkpp(pp); dpp = mkpp(breaks,repmat(k-1:-1:1,d*l,1).*coefs(:,1:k-1),d); hold on, plot(xx,ppval(dpp,xx),'r-'), hold off