В некоторых случаях размеры набора данных определяют, какой из блоков таблицы поиска подходит для приложения. Если Вы приближаете одномерную функцию, рассматриваете использование или 1-D Справочной таблицы или Справочной таблицы Динамический блок. Если Вы приближаете двумерную функцию, рассматриваете 2-й блок Справочной таблицы. Такие блоки, как n-D Lookup Table и Direct Lookup Table (n-D) позволяют аппроксимировать функцию N переменных.
Числовые типы и типы данных набора данных влияют на решение о том, какой блок таблицы поиска является наиболее подходящим. Хотя все блоки справочной таблицы поддерживают действительные числа, Прямая Справочная таблица (n-D), 1-D Справочная таблица, 2-я Справочная таблица, и n-D блоки Справочной таблицы также поддерживают данные о сложной таблице. Все блоки таблицы подстановки поддерживают целочисленные и фиксированные данные в дополнение к double и single типы данных.
Примечание
Для блока таблицы прямого поиска (n-D) поддерживаются типы фиксированных точек для данных таблицы, порта вывода и дополнительного порта ввода таблицы.
Требуемая точность и гладкость данных, возвращаемых таблицей поиска, определяют, какой из блоков следует использовать. Большинство блоков предоставляют опции для выполнения интерполяции и экстраполяции, повышая точность значений, которые попадают между или вне данных таблицы, соответственно. Например, блок динамической таблицы подстановки выполняет линейную интерполяцию и экстраполяцию, в то время как блок n-D таблицы подстановки выполняет либо линейную интерполяцию и экстраполяцию кубических сплайнов, либо интерполяцию и экстраполяцию сплайнов Акимы. Напротив, блок таблицы прямого поиска (n-D) выполняет поиск таблицы без какой-либо интерполяции или экстраполяции. Можно получить сочетание методов интерполяции и экстраполяции с помощью блока Prelookup и блока Interpolation Using Prelookup.
Динамика входных данных таблицы поиска влияет на то, какой из блоков таблицы поиска идеально подходит для вашего приложения. Блоки используют различные методы индексного поиска, чтобы связать входные данные таблицы поиска с наборами данных точки останова таблицы. Большинство блоков таблицы поиска предлагают двоичный алгоритм поиска, который хорошо работает, если входные данные значительно изменяются от одного временного шага к следующему. Блоки 1-D Lookup Table, 2-D Lookup Table, n-D Lookup Table и Prelookup предлагают линейный алгоритм поиска. Использование этого алгоритма с опцией, которая возобновляет поиск из предыдущего результата, работает хорошо, если входные данные меняются медленно. Некоторые блоки таблицы поиска также обеспечивают алгоритм поиска, который лучше всего подходит для наборов данных точек останова, состоящих из равномерно разнесенных точек останова. Можно получить сочетание методов индексного поиска с помощью блока Prelookup и блока Interpolation Using Prelookup.
Если важна эффективность, с которой работают таблицы поиска, рассмотрите возможность использования блока Prelookup с блоком Interpolation Using Prelookup. Эти блоки разделяют процесс поиска таблицы на два компонента - поиск индекса, который связывает входные данные с данными таблицы, за которым следует этап интерполяции и экстраполяции, который вычисляет выходные данные. Эти блоки позволяют выполнять поиск по одному индексу, а затем повторно использовать результаты для поиска данных в нескольких таблицах. Кроме того, блок интерполяции, использующий Prelookup, может выполнять выбор подтаблицы, где блок интерполирует часть данных таблицы вместо всей таблицы. Например, если данные 3-D таблицы составляют стек 2-D таблиц, подлежащих интерполяции, можно указать вход порта выбора для выбора одной или нескольких 2-D таблиц из стека для интерполяции. Полная интерполяция 3-D имеет 7 субинполиций, но 2-D интерполяция требует только 3 субинтерполиции. В результате возможны значительные улучшения скорости, когда некоторые измерения таблицы используются для штабелирования данных и не предназначены для интерполяции. Эти функции делают операции поиска в таблице более эффективными, сокращая вычислительные усилия и время моделирования.
Используйте следующую таблицу для определения элементов, соответствующих определенным блокам таблицы поиска, а затем выберите блок, который лучше всего соответствует вашим требованиям.
| Особенность | 1-D Таблица подстановки | 2-D Таблица подстановки | Динамическая таблица подстановки | n-D таблица подстановки | Таблица прямого поиска (n-D) | Предварительный поиск | Интерполяция с использованием Prelookup |
|---|---|---|---|---|---|---|---|
| Методы интерполяции | |||||||
| Квартира | • | • | • | • | • | ||
| Ближайший | • | • | • | • | |||
| Линейный | • | ||||||
| Линейный уклон точки | • | • | • | • | |||
| Линейный Лагранж | • | • | • | • | |||
| Кубический сплайн | • | • | • | ||||
| Сплайн Акимы | • | • | • | ||||
| Методы экстраполяции | |||||||
| Клип | • | • | • | • | • | • | |
| Линейный | • | • | • | • | • | • | |
| Кубический сплайн | • | • | • | ||||
| Сплайн Акимы | • | • | |||||
| Поддержка числовых и типов данных | |||||||
| Комплекс | • | • | • | • | |||
| Двойной, одиночный | • | • | • | • | • | • | • |
| Целое число | • | • | • | • | • | • | • |
| Фиксированная точка | • | • | • | • | • | • | • |
| Методы индексного поиска | |||||||
| Набор из двух предметов | • | • | • | • | • | ||
| Линейный | • | • | • | • | |||
| Равномерно разнесенные точки | • | • | • | • | • | ||
| Начать с предыдущего индекса | • | • | • | • | |||
| Разное | |||||||
| Выбор подкаталогов | • | • | |||||
| Динамические данные точек останова | • | ||||||
| Динамические данные таблицы | • | • | • | ||||
| Проверка входного диапазона | • | • | • | • | • | • | |