PS Lookup Table (3D)

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

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

  • PS Lookup Table (3D) block

Описание

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

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

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

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

Порты

Вход

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

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

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

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

Выход

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

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

Параметры

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.
Введенный в R2016a