MATLAB Function Reference |
Syntax
Description
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 L
intervals. coefs
is an L
-by-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 [breaks(i),breaks(i+1)]
.
pp = mkpp(breaks,coefs,d)
indicates that the piecewise polynomial pp
is d
-vector valued, i.e., the value of each of its coefficients is a vector of length d
. breaks
is an increasing vector of length L+1
. coefs
is a d
-by-L
-by-k
array with coefs(r,i,:)
containing the k
coefficients of the i
th polynomial piece of the r
th component of the piecewise polynomial.
Use ppval
to evaluate the piecewise 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.
Examples
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 unmkpp
.
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
See Also
mkdir (ftp) | mldivide \, mrdivide / |
© 1994-2005 The MathWorks, Inc.