Previous: fitvpt Up: ../plot79_f.html Next: fitvta
SUBROUTINE FITVSF (MD, NCP, NDP, XD, YD, ZD, NXI, NYI, X XI, YI, ZI, IWK, WK, IERROR) C$ (ALG526 - Smooth Surface Fitting) C$ This subroutine performs smooth surface fitting when the C$ projections of the data points in the X-Y plane are C$ irregularly distributed in the plane. The input parameters C$ are C$ C$ MD.............Mode of computation (must be 1, 2, or 3), C$ = 1 for new NCP and/or new XD-YD, C$ = 2 for old NCP, old XD-YD, new XI-YI, C$ = 3 for old NCP, old XD-YD, old XI-YI, C$ NCP............Number of additional data points used for C$ estimating partial derivatives at each data C$ point (must be 2 or greater, but smaller C$ than NDP), C$ NDP............Number of data points (must be 4 or greater), C$ XD(*)..........Array of dimension NDP containing the X C$ coordinates of the data points, C$ YD(*)..........Array of dimension NDP containing the Y C$ coordinates of the data points, C$ ZD(*)..........Array of dimension NDP containing the Z C$ coordinates of the data points, C$ NXI............Number of output grid points in the X C$ coordinate (must be 1 or greater), C$ NYI............Number of output grid points in the Y C$ coordinate (must be 1 or greater), C$ XI(*)..........Array of dimension NXI containing the X C$ coordinates of the output grid points, C$ YI(*)..........Array of dimension NYI containing the Y C$ coordinates of the output grid points. C$ C$ The output parameters are C$ C$ ZI(*,*)........Doubly-dimensioned array of dimension C$ (NXI,NYI), where the interpolated Z values C$ at the output grid points are to be stored. C$ IERROR.........0 (Normal return) C$ 1 (Abnormal return. a message will be C$ printed giving all the arguments, and C$ nothing more will be done) C$ C$ The other parameters are C$ C$ IWK(*).........INTEGER array of dimension C$ MAX0(31,27+NCP)*NDP + NXI*NYI used C$ internally as a work area, C$ WK(*)..........Array of dimension 5*NDP used internally as C$ a work area. C$ C$ The very first call to this subroutine and the call with a C$ new NCP value, a new NDP value, and/or new contents of the C$ XD and YD arrays must be made with MD=1. The call with C$ MD=2 must be preceded by another call with the same NCP and C$ NDP values and with the same contents of the XD and YD C$ arrays. The call with MD=3 must be preceded by another C$ call with the same NCP, NDP, NXI, and NYI values and with C$ the same contents of the XD, YD, XI, and YI arrays. C$ Between the call with MD=2 or MD=3 and its preceding call, C$ the IWK and WK arrays must not be disturbed. Use of a C$ value between 3 and 5 (inclusive) for NCP is recommended C$ unless there are evidences that dictate otherwise. C$ C$ This subroutine calls the FITVCL, FITVGR, FITVPD, FITVPT, C$ and FITVTA subroutines. C$ C$ This routine incorporates the corrections published in C$ Hiroshi Akima, "Remark on Algorithm 526", ACM Trans. Math. C$ Software 5, No. 2, 242-243 (June 1979). C$ C$ (03-APR-82)