PS Lookup Table (2D)

Аппроксимируйте двумерную функцию с помощью заданного метода поиска

  • Библиотека:
  • Simscape/Библиотека фундаментов/Физические сигналы/Интерполяционные таблицы

  • PS Lookup Table (2D) block

Описание

Блок PS Lookup Table (2D) вычисляет приближение к некоторой функции f=f(x1,x2) учитывая x1, x2, f точки данных. Два входа и выход являются физическими сигналами.

Вы задаете интерполяционную таблицу, задавая параметр Table grid vector 1 (вектор точек данных вдоль первой оси), параметр Table grid vector 2 (вектор точек данных вдоль второй оси) и 2D array of table values (массив выхода значений). Блок работает с декартовым mesh, т.е. значения функции должны быть заданы в вершинах прямоугольного массива.

The x1 и x2 векторы данных должны быть строго монотонными, увеличивающимися или уменьшающимися. Размер массива значений табличной функции должен совпадать с размерами исходных векторов. То есть, если входы являются 1-by- m вектор и 1-байт- n вектор, supply an m-by- n матрица выхода значений.

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

Графическое изображение данных таблицы

Графическое изображение интерполяционной таблицы позволяет вам визуализировать данные перед симуляцией модели, чтобы убедиться, что таблица верна. График отражает табличные данные, заданные для блока, а также выбранные опции интерполяции и экстраполяции.

Чтобы построить график данных, щелкните правой кнопкой мыши блок в модели и в контекстном меню выберите Foundation Library > Plot Table. Для получения дополнительной информации см. раздел Графика интерполяционных таблиц.

Порты

Вход

расширить все

Вход точку запроса, или строку или вектор-столбец точек запроса, вдоль первой оси. Размер сигнала является либо скаляром (для одной точки запроса), либо строкой или векторами-столбцами, представляющими координаты точек запроса вдоль первой оси.

Вход точку запроса, или строку или вектор-столбец точек запроса, вдоль второй оси. Размер сигнала должен совпадать с размером сигнала вдоль первой оси.

Выход

расширить все

Значение выходной функции, основанное на применении интерполяционной таблицы к двум входным значениям. Размер выходного сигнала соответствует размеру входного сигнала вдоль первой оси. Выход сигнала модуля определяется модулем параметра 2D array of table values.

Параметры

расширить все

Задайте вектор значений входа первой оси как 1-by- m массив. Вектор входных значений должен быть строго монотонным, либо увеличивающимся, либо уменьшающимся. Значения могут быть неоднородно разнесены. Для сплайна-интерполяции вектор должен содержать как минимум три значения. Для линейной интерполяции достаточно двух значений.

Модуль параметра должен быть соизмерим с модулем входного сигнала в порту x1. По умолчанию модуль 1 (без единиц). Можно выбрать другой модуль из выпадающего списка или ввести требуемое имя модуля, например rpm, или допустимое выражение, такое как rad/s. Для получения дополнительной информации и списка сокращений модулей смотрите Как задать модули в диалоговых окнах блоков и определениях модулей.

Задайте вектор значений входа вдоль второй оси как 1-by- n массив. Вектор входных значений должен быть строго монотонным, либо увеличивающимся, либо уменьшающимся. Значения могут быть неоднородно разнесены. Для сплайна-интерполяции вектор должен содержать как минимум три значения. Для линейной интерполяции достаточно двух значений.

Модуль параметра должен быть соизмерим с модулем входного сигнала в порту x2. По умолчанию модуль 1 (без единиц). Можно выбрать другой модуль из выпадающего списка или ввести требуемое имя модуля, например rpm, или допустимое выражение, такое как rad/s. Для получения дополнительной информации и списка сокращений модулей смотрите Как задать модули в диалоговых окнах блоков и определениях модулей.

Задайте выходные значения как m-by- n матрица, определяющая значения функций в входных вершинах сетки. Размер матрицы должен совпадать с размерами исходных векторов.

Параметр модуля определяет модуль сигнала выхода в порту f. По умолчанию модуль 1 (без единиц). Можно выбрать другой модуль из выпадающего списка или ввести требуемое имя модуля, например rpm, или допустимое выражение, такое как rad/s. Для получения дополнительной информации и списка сокращений модулей смотрите Как задать модули в диалоговых окнах блоков и определениях модулей.

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

  • Linear - использует расширение линейного алгоритма для многомерной интерполяции. Метод выполняет линейную интерполяцию первым в x1-направление и затем в x2-направление. Выберите эту опцию, чтобы получить лучшую эффективность.

  • Smooth - Использует измененный алгоритм интерполяции Акимы. Для получения дополнительной информации смотрите tablelookup. Выберите эту опцию, чтобы создать непрерывную поверхность с непрерывными производными первого порядка.

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

  • Linear - Простирается от ребра области интерполяции линейно. Наклон линейной экстраполяции равен наклону интерполированной поверхности на краю области интерполяции.

  • Nearest - Простирается от ребра области интерполяции как константа. Значение ближайшей экстраполяции равно значению интерполированной поверхности на краю области интерполяции. Выберите эту опцию, чтобы создать экстраполяцию, которая не будет выше самой высокой точки в данных или ниже самой нижней точки в данных.

  • Error - Выдает ошибку, если любой из входных сигналов находится вне области значений таблицы. Выберите эту опцию, чтобы избежать перехода в режим экстраполяции, когда вы хотите, чтобы ваши данные находились в пределах таблицы области значений.

Вопросы совместимости

расширить все

Поведение изменено в R2019a

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

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

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