⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cspline.pro

📁 basic median filter simulation
💻 PRO
字号:
function cspline,xx, yy, tt, Deriv = deriv;+; NAME:;      CSPLINE;; PURPOSE:;      Function to evaluate a natural cubic spline at specified data points; EXPLANATION:;      Combines the Numerical Recipes functions SPL_INIT and SPL_INTERP;; CALLING SEQUENCE:;      result = cspline( x, y, t, [ DERIV = ]);; INPUTS:;      x - vector of spline node positions, must be monotonic increasing or;          decreasing;      y - vector of node values;      t - x-positions at which to evaluate the spline, scalar or vector;; INPUT-OUTPUT KEYWORD:;      DERIV - values of the second derivatives of the interpolating function ;               at the node points.   This is an intermediate step in the ;               computation of the natural spline that requires only the X and ;               Y vectors.    If repeated interpolation is to be applied to ;               the same (X,Y) pair, then some computation time can be saved ;               by supplying the DERIV keyword on each call.   On the first call;               DERIV will be computed and returned on output.    ;; OUTPUT:;       the values for positions t are returned as the function value;       If any of the input variables are double precision, then the output will;       also be double precision; otherwise the output is floating point.;; EXAMPLE:                               ;       The following uses the example vectors from the SPL_INTERP documentation;;       IDL> x = (findgen(21)/20.0)*2.0*!PI ;X vector;       IDL> y = sin(x)                     ;Y vector;       IDL> t = (findgen(11)/11.0)*!PI     ;Values at which to interpolate ;       IDL> plot,x,y,psym=1                ;Plot original grid;       IDL> oplot, t,cspline(x,y,t),psym=2 ;Overplot interpolated values;; METHOD:;      The "Numerical Recipes" implementation of the natural cubic spline is ;      used, by calling the intrinsic IDL functions SPL_INIT and SPL_INTERP.;; HISTORY:;      version 1  D. Lindler  May, 1989;      version 2  W. Landsman April, 1997;      Rewrite using the intrinsic SPL_INIT & SPL_INTERP functions;      Converted to IDL V5.0   W. Landsman   September 1997;      Work for monotonic decreasing X vector    W. Landsman   February 1999;-;-------------------------------------------------------------------------- On_error,2 if N_params() LT 3 then begin        print,'Syntax:  result = cspline( x, y, t, [ DERIV = ] )'        return,-1 endif                  n = N_elements(xx) if xx[n-1] LT xx[0] then begin               ;Descending order?        xrev = reverse(xx)        yrev = reverse(yy)        if N_elements(Deriv) NE n then begin                 if min( xx - xx[1:*]) LT 0 then $                          message,'ERROR - Input vector not monotonic'                  deriv = spl_init( xrev, yrev)        endif        return, spl_interp( xrev, yrev, deriv, tt) endif if N_elements(Deriv) NE n then deriv = spl_init( xx, yy) return, spl_interp( xx, yy, deriv, tt) end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -