# approx3d: Trilinear interpolation in a 3D array

Description Usage Arguments Details Value Author(s) Examples

### Description

Interpolate within a 3D array, using the trilinear approximation.

### Usage

 `1` ```approx3d(x, y, z, f, xout, yout, zout) ```

### Arguments

 `x` vector of x values for grid (must be equi-spaced) `y` vector of y values for grid (must be equi-spaced) `z` vector of z values for grid (must be equi-spaced) `f` matrix of rank 3, with the gridd values mapping to the `x` values (first index of `f`), etc. `xout` vector of x values for output. `yout` vector of y values for output (length must match that of `xout`). `zout` vector of z values for output (length must match that of `xout`).

### Details

Trilinear interpolation is used to interpolate within the `f` array, for those (`xout`, `yout` and `zout`) triplets that are inside the region specified by `x`, `y` and `z`. Triplets that lie outside the range of `x`, `y` or `z` result in `NA` values.

### Value

A vector of interpolated values (or `NA` values), with length matching that of `xout`.

### Author(s)

Dan Kelley and Clark Richards

### Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17``` ```## set up a grid library(oce) n <- 5 x <- seq(0, 1, length.out=n) y <- seq(0, 1, length.out=n) z <- seq(0, 1, length.out=n) f <- array(1:n^3, dim=c(length(x), length(y), length(z))) ## interpolate along a diagonal line m <- 100 xout <- seq(0, 1, length.out=m) yout <- seq(0, 1, length.out=m) zout <- seq(0, 1, length.out=m) approx <- approx3d(x, y, z, f, xout, yout, zout) ## graph the results plot(xout, approx, type='l') points(xout[1], f[1, 1, 1]) points(xout[m], f[n,n,n]) ```

Search within the oce package
Search all R packages, documentation and source code

Questions? Problems? Suggestions? or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.