Accelerating the pace of engineering and science

Interpolate Matrix(x,y,z)

Return interpolated matrix for given inputs

GNC/Controls

Description

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

where the three interpolation fractions are denoted by

$\begin{array}{l}{\lambda }_{x}=\left(x-{x}_{i}\right)/\left({x}_{i+1}-{x}_{i}\right)\\ {i}_{y}=\left(y-{y}_{j}\right)/\left({y}_{j+1}-{y}_{j}\right)\\ {\lambda }_{z}=\left(z-{z}_{k}\right)/\left({z}_{k+1}-{z}_{k}\right)\end{array}$

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;

Dialog Box

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

First

Contains the first interpolation index i.

Second

Contains the first interpolation fraction λx.

Third

Contains the second interpolation index j.

Fourth

Contains the second interpolation fraction λy.

Fifth

Contains the third interpolation index k.

Sixth

Contains the third interpolation fraction λz.

OutputDimension TypeDescription

First

Contains the interpolated matrix.

Assumptions and Limitations

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