exponenta event banner

Таблица поиска PS (4D)

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

  • Библиотека:
  • Библиотека Simscape/Foundation/Физические сигналы/Таблицы поиска

  • PS Lookup Table (4D) block

Описание

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

Таблица подстановки определяется с помощью параметра «Вектор сетки таблицы 1». (вектор точек данных вдоль первой оси), параметр «Вектор сетки таблицы 2» (вектор точек данных вдоль второй оси), параметр «Вектор сетки таблицы 3» (вектор точек данных вдоль третьей оси), параметр Вектор сетки таблицы 4 (вектор точек данных вдоль четвертой оси) и 4D массив параметров табличных значений (массив выходных значений).

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

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

Порты

Вход

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

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

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

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

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

Продукция

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

Выходное значение функции, основанное на применении таблицы поиска к четырем входным значениям. Размер выходного сигнала соответствует размеру входного сигнала вдоль первой оси. Блок выходного сигнала определяется блоком 4D массива параметра табличных значений.

Параметры

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

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

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

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

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

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

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

Задайте вектор входных значений вдоль третьей оси как 1-by-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++ с помощью Simulink ® Coder™

.
Представлен в R2016b