def derivative(self): """ Return first derivative of the piecewise polynomial """ cof = pl.polyder(self.coeffs) brks = self.breaks.copy() return PPform(cof, brks, fill=self.fill)
def test_pp(): coef = np.array([[1, 1], [0, 0]]) # linear from 0 to 2 @UnusedVariable # quadratic from 0 to 1 and 1 to 2. coef = np.array([[1, 1], [1, 1], [0, 2]]) dc = pl.polyder(coef, 1) c2 = pl.polyint(dc, 1) # @UnusedVariable breaks = [0, 1, 2] pp = PPform(coef, breaks) pp(0.5) pp(1) pp(1.5) dpp = pp.derivative() import matplotlib.pyplot as plt x = np.linspace(-1, 3) plt.plot(x, pp(x), x, dpp(x), '.') plt.show()