PS Lookup Table (2D)

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

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

Описание

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

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

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

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

Данные о планшетном графопостроителе

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

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

Порты

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

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

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

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

Вывод

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

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

Параметры

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Представленный в R2007a