Прямая интерполяционная таблица (n-D)

Индексируйте в n-мерную таблицу, чтобы получить элемент, вектор или 2D матрицу

  • Библиотека:
  • Simulink / Интерполяционные таблицы

    HDL Coder / Интерполяционные таблицы

Описание

Прямая Интерполяционная таблица (n-D) блокирует индексы в n-мерную таблицу, чтобы получить элемент, вектор или 2D матрицу. Первый индекс выбора соответствует верхней части (или оставленный) входной порт. Можно принять решение обеспечить табличные данные как вход к блоку или задать табличные данные по диалоговому окну блока. Количество входных портов и размер вывода зависят от количества табличных размерностей и выходного среза, который вы выбираете.

Если вы выбираете вектор из 2D таблицы, выходной вектор может быть столбцом или строкой, в зависимости от образцовой установки Math and Data Types> Use algorithms optimized for row-major array layout параметра конфигурации. Входные параметры блока являются основанными на нуле индексами (для получения дополнительной информации, смотрите параметр Inputs select this object from table.

Блок Direct Lookup Table поддерживает символьные размерности.

Блокируйте вводы и выводы

Прямая Интерполяционная таблица (n-D) блокирует входные параметры использования как основанные на нуле индексы в n-мерную таблицу. Количество входных параметров меняется в зависимости от формы вывода: элемент, вектор или 2D матрица.

Вы задаете набор выходных значений как параметр Table data. Для главного столбцом поведения алгоритма по умолчанию первый вход задает основанный на нуле индекс к табличной размерности, которая является один выше, чем выходная размерность. Следующий вход задает основанный на нуле индекс к следующей табличной размерности и так далее.

Выведите формуВыведите размерностьТабличная Размерность, который Карты к Первому Входу
Элемент01
Вектор12
Матрица23

Предположим, что вы хотите выбрать вектор значений из 4-D таблицы.

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

Этот входной порт...Индекс для этой табличной размерности...
12
23
34

Изменения в виде значка блока

В зависимости от параметров вы устанавливаете, внешний вид изменений значка блока. Для табличных размерностей выше, чем 4, значок совпадает с 4-D версией, но показывает точное количество размерностей наверху.

Когда вы используете параметр Table data, вы видите эти значки для главного столбцом поведения по умолчанию. Некоторые значки отличаются, когда вы выбираете параметр конфигурации Math and Data Types> Use algorithms optimized for row-major array layout.

Возразите что Входной Выбор из ТаблицыКоличество табличных размерностей
1234

Элемент

Вектор

2D Матрица

Не применяется

Когда вы используете табличный входной порт, вы видите эти значки.

Возразите что Входной Выбор из ТаблицыКоличество табличных размерностей
1234

Элемент

Вектор

2D Матрица

Не применяется

Порты

Входной параметр

развернуть все

Для главного столбцом алгоритма по умолчанию, первого входного порта, задавая основанный на нуле индекс к табличной размерности, которая является один выше, чем выходная размерность (0, 1, или 2). Следующий вход задает основанный на нуле индекс к следующей табличной размерности и так далее. Все индексные входные параметры должны быть с действительным знаком.

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

Для главного столбцом алгоритма по умолчанию, Энного входного порта, задавая основанный на нуле индекс к табличной размерности, которая является N выше, чем выходная размерность (0, 1, или 2). Количество входных параметров меняется в зависимости от формы вывода. Все индексные входные параметры должны быть с действительным знаком.

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

Табличные данные, заданные как вектор, матрица или массив N-D. Табличный размер должен совпадать с размерностями параметра Number of dimensions. Тип выходных данных блока совпадает с типом данных table.

Зависимости

Чтобы включить этот порт, установите флажок Make table an input.

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

Вывод

развернуть все

Выведите срез, обеспеченный как скаляр, вектор или 2D матрица. Размер блока вывод определяется установкой параметра Inputs select this object from table. Тип выходных данных совпадает с типом данных table.

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

Параметры

развернуть все

Основной

Таблица

Количество размерностей, которые должен иметь параметр Table data. Это значение определяет количество независимых переменных для таблицы и количество входных параметров к блоку.

Задавать...Сделайте это...

1, 2, 3, или 4

Выберите значение из выпадающего списка.

Более высокое количество табличных размерностей

Введите положительное целое число непосредственно в поле.

Максимальное количество табличных размерностей, которые поддерживает этот блок, равняется 30.

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

Параметры блоков: NumberOfTableDimensions
Ввод: символьный вектор
Values: '1' | '2' | '3' | '4' | ... |'30'|
Значение по умолчанию: '2'

Установите этот флажок, чтобы предоставить табличные данные Прямой Интерполяционной таблице (n-D) блок как вход блока. Когда вы устанавливаете этот флажок, новый входной порт, T, появляется. Используйте этот порт, чтобы ввести табличные данные.

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

Параметры блоков: TableIsInput
Ввод: символьный вектор
Values: 'off' | 'on'
Значение по умолчанию: 'off'

Задайте таблицу выходных значений. Табличный размер должен совпадать с размерностями параметра Number of table dimensions.

Совет

Во время редактирования блок-схемы можно оставить поле Table data пустым. Но для симуляции, необходимо совпадать с количеством размерностей в Table data к Number of table dimensions. Для получения дополнительной информации о том, как создать многомерные массивы MATLAB®, смотрите Многомерные массивы (MATLAB).

Нажмите Edit, чтобы открыть Редактор Интерполяционной таблицы. Для получения дополнительной информации смотрите Интерполяционные таблицы Редактирования.

Зависимости

Чтобы включить поле Table data, снимите флажок Make table an input.

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

Параметры блоков: Table
Ввод: символьный вектор
Значения: scalar, vector, matrix, or N-D array
Значение по умолчанию: '[4 5 6;16 19 20;10 18 23]'

Алгоритм

Задайте, являются ли выходные данные одним элементом, вектором или 2D матрицей. Количество входных портов для индексации зависит от вашего выбора.

ВыборКоличество входных портов для индексации
Element Количество табличных размерностей
Vector Количество табличных размерностей-1
2-D Matrix Количество табличных размерностей-2

Эта нумерация совпадает с индексацией MATLAB. Например, если вы имеете 4-D таблицу данных, следуете этим инструкциям.

Для доступа...Задать...Asin...
ЭлементЧетыре индекса array(1,2,3,4)
ВекторТри индекса array(:,2,3,4) (главный столбцом алгоритм по умолчанию)
2D матрицаДва индекса array(:,:,3,4) (главный столбцом алгоритм по умолчанию)

Советы

Когда Math and Data Types> параметр конфигурации Use algorithms optimized for row-major array layout установлен, поведение блока Direct Lookup Table изменяется от главного столбцом до главного строкой. Для этого блока главные столбцом и главные строкой алгоритмы могут отличаться семантически по выходным вычислениям, приводящим к различным численным значениям. Эта возможность требует лицензия Embedded Coder® или Simulink® Coder™. Например, примите, что параметр Inputs select this object from table устанавливается на Vector. Элементы выбранного вектора непрерывны в табличной памяти устройства хранения данных. Эта таблица показывает главный столбцом и главный строкой алгоритм в зависимости от табличной размерности:

Табличная размерностьГлавный столбцом алгоритмГлавный строкой алгоритм
2D таблицаВектор-столбец выбранВектор - строка выбран
3-D и более высокая таблицаВыходной вектор выбран из первой размерности таблицыВыходной вектор выбран из последней размерности таблицы

Рассмотрите главные строкой и главные столбцом прямые алгоритмы поиска с векторным выводом из 3-D таблицы. Последняя размерность является третьей размерностью 3-D таблицы. Из-за семантических изменений, главный столбцом и главный строкой прямой поиск может вывести различный векторный размер и численные значения.

Эти данные показывают Прямую Интерполяционную таблицу (n-D) блок, сконфигурированный с 3-D таблицей и векторным выводом. Когда модель, которая содержит этот блок, сконфигурирована для главного столбцом размещения, значок блока показывает главный столбцом алгоритм.

Чтобы иметь тот же блок используют главный строкой алгоритм, изменяют параметр конфигурации Use algorithms optimized for row-major array layout модели и перекомпилировали. Значок блока изменяется, чтобы отразить изменение в алгоритме, оптимизированном для главного строкой размещения.

Для получения дополнительной информации о главной строкой поддержке смотрите Размещение Главного массива строки: Упростите интеграцию с внешним кодом C/C++ для Интерполяционной таблицы и других блоков (Simulink Coder).

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

Параметры блоков: InputsSelectThisObjectFromTable
Ввод: символьный вектор
Значения: 'Element' | 'Vector' | '2-D Matrix'
Значение по умолчанию: 'Element'

Задайте, показать ли предупреждение или ошибку, когда индекс вне области значений относительно табличной размерности. Опции включают:

  • 'none' Не произведите ответ.

  • Предупреждение Выведите предупреждение и продолжите симуляцию.

  • Ошибка Отключите симуляцию и отобразите ошибку.

Когда вы выбираете None или Warning, блок фиксирует индексы из области значений, чтобы соответствовать табличным размерностям. Например, если заданный индекс 5.3, и максимальный индекс для той табличной размерности равняется 4, блок фиксирует индекс к 4.

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

Параметры блоков: DiagnosticForOutOfRangeInput
Ввод: символьный вектор
Значения: 'None' | 'Warning' | 'Error'
Значение по умолчанию: 'Warning'

Задайте шаг расчета как значение кроме-1. Для получения дополнительной информации см. Настройку времени выборки.

Зависимости

Этот параметр не видим, если он явным образом не установлен в значение кроме -1. Чтобы узнать больше, смотрите Блоки, для Которых Не Рекомендуется Шаг расчета.

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

Параметры блоков: SampleTime
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '-1'

Табличные атрибуты

Примечание

Параметры в панели Table Attributes не доступны, если вы выбираете Make table an input. В этом случае блок наследовал все табличные атрибуты от входного порта с меткой T.

Задайте минимальное значение для табличных данных. Значением по умолчанию является (незаданный) [].

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

Параметры блоков: TableMin
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '[]'

Задайте максимальное значение для табличных данных. Значением по умолчанию является (незаданный) [].

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

Параметры блоков: TableMax
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '[]'

Задайте тип данных table. Можно установить его на:

  • Правило, которое наследовало тип данных, например, Inherit: Inherit from 'Table data'

  • Имя встроенного типа данных, например, single

  • Имя класса типа данных, например, перечислимого класса типа данных

  • Выражение, которое оценивает к типу данных, например, fixdt(1,16,0)

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.

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

Параметры блоков: TableDataTypeStr
Ввод: символьный вектор
Значения: 'Inherit: Inherit from 'Table data'' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'boolean' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)'|'Enum: <class name>'|'<data type expression>'
Значение по умолчанию: 'Inherit: Inherit from 'Table data''

Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили типы данных, которые вы задаете на этом блоке. Для получения дополнительной информации смотрите Блокировку Установка Типа Выходных данных (Fixed-Point Designer).

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

Параметры блоков: LockScale
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

Характеристики блока

Типы данных

Boolean | double | enumerated | fixed point[a] | integer | single

Прямое сквозное соединение

yes

Многомерные сигналы

yes

Сигналы переменного размера

no

Обнаружение пересечения нулем

no

[a]  Этот блок поддерживает типы данных с фиксированной точкой для 'Табличных' данных только.

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

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

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