CURVEINTERP Interpolate a field or its gradient onto a set of curves. CURVEINTERP is a low-level function called by CLOSEDCURVES and CURVEMOMENTS. FC=CURVEINTERP(X,Y,F,XC,YC) interpolates the field in matrix F, with axes X and Y, onto the curves specified by XC and YC. X is associated with the *columns* of F and Y with its *rows*. The lengths of X and Y must match SIZE(F,2) and SIZE(F,1) respectively. Unlike INTERP2, CURVEINTERP permits XC and YC to be cell arrays of column vectors, in which case FC will be a cell array of the same size. This is useful for working with CLOSEDCURVES and CURVEMOMENTS. CURVEINTERP uses a fast loopless algorithm that is an order of magnitude faster than looping over the individual curves. CURVEINTERP works by calling INTERP2 with the 'linear' algorithm. __________________________________________________________________ Gradient interpolation GRADFC=CURVEINTERP(X,Y,F,XC,YC,'gradient') alternately interpolates not F, but instead its *gradient*, and returns the result in the complex- valued quantity GRADFC=dF/dX+sqrt(-1)*dF/dY. This can be very useful when F is large, because it is not necessary to compute the gradient of F everywhere. It is only computed locally in near the curves, which can lead to a considerable speed improvment. __________________________________________________________________ See also CLOSEDCURVES, CURVEMOMENTS. 'curveinterp --t' runs a test. Usage: fc=curveinterp(x,y,f,xc,yc); gradfc=curveinterp(x,y,f,xc,yc,'gradient'); __________________________________________________________________ This is part of JLAB --- type 'help jlab' for more information (C) 2013--2015 J.M. Lilly --- type 'help jlab_license' for details