Константы, функции и операторы

Для определения целевого выражения можно использовать базовые математические функции (операторы), константы и регулярные выражения.

Константы

В формулу также можно добавить математические и физико-химические константы π, g, R и σ. Постоянные значения задаются в единицах измерения, соответствующих выбранной системе единиц.

Следующие значения констант были взяты из книги Kuchling H., (1980), Nachschlagebücher für Grundlagenfächer Physik. Verb Fachbuchverlag, Leipzig:

  • Ускорение свободного падения: g = 9.80665 м/с2

  • Универсальная газовая постоянная: R = 8.31441 Дж/(моль·K)

  • Постоянная Стефана-Больцмана: σ = 5.67032·10-8 Вт/(м2·K4)

Операторы

  • Аргументы sin, cos, tan, arcsin, arccos, arctan, abs, exp, ln и lg необходимо заключать в круглые скобки.

  • Символ «^» используется для обозначения степени, в которую возведена функция.

    Например:

    • Чтобы задать sin2x, необходимо ввести:

      sin(x)^2
    • Чтобы задать sin x2, необходимо ввести:

      sin(x^2)
  • IF – оператор условия.

    Он имеет три аргумента:

    IF (logical expression; value expression when true; value expression when false)

    Выражения могут содержать параметры.

    Например, следующая функция возвращает текущее значение цели «VG Av Temperature (Solid) 1», когда значение параметра с именем «T1» больше 10 (в единицах СИ), и возвращает 0, если значение «T1» меньше или равно 10.

    IF({T1}>10;{VG Av Temperature (Solid) 1};0)
  • Аргументы min, max, average заключаются в скобки и разделяются точкой с запятой.

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

    average({VG Av Temperature 1};{VG Av Temperature 2})
  • Аргументы range должны быть заключены в скобки и разделены точками с запятой.

    Эта функция должна иметь следующий формат:

    range(P1; P2(;P3;...;PN);E1;E2)

    где P1 – имя параметра, на интервале которого нужно получить список значений P2(;P3;...;PN) – имена целей, для которых нужно получить список значений (для указания их имен можно использовать регулярные выражения), E1 – начало интервала, E2 – конец интервала.

    Прим.:

    Эта функция всегда возвращает список, в котором E1 и E2 указывают границы интервала. Если необходимо получить только один элемент списка, границы должны совпадать. Эту функцию также следует использовать в сочетании с функциями, которые возвращают одно значение, в противном случае условия будут работать неправильно.

    Например:

    • Следующая функция возвращает значение цели «Goal 1» на предыдущей итерации;

      range ({Iteration};{Goal 1};{Iteration}-1;{Iteration}-1)
    • Следующая функция возвращает массив значений цели «Goal 1» за последние 0.5 с.

      range (t;{Goal 1};t-0.5;t-0.5)
    • Следующая функция возвращает максимальное значение цели «FG Temperature (Junction) 1» за последние 20 итераций:

      max(range({Iteration};{FG Temperature (Junction) 1};{Iteration}-20;{Iteration}))

Регулярные выражения

Также можно использовать PCRE (Perl Compatible Regular Expressions – регулярные выражения в стиле Perl).

Регулярные выражения позволяют включать в шаблон подстановочные знаки, классы символов, альтернативные варианты и повторы. Они кодируются в шаблоне с помощью метасимволов, которые не являются самостоятельными, но интерпретируются каким-либо особенным образом.

Существует два различных набора метаданных: те, которые распознаются в любом месте шаблона, за исключением квадратных скобок, и те, которые распознаются в квадратных скобках.

  • За пределами квадратных скобок метасимволы имеют следующее значение:

    \ общий символ экранирования с несколькими вариантами использования

    ^ обозначение начала строки (или одной из строк в многострочном режиме)

    $ обозначение конца строки (или одной из строк в многострочном режиме)

    . соответствует любому символу, кроме символа новой строки (по умолчанию)

    [ начало определения класса символов

    | начало альтернативной ветви

    ( начальная группа или управляющий оператор

    ) конечная группа или управляющий оператор

    * квантификатор "0 или более"

    + квантификатор "1 или более"; также – «жадный квантификатор»

    ? квантификатор "0 или 1", также квантификатор-минимизатор

    { начало квантификатора "минимум-максимум"

    } завершение последовательности, начатой с {

  • Часть шаблона в квадратных скобках называется «классом символов». В классе символов используются только следующие метасимволы:

    \ общий символ экранирования

    ^ отменяет класс, но только если является первым символом

    - указывает диапазон символов

    [ класс символов POSIX (если за ним следует синтаксис POSIX)

    ] завершает класс символов

    Например, следующая функция возвращает максимальное значение для целей, имена которых начинаются с «VG Maximum Temperature (Solid)»:

    max({VG Maximum Temperature \(Solid\).*})

Для получения дополнительной информации о PCRE (Perl Compatible Regular Expressions) перейдите на сайт pcre.org.