Interpolate Matrix(x)

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

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

  • Interpolate Matrix(x) block

Описание

Блок Interpolate Matrix(x) интерполирует одномерный массив матриц. Блок принимает одномерный массив, как определено в Алгоритмах.

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

matrix(:,:,1) = A;

matrix(:,:,2) = B;

matrix(:,:,3) = C;

Ограничения

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

Порты

Вход

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

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

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point | enumerated | bus

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

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point | enumerated | bus

Выход

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

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

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point | enumerated | bus

Параметры

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

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

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

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

Алгоритмы

Этот одномерный случай принимает матрицу, M определяется дискретным числом значений независимой переменной

x = [<reservedrangesplaceholder5> 1 <reservedrangesplaceholder4> 2 <reservedrangesplaceholder3> 3 ... x я x я + 1... x n].

Затем для x  i < x < x i + 1, выход блока задается как

(1λ)M(xi)+λM(xi+1)

где интерполяционная дробь определяется как

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

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

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

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