Return interpolated matrix for given inputs
Aerospace Blockset / GNC / Control
The Interpolate Matrix(x,y) block interpolates a two-dimensional array of matrices. In two-dimensional cases, the interpolation is carried out first on x and then y. For more information, see Algorithms.
The matrix to be interpolated must be four-dimensional, the first two dimensions
corresponding to the matrix at each value of x and
y. For example, if you have four matrices A,
B, C, and D defined at
(x = 0.0,y = 1.0),
(x = 0.0,y = 3.0),
(x = 1.0,y = 1.0) and
(x = 1.0,y = 3.0), then the input matrix is
matrix(:,:,1,1) = A;
matrix(:,:,1,2) = B;
matrix(:,:,2,1) = C;
matrix(:,:,2,2) = D;
This block must be driven from the Prelookup block.
x_k— First interpolation index
First interpolation index i, specified as a scalar and vector.
x_f— First interpolation fraction
First interpolation fraction λ x, specified as a scalar
y_k— Second interpolation index
Second interpolation index j, specified as a scalar.
y_f— Second interpolation fraction
Second interpolation fraction λ y, specified as a scalar.
Matrix(x,y)— Interpolated matrix
Interpolated matrix, specified as a matrix.
Matrix to interpolate— Matrix
Matrix to be interpolated, with four indices and the third and fourth indices labeling the interpolating values of x and y.
|Type: character vector|
This two-dimensional case assumes the matrix is defined as a function of two independent variables, x = [ x1x2x3... xixi+1 ... xn] and y = [ y1y2y3 ... yjyj+1 ... ym]. For given values of x and y, four matrices are interpolated. Then for xi < x < xi+1 and yj < y < yj+1, the output matrix is given by
where the two interpolation fractions are denoted by