Интерполяционная таблица PS (4D)

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

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

Описание

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

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

x1, x2, x3 и векторы данных x4 должны быть строго монотонными, или увеличение или уменьшение. Размер массивов сведенных в таблицу значений функции должен совпадать с размерностями, заданными входными векторами. Таким образом, если эти четыре входных вектора имеют размеры 1 m, 1 n, 1 p, и 1 q, соответственно, предоставьте m-by-n-by-p-by-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-by-n-by-p-by-q массив, задав значения функции во входных вершинах сетки. Размер выходного массива должен совпадать с размерностями, заданными входными векторами.

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

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

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

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

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

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

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

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

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

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

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

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

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

Введенный в R2017b