

interpp(akima)                               R Documentation

_P_o_i_n_t_w_i_s_e _B_i_v_a_r_i_a_t_e _I_n_t_e_r_p_o_l_a_t_i_o_n _f_o_r _I_r_r_e_g_u_l_a_r _D_a_t_a

_D_e_s_c_r_i_p_t_i_o_n_:

     If `ncp' is zero, linear interpolation is used in the
     triangles bounded by data points.  Cubic interpolation
     is done if partial derivatives are used.  If `extrap'
     is `FALSE', z-values for points outside the convex hull
     are returned as `NA'.  No extrapolation can be per-
     formed if `ncp' is zero.

     The `interpp' function handles duplicate `(x,y)' points
     in different ways. As default it will stop with an
     error message. But it can give duplicate points an
     unique `z' value according to the parameter `duplicate'
     (`mean',`median' or any other user defined function).

     The triangulation scheme used by `interp' works well if
     `x' and `y' have similar scales but will appear
     stretched if they have very different scales.  The
     spreads of `x' and `y' must be within four orders of
     magnitude of each other for `interpp' to work.

_U_s_a_g_e_:

     interpp(x, y, z, xo, yo, ncp=0, extrap=F)

_A_r_g_u_m_e_n_t_s_:

       x: vector of x-coordinates of data points.  Missing
          values are not accepted.

       y: vector of y-coordinates of data points.  Missing
          values are not accepted.

       z: vector of z-coordinates of data points.  Missing
          values are not accepted.

          `x', `y', and `z' must be the same length  and may
          contain no fewer than four points. The points of
          `x' and `y' cannot be collinear, i.e, they cannot
          fall on the same line (two vectors `x' and `y'
          such that `y = ax + b' for some `a', `b' will not
          be accepted).

      xo: vector of x-coordinates of points at which to
          evaluate the interpolating function.

      yo: vector of y-coordinates of points at which to
          evaluate the interpolating function.

     ncp: number of additional points to be used in comput-
          ing partial derivatives at each data point.  `ncp'
          must be either `0' (partial derivatives are not
          used, = linear interpolation), or at least 2 but
          smaller than the number of data points (and
          smaller than 25).

  extrap: logical flag: should extrapolation be used outside
          of the convex hull determined by the data points?

duplicate: indicates how to handle duplicate data points.
          Possible values are `"error"' - produces an error
          message, `"strip"' - remove duplicate z values,
          `"mean"',`"median"',`"user"'  - calculate  mean ,
          median or user defined function of duplicate z
          values.

  dupfun: this function is applied to duplicate points if
          `duplicate="user"'

_V_a_l_u_e_:

     list with 3 components:

       x: vector of x-coordinates of output points, the same
          as the input argument `xo'.

       y: vector of y-coordinates of output points, the same
          as the input argument `yo'.

       z: fitted z-values.  The value `z[i]' is computed at
          the x,y point `x[i], y[i]'.

_N_O_T_E_:

     Use `interp' if interpolation on a regular grid is
     wanted.

     The two versions  `interpp.old'  and `interpp.new'
     refer to Akimas Fortran code from 1978 and 1996 resp.
     At the moment `interpp.new' does not work porperly (it
     results in a segmentation fault), so it is not used
     from the call wrapper  `interp'.

_R_e_f_e_r_e_n_c_e_s_:

     Akima, H. (1978). A Method of Bivariate Interpolation
     and Smooth Surface Fitting for Irregularly Distributed
     Data Points.  ACM Transactions on Mathematical Soft-
     ware, 4, 148-164.

     Akima, H. (1996). Algorithm 761: scattered-data surface
     fitting that has the accuracy of a cubic polynomial.
     ACM Transactions on Mathematical Software, 22, 362-371.

_S_e_e _A_l_s_o_:

     `contour', `image', `approx', `spline', `outer',
     `expand.grid',`interp'.

_E_x_a_m_p_l_e_s_:

     data(akima)
     # linear interpolation at points (1,2), (5,6) and (10,12)
     akima.lip<-interpp(akima$x, akima$y, akima$z,c(1,5,10),c(2,6,12))

