Interpolate Matrix(x,y,z)

Return interpolated matrix for given inputs




The Interpolate Matrix(x,y,z) block interpolates a three-dimensional array of matrices.

This three-dimensional case assumes the matrix is defined as a function of three independent variables:

x = [x1 x2 x3 ... xi xi+1 ... xn]

y = [y1 y2 y3 ... yj yj+1 ... ym]

z = [z1 z2 z3 ... zk zk+1 ... zp]

For given values of x, y, and z, eight matrices are interpolated. Then for

xi < x < xi+1

yj < y < yj+1

zk < z < zk+1

the output matrix is given by

(1λz){(1λy)[(1λx)M(xi,yj,zk)+λxM(xi+1,yj,zk)]             +λy[(1λx)M(xi,yj+1,zk)+λxM(xi+1,yj+1,zk)]}   +λz{(1λy)[(1λx)M(xi,yj,zk+1)+λxM(xi+1,yj,zk+1)]            +λy[(1λx)M(xi,yj+1,zk+1)+λxM(xi+1,yj+1,zk+1)]}

where the three interpolation fractions are denoted by


In the three-dimensional case, the interpolation is carried out first on x, then y, and finally z.

The matrix to be interpolated should be five dimensional, the first two dimensions corresponding to the matrix at each value of x, y, and z. For example, if you have eight matrices A, B, C, D, E, F, G, and H defined at the following values of x, y, and z, then the corresponding input matrix is given by

(x = 0.0,y = 1.0,z = 0.1)matrix(:,:,1,1,1) = A;
(x = 0.0,y = 1.0,z = 0.5)matrix(:,:,1,1,2) = B;
(x = 0.0,y = 3.0,z = 0.1) matrix(:,:,1,2,1) = C;
(x = 0.0,y = 3.0,z = 0.5) matrix(:,:,1,2,2) = D;
(x = 1.0,y = 1.0,z = 0.1)matrix(:,:,2,1,1) = E;
(x = 1.0,y = 1.0,z = 0.5) matrix(:,:,2,1,2) = F;
(x = 1.0,y = 3.0,z = 0.1)matrix(:,:,2,2,1) = G;
(x = 1.0,y = 3.0,z = 0.5)matrix(:,:,2,2,2) = H;


Matrix to interpolate

Matrix to be interpolated, with five indices and the third, fourth, and fifth indices labeling the interpolating values of x, y, and z.

Inputs and Outputs

InputDimension TypeDescription


 Contains the first interpolation index i.


 Contains the first interpolation fraction λx.


 Contains the second interpolation index j.


 Contains the second interpolation fraction λy.


 Contains the third interpolation index k.


 Contains the third interpolation fraction λz.

OutputDimension TypeDescription


 Contains the interpolated matrix.

Assumptions and Limitations

This block must be driven from the Simulink® Prelookup block.

Introduced before R2006a

Was this topic helpful?