То же, что LOG (X, 2.718282). См. также: LOG, EXP, POWER.
LN (dimensionless) —> . dimensionless (аргумент должен быть безразмерным).
Примеры:
LN (2.718282) равен 1.0.
LN (-5.0) вызовет ошибку (LN числа ≤0 не определен).
LN (EXP(2.0)) равен 2.0 (по определению).
MAX (A,B) – максимум из двух альтернатив.
То же, что IF THEN ELSE(A > . B, A, B).
MAX (unit, unit) —> . unit (все аргументы должны иметь одни и те же единицы измерения)
MIN (A,B) − минимум из двух альтернатив.
То же, что IF THEN ELSE(A < . B, A, B).
MIN (unit, unit) —> . unit (все аргументы должны иметь одинаковые единицы измерения).
PULSE (start, width) – импульсная функция единичной амплитуды с заданным
Началом и продолжительностью импульса.
Функция принимает значение, равное единице, начиная с момента времени, определенного аргументом start, в течение интервала времени, задаваемого вторым аргументом (width) .в остальные моменты времени равна нулю. То же, что:
IF THEN ELSE (time plus > . start
:AND: time plus < . (start + width)),1.0,0.0)
time plus = Time + (TIME STEP / 2.0)
В функции PULSE Vensim PLE создает внутреннюю переменную time plus автоматически, чтобы избежать ошибок округления при сравнении значений Time (текущее время) и start+width.
Замечание: выходное значение функции PULSE изменяется только в соответствии с временным интервалом (TIME STEP), независимо от используемой техники интегрирования.
PULSE (time, time) —> . dimensionless (начало и продолжительность импульса измеряются в тех же единицах, что и время, значение функции – безразмерная величина).
Пример:
task active = PULSE (task start, task duration)
RAMP (slope, start time, end time) – тестовая экзогенная переменная.
Функция равна нулю до момента, определенного вторым операндом (start time), затем линейно возрастает с наклоном slope до момента, заданного третьим аргументом (end time), после чего не меняется. То же, что:
IF THEN ELSE (Time > . start time, IF THEN ELSE (Time < . end time:AND: end time > . Time, slope*(Time − start time), slope*(end time − start time), 0).
Замечание. Изменение значений функции RAMP происходит только на определенных шагах моделирования (TIME STEP), независимо от используемой схемы интегрирования.
RAMP (units, time, time) —> . units*time (start time и end time измеряются в тех же единицах, что и время (Time), значение функции RAMP измеряется в единицах, равных произведению ед. наклона на время.
Пример:
RAMP (1, 10, 25) будет равняться 0 до 10-го момента времени, линейно возрастет до значения 15 в 25-й момент времени и на оставшихся шагах моделирования сохранит значение 25.
RANDOM NORMAL (m,x,h,r,s) – генератор значений нормально распределенной случайной величины. Генерирует нормальное распределение с математическим ожиданием 0 и дисперсией, равной 1, которое затем растягивается, смещается и усекается. В результате функция выдает значения нормально распределенной величины с мат. ожиданием h и дисперсией r, и отсечением значений меньше m и больше x. Единицы измерения r должны соответствовать единицам m, x и h.
Источник шума.
Когда в качестве источника (s) псевдослучайных чисел в функциях RANDOM используется ноль, формируется скрытый источник шума. Контролировать его можно, создав переменную в модели (обычно экзогенную), называемую NOISE SEED. Когда в модели есть такая переменная, она используется для инициализации потоков шума. Изменяя NOISE SEED, можно генерировать альтернативные потоки шума в разных прогонах.
Примеры:
driving error1 = RANDOM NORMAL (0,20,12,5,2)
driving error2 = RANDOM NORMAL (0,20,12,5,2)
Эти операторы будут генерировать u1076 два различных потока шума с одинаковыми статистическими характеристиками. Добавление к этим операторам третьего driving error3 = RANDOM UNIFORM (0,20,2) изменит их. А добавление вместо него оператора driving error3 = RANDOM UNIFORM (0,20,0) оставит первые два потока шума неизменными.
RANDOM UNIFORM (m,x,s) – генератор случайной величины, равномерно распределенной между m и x. Каждая такая процедура генерирует значение случайной величины. Числа, получаемые при каждом обращении к процедуре, различны. Эта функция также используется для введения «шума» в ходе имитации.
m – минимальное значение, которому может равняться функция. Меньшие значения будут отбрасываться. Отсечение происходит после растяжки и смещения выходных значений.
x – максимальное значение функции. Большие значения будут отсекаться.
s – источник (генератор) псевдослучайных чисел. Если s задается равным 0, будет использоваться скрытый поток шума. Он может контролироваться с помощью переменной NOISE SEED, описанной выше. Для каждого отличного от нуля значения s будет создан отдельный поток шума. Можно удваивать потоки шума, задавая для них один и тот же источник, но эти потоки не будут идентичными (см. примеры).
Замечание. Источник шума s должен задаваться числом или константой. Если в качестве s будет использоваться переменная, то каждое новое ее значение будет порождать новую последовательность значений случайной величины.
Примеры:
driving error1 = RANDOM UNIFORM (0,20,0)
driving error2 = RANDOM NORMAL (0,20,0)
Эти уравнения модели будут порождать два различных потока шума с одинаковыми статистическими характеристиками.
SIN (X) − равна синусу X.
Иногда SIN (X) полезно использовать для проверки динамического выхода (отклика) системы. SIN – периодическая функция X в диапазоне от 0 до 2pi радиан.
SIN (dimensionless) —> . dimensionless
Примеры:
sin (0.0) равен 0.0
sin (1.0) равен 0.84147
SMOOTH (input, delay time) – функция экспоненциального сглаживания.