Interpolate Matrix(x)

Return interpolated matrix for given input




The Interpolate Matrix(x) block interpolates a one-dimensional array of matrices.

This one-dimensional case assumes a matrix M is defined at a discrete number of values of an independent variable

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

Then for xi < x < xi+1, the block output is given by


where the interpolation fraction is defined as


The matrix to be interpolated should be three dimensional, the first two dimensions corresponding to the matrix at each value of x. For example, if you have three matrices A, B, and C defined at x = 0, x = 0.5, and x = 1.0, then the input matrix is given by

matrix(:,:,1) = A;

matrix(:,:,2) = B;

matrix(:,:,3) = C;


Matrix to interpolate

Matrix to be interpolated, with three indices and the third index labeling the interpolating values of x.

Inputs and Outputs

InputDimension TypeDescription


 Contains the interpolation index i.


 Contains the interpolation fraction λ.

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?