Характеристики данных интерполяционной таблицы

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

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

  • Ограничения памяти вашей системы ограничивают полный размер интерполяционной таблицы.

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

Чтобы проиллюстрировать второе ограничение, рассмотрите следующие векторы значений ввода и вывода, которые создают отношение в графике.

Vector of input values:   [-3 -2 -1  0 1 2 3]
Vector of output values:  [-3 -1  0 -1 0 1 3]

В этом примере данные ввода и вывода одного размера (1 7), делая данные последовательно определяемыми размеры для 1D интерполяционной таблицы.

Следующие значения ввода и вывода задают 2D интерполяционную таблицу, которую графически показывают.

Row index input values:    [1 2 3]
Column index input values: [1 2 3 4]
Table data:                [11 12 13 14; 21 22 23 24; 31 32 33 34]

В этом примере размеры векторов, представляющих индексы строки и столбца, 1 3 и 1 на 4, соответственно. Следовательно, выходная таблица должна иметь размер, 3 на 4 для сопоставимых размерностей.

Монотонность наборов данных точки останова

Первая стадия операции поиска по таблице включает имеющие отношение входные параметры к наборам данных точки останова. Алгоритм поиска требует, чтобы ввел наборы точки останова строго монотонно увеличиться, то есть, каждый последовательный элемент больше, чем его предыдущий элемент. Например, вектор

A = [0  0.5  1  1.9  2.1  3]

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

Примечание

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

Формулировка равномерно расположенных с интервалами точек останова

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

ФормулировкаПримерКогда использовать эту формулировку
Первое значение: spacing:last_value][10:10:200]Интерполяционная таблица не использует double или single.
first_value + spacing * [0:(last_value-first_value)/spacing]1 + (0.02 * [0:450])Интерполяционная таблица использует double или single.

Поскольку типы данных с плавающей точкой не могут точно представлять некоторые числа, вторая формулировка работает лучше на double и single. Например, используйте 1 + (0.02 * [0:450]) вместо [1:0.02:10]. Для списка блоков интерполяционной таблицы, которые поддерживают равномерно распределенные точки останова, см. Сводные данные Блочных Функций Интерполяционной таблицы.

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

Совет

Не используйте функцию MATLAB® linspace, чтобы задать равномерно распределенные точки останова. Симулинк использует более трудный допуск, чтобы проверить, имеет ли набор точки останова даже интервал. При использовании linspace, чтобы задать точки останова для вашей интерполяционной таблицы, Симулинк полагает, что точки останова неравномерно распределены.

Похожие темы

Была ли эта тема полезной?