Interpolate Matrix(x,y)

Возвращает интерполированную матрицу для заданных входов

  • Библиотека:
  • Аэрокосмический Blockset/GNC/Control

  • Interpolate Matrix(x,y) block

Описание

Блок Interpolate Matrix(x,y) интерполирует двумерный массив матриц. В двумерных случаях интерполяция проводится сначала на x, а затем и y. Для получения дополнительной информации см. «Алгоритмы».

Интерполируемая матрица должна быть четырехмерной, первые две размерности, соответствующие матрице при каждом значении x и y. Например, если у Вас есть четыре матрицы A, B, C, и D, определенный в     (x = 0.0,y = 1.0),     (x = 0.0,y = 3.0),     (x = 1.0,y = 1.0) и     (x = 1.0,y = 3.0), затем матрица входа задается как

matrix(:,:,1,1) = A;

matrix(:,:,1,2) = B;

matrix(:,:,2,1) = C;

matrix(:,:,2,2) = D;

Ограничения

Этот блок должен быть выведен из блока Prelookup.

Порты

Вход

расширить все

Первый индекс интерполяции i, заданный как скаляр и вектор.

Типы данных: double

Первая интерполяционная дробь λ x, заданный как скаляр

Типы данных: double

Второй индекс интерполяции j, заданный как скаляр.

Типы данных: double

Вторая интерполяционная дробь λ y, заданный как скаляр.

Типы данных: double

Выход

расширить все

Интерполированная матрица, заданная как матрица.

Типы данных: double

Параметры

расширить все

Матрица, которая будет интерполирована, с четырьмя индексами и третьим и четвертым индексами, маркирующими интерполяционные значения x и y.

Программное использование

Параметры блоков: matrix
Тип: Вектор символов
Значения: матрица
По умолчанию: 'matrix'

Алгоритмы

Этот двумерный случай предполагает, что матрица задана как функция от двух независимых переменных, x = [x 1 x 2 x 3... x я x я + 1... x n] и y = [y 1 y 2 y 3... y j y j + 1... y м]. Для заданных значений x и y четыре матрицы интерполированы  . Тогда для x я <x <<reservedrangesplaceholder3> i+1 и <reservedrangesplaceholder2> j <y <<reservedrangesplaceholder0> j+1, выходной матрицей дают

(1λy)[(1λx)M(xi,yj)+λxM(xi+1,yj)]+λy[(1λx)M(xi,yj+1)+λxM(xi+1,yj+1)]

где две интерполяционные дроби обозначены как

λx=(xxi)/(xi+1xi)

и

λy=(yyj)/(yj+1yj)

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ Simulink ®

.
Представлено до R2006a