PS Lookup Table (4D)

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

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

Описание

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

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

x1x2 , x3, и x4 векторы данных должны быть строго монотонными, или увеличение или уменьшение. Размер массивов сведенных в таблицу значений функции должен совпадать с размерами исходных векторов. Таким образом, если эти четыре входных вектора имеют размеры 1 m, 1 n, 1 p, и 1 q, соответственно, предоставьте m- n- p- q массив выходных значений.

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

Порты

Входной параметр

развернуть все

Входное значение вдоль первой оси.

Входное значение вдоль второй оси.

Входное значение вдоль третьей оси.

Входное значение вдоль четвертой оси.

Вывод

развернуть все

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

Параметры

развернуть все

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Linear — Расширяет от ребра области интерполяции линейно. Наклон линейной экстраполяции равен наклону интерполированной поверхности в ребре области интерполяции.

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

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

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

развернуть все

Поведение изменяется в R2019a

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

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Введенный в R2017b

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