Interpolate Matrix(x)

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

  • Библиотека:
  • Aerospace Blockset / GNC / Управление

  • 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 = [x 1x2x3... x ixi+1... x n].

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

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

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

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

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

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

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