interp2
Two dimensional interpolation.
Syntax
zi = interp2(x,y,z,xi,yi)
zi = interp2(x,y,z,xi,yi,method)
zi = interp2(x,y,z,xi,yi,method,extrap)
Inputs
- x,y,z
- The point coordinate values with which to interpolate.
- z
- The grid of function values with which to interpolate.
- xi,yi
- The domain points at which to interpolate.
- method
- The available options are:
- 'linear' (default)
- Returns the bilinear interpolation.
- 'spline'
- Returns the bicubic spline interpolation.
- extrap
- The available options are:
- 'extrapVal' (default for 'linear': NaN)
- Out of bounds values are set to this scalar value.
- 'extrap' (default for 'spline')
- Allows extrapolation beyond the intervals using the current method.
- 'noextrap'
- Does not allow extrapolation.
Outputs
- zi
- The interpolated z values corresponding to (xi,yi) pairs.
Examples
With 'linear' method:
x = [2, 5, 6, 10, 12, 17];
y = [10, 13, 17, 18, 23, 25, 29];
z = [98 184 214 328 386 528;
129 242 281 431 507 694;
170 319 370 568 668 915;
181 339 393 603 709 971;
232 435 504 774 910 1247;
253 474 549 843 991 1358;
294 551 638 980 1152 1579];
xi = [3, 5, 7, 11, 16];
yi = [11, 16, 21, 29]';
zi = interp2(x,y,z,xi,yi,'linear')
zi = [Matrix] 4 x 5
140.00000 203.33333 267.83333 394.33333 551.93333
206.41667 299.75000 394.25000 580.75000 813.35000
273.26667 396.60000 521.10000 767.60000 1075.20000
379.66667 551.00000 723.50000 1066.00000 1493.60000
With 'spline' method:
x = [2, 5, 6, 10, 12, 17];
y = [10, 13, 17, 18, 23, 25, 29];
z = [98 184 214 328 386 528;
129 242 281 431 507 694;
170 319 370 568 668 915;
181 339 393 603 709 971;
232 435 504 774 910 1247;
253 474 549 843 991 1358;
294 551 638 980 1152 1579];
xi = [3, 5, 7, 11, 16];
yi = [11, 16, 21, 29]';
zi = interp2(x,y,z,xi,yi,'spline')
zi = [Matrix] 4 x 5
138.57956 203.66379 268.77725 394.48736 553.65523
204.24151 299.32574 394.43920 580.14931 814.31718
271.79883 396.88307 521.99653 767.70664 1076.87451
377.91577 551.00000 724.11346 1065.82357 1494.99144
Comments
If x and y are matrices, then the rows of x are assumed to be identical, and likewise for the columns of y. If x and y are vectors, then their lengths must equal the number of columns and rows of z, respectively.
If xi and yi are matrices with matching dimensions, then zi must have the same dimensions. If xi and yi are vectors, then their lengths determine the number of columns and rows of zi, respectively.
The 'spline' method uses not-a-knot cubic splines on the grid, together with a bicubic interpolation between the grid lines.