Previous: fitttr Up: ../plot79_f.html Next: fitvcl


FITVBV

       SUBROUTINE  FITVBV (MD, NCP, NDP, XD, YD, ZD, NIP,
      X     XI, YI, ZI, IWK, WK, IERROR)
 C$    (ALG526 - Irregular Bivariate Interpolation)
 C$    This subroutine performs  bivariate interpolation 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$    NIP............Number   of   output    points   at    which
 C$                   interpolation is to be performed (must be  1
 C$                   or greater),
 C$    XI(*)..........Array of dimension NIP containing the X
 C$                   coordinates of the output points,
 C$    YI(*)..........Array of dimension NIP containing the Y
 C$                   coordinates of the output points.
 C$
 C$    The output parameters are
 C$
 C$    ZI(*)..........Array of dimension NIP where interpolated Z
 C$                   values 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+NIP used internally as a
 C$                   work area,
 C$    WK(*)..........Array of dimension  8*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, and NIP  values and with  the
 C$    same contents of the  XD, YD, XI,  and YI arrays.   Between
 C$    the call with MD=2 or MD=3 and its preceding call, the  IWK
 C$    and WK  arrays  must not  be  disturbed.  Use  of  a  value
 C$    between 3 and 5 (inclusive)  for NCP is recommended  unless
 C$    there are evidences that dictate otherwise.
 C$
 C$    This subroutine calls the  FITVCL, FITVLC, 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)