def __init__(self, x, y, t, w=None, bbox=[None] * 2, k=3): """ Input: x,y - 1-d sequences of data points (x must be in strictly ascending order) t - 1-d sequence of the positions of user-defined interior knots of the spline (t must be in strictly ascending order and bbox[0]<t[0]<...<t[-1]<bbox[-1]) Optional input: w - positive 1-d sequence of weights bbox - 2-sequence specifying the boundary of the approximation interval. By default, bbox=[x[0],x[-1]] k=3 - degree of the univariate spline. """ #_data == x,y,w,xb,xe,k,s,n,t,c,fp,fpint,nrdata,ier xb = bbox[0] xe = bbox[1] if xb is None: xb = x[0] if xe is None: xe = x[-1] t = concatenate(([xb] * (k + 1), t, [xe] * (k + 1))) n = len(t) if not alltrue(t[k + 1:n - k] - t[k:n - k - 1] > 0, axis=0): raise ValueError('Interior knots t must satisfy ' 'Schoenberg-Whitney conditions') data = dfitpack.fpcurfm1(x, y, k, t, w=w, xb=xb, xe=xe) self._data = data[:-3] + (None, None, data[-1]) self._reset_class()
def __init__(self, x, y, t, w=None, bbox = [None]*2, k=3): """ Input: x,y - 1-d sequences of data points (x must be in strictly ascending order) t - 1-d sequence of the positions of user-defined interior knots of the spline (t must be in strictly ascending order and bbox[0]<t[0]<...<t[-1]<bbox[-1]) Optional input: w - positive 1-d sequence of weights bbox - 2-sequence specifying the boundary of the approximation interval. By default, bbox=[x[0],x[-1]] k=3 - degree of the univariate spline. """ #_data == x,y,w,xb,xe,k,s,n,t,c,fp,fpint,nrdata,ier xb=bbox[0] xe=bbox[1] if xb is None: xb = x[0] if xe is None: xe = x[-1] t = concatenate(([xb]*(k+1),t,[xe]*(k+1))) n = len(t) if not alltrue(t[k+1:n-k]-t[k:n-k-1] > 0,axis=0): raise ValueError,\ 'Interior knots t must satisfy Schoenberg-Whitney conditions' data = dfitpack.fpcurfm1(x,y,k,t,w=w,xb=xb,xe=xe) self._data = data[:-3] + (None,None,data[-1]) self._reset_class()