Возвратите интерполированную матрицу для данных входных параметров
Aerospace Blockset / GNC / Управление
Блок Interpolate Matrix(x,y,z) интерполирует 3D массив матриц.
Этот 3D случай принимает, что матрица задана в зависимости от трех независимых переменных:
x = [x 1 x 2 x 3... x i x i+1... x n
y = [y 1 y 2 y 3... y j y j+1... y m
z = [z 1 z 2 z 3... z k z k+1... z p
Для данных значений x, y и z, интерполированы восемь матриц. Затем для
x i < x < x i+1
y j < y < y j+1
z k < z < z k+1
выходной матрицей дают
где три части интерполяции обозначаются
В 3D случае интерполяция выполняется сначала на x, затем y, и наконец z.
Матрица, которая будет интерполирована, должна быть пятимерной, первые две размерности, соответствующие матрице в каждом значении x, y и z. Например, если у вас есть восемь матриц A, B, C, D, E, F, G и H, заданный в следующих значениях x, y и z, затем соответствующей входной матрицей дают
(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;
|
Этот блок должен управляться от блока Prelookup.
3D Controller [A(v),B(v),C(v),D(v)] | 3D Observer Form [A(v),B(v),C(v),F(v),H(v)] | 3D Self-Conditioned [A(v),B(v),C(v),D(v)] | Interpolate Matrix(x) | Interpolate Matrix(x,y) | Prelookup