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

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

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

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

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

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

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

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

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

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 для допустимых размеров.

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

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

A = [0  0.5  1  1.9  2.1  3]

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

Примечание

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

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

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

ФормулировкаПримерКогда использовать эту формулировку
[first_value: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 функция для определения равномерно разнесенных точек по оси Х. Simulink использует более жесткий допуск, чтобы проверить, имеет ли набор точек по оси Х четные интервалы. Если вы используете linspace чтобы задать точки по оси Х для интерполяционной таблицы, Simulink считает точки по оси Х неравномерными.

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте