linearInterp           package:fUtilities           R Documentation

_B_i_v_a_r_i_a_t_e _L_i_n_e_a_r _I_n_t_e_r_p_o_l_a_t_i_o_n

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

     Bivariate Linear Interpolation. Two options are available gridded
     and pointwise interpolation.

_U_s_a_g_e:

      
     linearInterp(x, y = NULL, z = NULL, gridPoints = 21,
         xo = seq(min(x), max(x), length = gridPoints),
         yo = seq(min(y), max(y), length = gridPoints))
         
     linearInterpp(x, y = NULL, z = NULL, xo, yo)

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

 x, y, z: for 'linearInterp' the arguments 'x' and 'y' are  two numeric
          vectors of grid pounts, and 'z' is a numeric  matrix or any
          other rectangular object which can be transformed  by the
          function 'as.matrix' into a matrix object.   For
          'linearInterpp' we  consider either three numeric vectors  of
          equal length or if  'y' and 'z' are NULL, a list with 
          entries 'x', 'y', 'z', or named data frame with  'x' in the
          first, 'y' in the second, and 'z' in  the third column.  

gridPoints: an integer value specifying the number of grid points in
          'x'  and 'y' direction. 

  xo, yo: for 'linearInterp' two numeric vectors of data points
          spanning the grid, and for 'linearInterpp' two numeric
          vectors of data points building pairs for pointwise
          interpolation. 

_V_a_l_u_e:

     'linearInterp'

     returns a list with at least three entries, 'x', 'y'  and 'z'.
     Note, that the returned values, can be directly  used by the 
     'persp' and 'contour' 3D plotting methods.

     'linearInterpp' 

     returns a data.frame with columns '"x"', '"y"',  and '"z"'.

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

     'akimaInterp', and 'krigeInterp'.

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

      
     ## linearInterp -
        # Linear Interpolation:    
        if (require(akima)) {
          set.seed(1953)
          x = runif(999) - 0.5
          y = runif(999) - 0.5
          z = cos(2*pi*(x^2+y^2))
          ans = linearInterp(x, y, z, gridPoints = 41)
          persp(ans, theta = -40, phi = 30, col = "steelblue",
             xlab = "x", ylab = "y", zlab = "z")
          contour(ans)
        }

