bicubic.grid {akima} | R Documentation |

## Bicubic Interpolation for Data on a Rectangular grid

### Description

The description in the Fortran code says:

This subroutine performs interpolation of a bivariate function, z(x,y), on a rectangular grid in the x-y plane. It is based on the revised Akima method.

In this subroutine, the interpolating function is a piecewise function composed of a set of bicubic (bivariate third-degree) polynomials, each applicable to a rectangle of the input grid in the x-y plane. Each polynomial is determined locally.

This subroutine has the accuracy of a bicubic polynomial, i.e., it interpolates accurately when all data points lie on a surface of a bicubic polynomial.

The grid lines can be unevenly spaced.

### Usage

```
bicubic.grid(x,y,z,xlim=c(min(x),max(x)),ylim=c(min(y),max(y)),
nx=40,ny=40,dx=NULL,dy=NULL)
```

### Arguments

`x` |
a vector containing the |

`y` |
a vector containing the |

`z` |
a matrix containing the |

`xlim` |
vector of length 2 giving lower and upper limit for range |

`ylim` |
vector of length 2 giving lower and upper limit for range of |

`nx` |
output grid dimension in |

`ny` |
output grid dimension in |

`dx` |
output grid spacing in |

`dy` |
output grid spacing in |

### Details

This functiuon is a R interface to Akima's Rectangular-Grid-Data Fitting algorithm (TOMS 760). The algorithm has the accuracy of a bicubic (bivariate third-degree) polynomial.

### Value

This function produces a grid of interpolated points, feasible to be
used directly with `image`

and `contour`

:

`x` |
vector of |

`y` |
vector of |

`z` |
matrix of interpolated data for the output grid. |

### Note

Use `interp`

for the general case of irregular gridded data!

### References

Akima, H. (1996) Rectangular-Grid-Data
Surface Fitting that Has the Accuracy of a
Bicubic Polynomial,
J. ACM **22**(3), 357-361

### See Also

### Examples

```
data(akima760)
# interpolate at a grid [0,8]x[0,10]
akima.bic <- bicubic.grid(akima760$x,akima760$y,akima760$z)
zmin <- min(akima.bic$z, na.rm=TRUE)
zmax <- max(akima.bic$z, na.rm=TRUE)
breaks <- pretty(c(zmin,zmax),10)
colors <- heat.colors(length(breaks)-1)
image(akima.bic, breaks=breaks, col=colors)
contour(akima.bic, levels=breaks, add=TRUE)
```

*akima*version 0.6-3.4 Index]