# 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;`

## Parameters

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.

## Examples

See the following block reference pages: 3D Controller [A(v),B(v),C(v),D(v)], 3D Observer Form [A(v),B(v),C(v),F(v),H(v)], and 3D Self-Conditioned [A(v),B(v),C(v),D(v)].

## See Also

Interpolate Matrix(x)

Interpolate Matrix(x,y)

#### Introduced before R2006a

Was this topic helpful?

Get trial now