AnyLogic
Развернуть
Размер шрифта

Математические функции

AnyLogic предоставляет пользователям самодостаточный набор математических функций. Расположенная ниже таблица приводит краткую информацию по этим функциям, более подробное описание вы можете найти в онлайн Javadoc документации по классу Math (на английском языке).

Тип возвращаемого значения Имя Описание
double abs(double a) Возвращает значение по модулю от вещественного (типа double) значения.
int abs(int a) Возвращает значение по модулю от целочисленного (типа int) значения.
double acos(double a) Возвращает арккосинус значения; возвращаемое значение лежит в интервале от 0.0 до π.

a — значение, для которого нужно вернуть арккосинус.
double asin(double a) Возвращает арксинус значения; возвращаемое значение лежит в интервале от -π/2 до π/2.

a — значение, для которого нужно вернуть арксинус.
double atan(double a) Возвращает арктангенс значения; возвращаемое значение лежит в интервале от -π/2 до π/2.

a — значение, для которого нужно вернуть арктангенс.
double atan2(double y, double x) Возвращает угол theta, полученный из преобразования прямоугольных координат (x, y) в полярные координаты (r, theta).
double cbrt(double a) Возвращает кубический корень из вещественного значения.
double ceil(double a) Возвращает наименьшее (ближайшее к минус бесконечности) вещественное (типа double) значение, большее или равное аргументу и равное математическому целому числу.
double cos(double a) Возвращает тригонометрический косинус угла.

a — угол, в радианах
double cosh(double x) Возвращает гиперболический синус от вещественного (типа double) значения.

x — значение, для которого нужно вернуть гиперболический косинус.
double exp(double a) Возвращает число Эйлера e, возведенное в степень a (вещественное число).
double expm1(double x) Возвращает ex-1.
double floor(double a) Возвращает наибольшее (ближайшее к плюс бесконечности) вещественное (типа double) значение, меньшее или равное аргументу и равное математическому целому числу.
double gammaLog(double x) Возвращает натуральный логарифм Гамма функции от x: ln(Γ(x)).
Гамма функция является расширением факториальной функции, принимающей все положительные значения x.
Если n является положительным целым числом, то: Γ(n) = (n - 1)!.
Функция gammaLog может использоваться, например, в системно динамических моделях, вычисляющих комбинаторные факторы.
int getExponent(double d) Возвращает несмещенное значение экспоненты аргумента.
double hypot(double x, double y) Возвращает sqrt(x2 y2) без промежуточного переполнения или потери значимости.
boolean isFinite(double v) Возвращает true, если заданное значение v является конечным (не равно +/-infinity или NaN).
double limit(double min, double x, double max) Возвращает x, если значение лежит в интервале [min,max], иначе возвращает ближайшую границу (min или max).
int limit(int min, int x, int max) Возвращает x, если значение лежит в интервале [min,max], иначе возвращает ближайшую границу.
double limitMax(double x, double max) Возвращает x, если его значение меньше или равно значению аргумента max, иначе возвращает max, то есть значение x ограничено справа значением max.
int limitMax(int x, int max) Возвращает x, если его значение меньше или равно значению аргумента max, иначе возвращает max. Более очевидно, чем функция min, т.к. явно указывает, что значение x ограничено справа значением max.
double limitMin(double min, double x) Возвращает x, если его значение больше или равно значению аргумента min, иначе возвращает min, то есть значение x ограничено слева значением min.
int limitMin(int min, int x) Возвращает x, если его значение меньше или равно значению аргумента min, иначе возвращает min. Более очевидно, чем функция max, т.к. явно указывает, что значение x ограничено слева значением min.
double log(double a) Возвращает натуральный логарифм (по основанию e) вещественного аргумента.
double log10(double a) Возвращает логарифм аргумента по основанию 10.
double log1p(double x) Возвращает натуральный логарифм суммы аргумента и 1.
double max(double a, double b) Возвращает наибольший из двух вещественных аргументов.
int max(int a, int b) Возвращает наибольший из двух целочисленных аргументов.
double min(double a, double b) Возвращает наименьший из двух вещественных аргументов.
int min(int a, int b) Возвращает наименьший из двух целочисленных аргументов.
double pow(double a, double b) Возвращает значение первого аргумента, возведенное в степень второго аргумента.
double quantum(double value, double quantizer) Возвращает число, меньшее (по модулю) или равное значению value, которое наиболее близко к value и кратно величине квантователя quantizer.
Если quantizer меньше или равен нулю, то возвращает value.

value — значение
quantizer — квантователь, задающий интервал между возможными значениями, возвращаемыми функцией: quantizer, quantizer*2, …
double random() Возвращает положительное вещественное значение, лежащее в интервале [0.0, 1.0].
double rint(double a) Возвращает вещественное значение, ближайшее по значению к аргументу и равное математическому целому числу.
double roundToDecimal(double v, int nDecimalDigits) Округляет заданное значение v с заданной точностью. Возвращает значение, ближайшее по значению к аргументу с заданным количеством знаков после запятой в дробной или целой части.
Получаемое значение соответствует результату вычисления следующего выражения:
floor(v*10nDecimalDigits + 0.5) / 10DecimalDigits

v — значение с плавающей точкой, которое нужно округлить с заданной точностью
nDecimalDigits — если больше нуля, округляет дробную часть; если меньше — целую часть
int roundToInt(double v) Возвращает целое число, ближайшее по значению к аргументу v. В отличие от Math.round(double), возвращает значение типа int (а не long), что может быть более удобно для некоторых операций.
Получаемое значение соответствует результату вычисления следующего выражения: (int) floor(v + 0.5)
Частные случаи:
  • Если в качестве аргумента передается NaN, результат будет равен 0.
  • Если в качестве аргумента передается -infinity или другое значение, которое меньше или равно значению Integer.MIN_VALUE, результат будет равен Integer.MIN_VALUE.
  • Если в качестве аргумента передается +infinity или другое значение, которое больше или равно значению Integer.MAX_VALUE, результат будет равен Integer.MAX_VALUE.
double scalb(double d, int scaleFactor) Возвращает d × 2scaleFactor.
double signum(double d) Возвращает знаковую функцию (сигнум) аргумента; 0, если аргумент равен нулю, 1.0, если аргумент больше, чем ноль, -1.0, если аргумент меньше, чем ноль.
double sin(double a) Возвращает тригонометрический синус угла.

a — угол, в радианах
double sinh(double x) Возвращает гиперболический синус от вещественного значения.

x — значение, для которого нужно вернуть гиперболический синус.
double sqr(double v) Возвращает квадрат заданного числа: v2.
double sqrt(double a) Возвращает корректно округленный положительный квадратный корень вещественного числа.
double tan(double a) Возвращает тригонометрический тангенс угла.

a — угол, в радианах
double tanh(double x) Возвращает гиперболический тангенс вещественного (типа double) значения.
double toDegrees(double angrad) Преобразует измеренный в радианах угол к приблизительно эквивалентному углу, измеренному в градусах.

angrad — угол, в радианах
double toRadians(double angdeg) Преобразует измеренный в градусах угол к приблизительно эквивалентному углу, измеренному в радианах.

angdeg — угол, в градусах
double xidz(double a, double b, double x) Пытается поделить первый аргумент на второй. Если результат — бесконечность или не является числом, то функция возвращает третий аргумент, если нет — то возвращает результат деления.
double zidz(double a, double b) Пытается поделить первый аргумент на второй. Если результат — бесконечность или не является числом, то функция возвращает 0, если нет — то возвращает результат деления.
Как мы можем улучшить эту статью?