Page 152 - Applied Numerical Methods Using MATLAB
P. 152
TWO-DIMENSIONAL INTERPOLATION 141
subject to the conditions
h (x 0 ) = h (0) = 2, h (1) = 0, h (2) = 0, h (x N ) = h (3) = 2
3
2
N
0
0
1
(E3.4.2)
For this problem, we only have to type the following statements in the MAT-
LAB command window.
>>x=[0123];y=[0145]; dy=[2002]; xi=[0:0.01:3];
>>H = hermits(x,y,dy); yi = ppval(mkpp(x,H), xi);
3.7 TWO-DIMENSIONAL INTERPOLATION
In this section we deal with only the simplest way of two-dimensional
interpolation—that is, a generalization of piecewise linear interpolation called
(x 1 , y 1 ) (x 2 , y 1 ) (x 3 , y 1 )
x 1 x 2 x 3 y 1 y 1 y 1
(x 1 , y 2 ) (x 2 , y 2 ) (x 3 , y 2 )
x 1 x 2 x 3 y 2 y 2 y 2
(x 1 , y 3 ) (x 2 , y 3 ) (x 3 , y 3 )
x 1 x 2 x 3 y 3 y 3 y 3
X Y (X, Y)
x = [x 1 x 2 x 3 ] y = [y 1 y 2 y 3 ] [X, Y] = meshgrid (x, y)
z 1, 1 z 1, 2 z 1, 3
Z
z 2, 1 z 2, 2 z 2, 3
z 3, 1 z 3, 2 z 3, 3
Zi = interp2 (X, Y, Z, Xi, Yi)
or interp2 (x, y, Z, Xi, Yi)
i i i i i
z 1, 1 z 1, 2 z 1, 3 z 1, 4 z 1, 5
i i i i i
z 2, 1 z 2, 2 z 2, 3 z 2, 4 z 2, 5
i i i i i
z 3, 1 z 3, 2 z 3, 3 z 3, 4 z 3, 5
Zi i i i i i
z 4, 1 z 4, 2 z 4, 3 z 4, 4 z 4, 5
i i i i i
z 5, 1 z 5, 2 z 5, 3 z 5, 4 z 5, 5
i
i
i
i
i
i
i
i
i
xi = [x 1 x 2 x 3 x 4 x 5 ] yi = [y 1 y 2 y 3 y 4 y 5 ] i [Xi, Yi] = meshgrid (xi, yi)
Xi Yi (Xi, Yi)
i i i i i i i i i i i i i i i i i i i i
x 1 x 2 x 3 x 4 x 5 y 1 y 1 y 1 y 1 y 1 (x 1 , y 1 ) (x 2 , y 1 ) (x 3 , y 1 ) (x 4 , y 1 ) (x 5 , y 1 )
i i i i i i i i i i i i i i i i i i i i
x 1 x 2 x 3 x 4 x 5 y 2 y 2 y 2 y 2 y 2 (x 1 , y 2 ) (x 2 , y 2 ) (x 3 , y 2 ) (x 4 , y 2 ) (x 5 , y 2 )
i i i i i i i i i i i i i i i i i i i i
x 1 x 2 x 3 x 4 x 5 y 3 y 3 y 3 y 3 y 3 (x 1 , y 3 ) (x 2 , y 3 ) (x 3 , y 3 ) (x 4 , y 3 ) (x 5 , y 3 )
i i i i i i i i i i i i i i i i i i i i
x 1 x 2 x 3 x 4 x 5 y 4 y 4 y 4 y 4 y 4 (x 1 , y 4 ) (x 2 , y 4 ) (x 3 , y 4 ) (x 4 , y 4 ) (x 5 , y 4 )
i i i i i i i i i i i i i i i i i i i i
x 1 x 2 x 3 x 4 x 5 y 5 y 5 y 5 y 5 y 5 (x 1 , y 5 ) (x 2 , y 5 ) (x 3 , y 5 ) (x 4 , y 5 ) (x 5 , y 5 )
Figure 3.8 A two-dimensional interpolation using Zi = interp2() on the grid points
[Xi,Yi] generated by the meshgrid() command.