exponenta event banner

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

Вы можете использовать tablelookup функции в equations раздел файла Simscape™ для интерполяции входных значений на основе набора точек данных в одномерной, двумерной или трехмерной таблице. Эта функциональность аналогична функциям блоков таблицы поиска Simulink ® и Simscape. Она позволяет включать табличное моделирование непосредственно в пользовательский блок без необходимости подключения внешнего блока таблицы подстановки к модели .

В следующем примере выполняется сопоставление температуры и давления с помощью одномерной таблицы поиска.

component TtoP
 inputs
   u = {0, 'K'}; % temperature
 end
 outputs
   y = {0, 'Pa'}; % pressure
 end
 parameters (Size=variable)
   xd = {[100 200 300 400] 'K'};
   yd = {[1e5 2e5 3e5 4e5] 'Pa'};
 end
 equations
   y == tablelookup(xd, yd, u, interpolation=linear, extrapolation=nearest);
 end
end

xd и yd объявляются как параметры переменного размера с единицами измерения. Это позволяет пользователям блоков предоставлять собственные наборы данных при преобразовании компонента в пользовательский блок, а также выбирать соответствующие единицы измерения из раскрывающихся списков в диалоговом окне пользовательского блока. На следующем рисунке показано диалоговое окно пользовательского блока, созданного из этого компонента.

Примечание

В настоящее время нельзя использовать параметры переменного размера в equations раздел за пределами tablelookup функция.

Чтобы избежать повторения одних и тех же объявлений параметров переменного размера в каждом компоненте, который должен использовать их в tablelookup можно объявить параметры домена переменного размера и распространить их на компоненты в целях интерполяции. Дополнительные сведения см. в разделе Распространение параметров домена.

Следующие правила применяются к одномерным массивам xd и yd:

  • Два массива должны иметь одинаковый размер.

  • Для гладкой интерполяции каждый массив должен содержать не менее трех значений. Для линейной интерполяции достаточно двух значений.

  • xd значения должны быть строго монотонными, либо увеличивающимися, либо уменьшающимися.

Компонент TtoP использует линейную интерполяцию для значений в пределах табличного диапазона, но выводит ближайшее значение yd для входных значений вне диапазона. На следующей иллюстрации показана блок-схема, где используется пользовательский блок TtoP с линейным входным сигналом, изменяющимся от 0 до 1000, и результирующим выходным сигналом.

См. раздел tablelookup справочная страница для описания синтаксиса и других примеров.

Связанные темы