Replaced call to PiecewisePolynomial with BPoly

master
Per A Brodtkorb 8 years ago
parent 876c869551
commit ccbc64a558

@ -5,7 +5,7 @@ import scipy.signal
# import scipy.sparse.linalg # @UnusedImport # import scipy.sparse.linalg # @UnusedImport
import scipy.sparse as sparse import scipy.sparse as sparse
from numpy import ones, zeros, prod, sin, diff, pi, inf, vstack, linspace from numpy import ones, zeros, prod, sin, diff, pi, inf, vstack, linspace
from scipy.interpolate import PiecewisePolynomial, interp1d from scipy.interpolate import BPoly, interp1d
from wafo import polynomial as pl from wafo import polynomial as pl
@ -1010,16 +1010,17 @@ class StinemanInterp(object):
return yi return yi
class StinemanInterp2(PiecewisePolynomial): class StinemanInterp2(BPoly):
def __init__(self, x, y, yp=None, method='parabola', monotone=False): def __init__(self, x, y, yp=None, method='parabola', monotone=False):
if yp is None: if yp is None:
yp = slopes(x, y, method, monotone=monotone) yp = slopes(x, y, method, monotone=monotone)
yyp = [z for z in zip(y, yp)] yyp = [z for z in zip(y, yp)]
super(StinemanInterp2, self).__init__(x, yyp) bpoly = BPoly.from_derivatives(x, yyp)
super(StinemanInterp2, self).__init__(bpoly.c, x)
class CubicHermiteSpline(PiecewisePolynomial): class CubicHermiteSpline(BPoly):
''' '''
Piecewise Cubic Hermite Interpolation using Catmull-Rom Piecewise Cubic Hermite Interpolation using Catmull-Rom
@ -1030,10 +1031,12 @@ class CubicHermiteSpline(PiecewisePolynomial):
if yp is None: if yp is None:
yp = slopes(x, y, method, monotone=False) yp = slopes(x, y, method, monotone=False)
yyp = [z for z in zip(y, yp)] yyp = [z for z in zip(y, yp)]
super(CubicHermiteSpline, self).__init__(x, yyp, orders=3) bpoly = BPoly.from_derivatives(x, yyp, orders=3)
super(CubicHermiteSpline, self).__init__(bpoly.c, x)
# super(CubicHermiteSpline, self).__init__(x, yyp, orders=3)
class Pchip(PiecewisePolynomial): class Pchip(BPoly):
"""PCHIP 1-d monotonic cubic interpolation """PCHIP 1-d monotonic cubic interpolation
@ -1130,7 +1133,9 @@ class Pchip(PiecewisePolynomial):
if yp is None: if yp is None:
yp = slopes(x, y, method=method, monotone=True) yp = slopes(x, y, method=method, monotone=True)
yyp = [z for z in zip(y, yp)] yyp = [z for z in zip(y, yp)]
super(Pchip, self).__init__(x, yyp, orders=3) bpoly = BPoly.from_derivatives(x, yyp, orders=3)
super(Pchip, self).__init__(bpoly.c, x)
# super(Pchip, self).__init__(x, yyp, orders=3)
def interp3(x, y, z, v, xi, yi, zi, method='cubic'): def interp3(x, y, z, v, xi, yi, zi, method='cubic'):

Loading…
Cancel
Save