Пропустить к содержанию
Руководство Varlig
Главная страница Varlig

Справочник встроенных функций

Здесь перечислены все встроенные функции Varlig Calc. Вызывайте функцию по имени с аргументами в скобках через запятые: sqrt(16), round(17.46, 0.05).

  • Регистр имён функций неважен: SQRT(16) тоже работает.
  • Число аргументов проверяется: sqrt(4, 9) вызывает ошибку, а не игнорирует 9.
  • Числа могут сохранять разделители тысяч. Запятая перед тремя цифрами группирует разряды, а с пробелом — разделяет аргументы. Поэтому max(1,000, 2,000) равно 2 000, а sqrt(1,024) — 32.
  • Округляйте или переводите результат функции в той же строке: sqrt(2) to 4 dp или abs(-5 km) in m.
  • Найдите имя в таблице, затем перейдите к его разделу с подробностями и примерами.

У многих функций есть английская словесная форма, например square root of 16; см. Математика словами. О создании своих — Собственные функции.

Все функции

Функция Значение
abs(x) Абсолютная величина с сохранением единиц; модуль комплексного числа
sign(x) −1, 0 или 1
int(x), trunc(x) Целая часть с усечением к нулю
round(x), round(x, step) Ближайшее целое или ближайшее кратное step
floor(x), floor(x, step) Округление вниз, к минус бесконечности
ceil(x), ceil(x, step) Округление вверх, к плюс бесконечности
sqrt(x), cbrt(x) Квадратный и кубический корень; единицы сохраняются, если их степени делятся на степень корня без остатка
exp(x), ln(x) Натуральная экспонента и логарифм
log(x), log10(x), log2(x), logbase(x, b) Логарифмы
sin, cos, tan Тригонометрия в радианах или для угла вроде 30°
sind, cosd, tand Тригонометрия в градусах
asin, acos, atan Обратная тригонометрия с результатом в радианах
asind, acosd, atand Обратная тригонометрия с результатом в градусах
atan2(y, x) Угол в радианах с учётом квадранта
sinh, cosh, tanh, asinh, acosh, atanh Гиперболические функции
factorial(n), fact(n) Факториал; также записывается как n!
gcd(a, b), lcm(a, b) Наибольший общий делитель и наименьшее общее кратное; точный расчёт, в том числе для дробей
combination(n, k), permutation(n, k) Число способов выбора
clamp(x, low, high) Ограничение значения заданными границами
hex(n), bin(n) Отображение числа в шестнадцатеричной или двоичной форме
random(), rand(), random(a, b), rand(a, b) Случайные числа
complex(re, im), real, imag, conj, arg Комплексные числа
sum, total, product, average, mean, avg, median, min, max, count, length, variance, stddev, stdev Суммы и статистика списка; некоторые функции принимают и отдельные аргументы
sum(expr, var, lo, hi), summation(...), product(expr, var, lo, hi) Суммы и произведения по счётчику
range(a, b), range(a, b, step) Список чисел с включением обеих границ
sort, reverse, unique, slice(list, start, end) Изменение порядка или выбор элементов списка
map(expr, var, list), filter(cond, var, list) Вычисление или проверка каждого элемента списка
dot, cross, identity(n), shape, transpose, det, inverse, trace, rank Векторы и матрицы
solve_system(A, b), eigenvalues, qr, lu, svd Системы линейных уравнений и разложения матриц
solve(equation, var, lo, hi) Численное решение уравнения между двумя границами
differentiate(expr, var), derivative(expr, var) Производная в виде формулы
differentiate(expr, var, point), derivative(expr, var, point) Производная в точке в виде числа
integrate(expr, var, lo, hi) Численное вычисление определённого интеграла
easter(year) Западная Пасха
tyre_speed(width, aspect, rim, rotation) Скорость движения по размеру шины и частоте вращения колеса

Числа и подсчёт

Функция Аргументы и значение
abs(x) Абсолютная величина с сохранением единицы; модуль для комплексного числа
sign(x) Знак действительного числа без единиц: -1, 0 или 1
int(x), trunc(x) Целая часть с усечением к нулю
sqrt(x) Квадратный корень; для отрицательного числа запросите комплексный корень: sqrt(-16 + 0i)
cbrt(x) Кубический корень, в том числе из отрицательного числа
factorial(n), fact(n) Факториал целого числа от 0; также записывается как n!
gcd(a, b) Наибольший общий делитель двух точных чисел, всегда неотрицательный
lcm(a, b) Наименьшее общее кратное двух точных чисел, всегда неотрицательное
clamp(x, low, high) Ограничение значения границами low и high; все значения одного типа, сначала нижняя граница
permutation(n, k) Размещения из n по k с учётом порядка
combination(n, k) Сочетания из n по k без учёта порядка
hex(x), bin(x) Отображение числа в шестнадцатеричной или двоичной форме
calc
abs(-£45.20) даёт £45.20
sign(-5) даёт -1
int(7.8) даёт 7
sqrt(144 m^2) даёт 12 m
cbrt(-27) даёт -3
factorial(5) даёт 120
gcd(1920, 1080) даёт 120
lcm(4, 6) даёт 12
clamp(115, 0, 100) даёт 100
clamp(£120, £0, £100) даёт £100.00
combination(10, 2) даёт 45
permutation(8, 3) даёт 336
hex(255) даёт 0xFF
bin(10) даёт 0b1010

Практические примеры: gcd(1920, 1080) помогает получить формат экрана 16:9 делением обеих сторон на 120. Функция combination(10, 2) считает пары в группе из десяти, а permutation(8, 3) — способы распределить три призовых места между восемью бегунами.

Функция clamp сохраняет валюту и единицы, если значение и обе границы однородны: clamp(£120, £0, £100) ограничивает возврат суммой £100,00. Для факториалов и выборок используйте целые числа с k не больше n. Запись 5! сокращает factorial(5). Для корней других степеней используйте root 3 of 27; общей функции root(...) нет.

Округление

Функции round, floor и ceil принимают необязательный шаг округления:

calc
round(17.46, 0.05) даёт 17.45
ceil(23, 6) даёт 24
floor(7.8) даёт 7

Выражение ceil(23, 6) округляет 23 яйца вверх до количества, кратного полной коробке из шести. Шаг — не число десятичных знаков: round(17.456, 2) округляет до кратного 2 и даёт 18. Подсказка round предлагает вместо этого 17.456 to 2 dp. Для значащих цифр пишите to 3 sf. О половинах, отрицательных числах и деньгах см. Округление.

Тригонометрия и углы

Группа функций Значение
sin, cos, tan Тригонометрия; число без единиц считается углом в радианах
sind, cosd, tand Тригонометрия; число без единиц считается углом в градусах
asin, acos, atan Обратная тригонометрия; результат имеет единицу «радиан»
asind, acosd, atand Обратная тригонометрия с результатом в градусах
atan2(y, x) Угол с учётом квадранта в виде числа радиан без единицы
sinh, cosh, tanh Гиперболические функции
asinh, acosh, atanh Обратные гиперболические функции
calc
sin(30°) даёт 0.5
cosd(60) даёт 0.5
tan(45°) даёт 1
sin(pi/2) даёт 1
asind(0.5) даёт 30°
asin(1) даёт 1.5707963268 rad
asin(0.5) in degrees даёт 30°
atan2(-1, -1) * 180 / pi даёт -135
cosh(0) даёт 1

Функции sin, cos и tan принимают угол в любой угловой единице, например 30°, 30 degrees или 30 deg. Чтобы вывести результат asin, acos или atan в градусах, добавьте in degrees либо используйте градусные варианты функций.

Функция atan2 сначала принимает координату y и учитывает четверть: atan2(-1, -1) указывает вниз и влево (−135°), чего одно atan(1) определить не может.

Гиперболические функции принимают числа без единиц. Обратные функции допускают только значения в своей действительной области: asin(2) даёт Error: imaginary number. Для комплексного результата см. Комплексные числа.

Логарифмы и экспоненты

Функция Значение
ln(x) Натуральный логарифм
log(x), log10(x) Десятичный логарифм
log2(x) Двоичный логарифм
logbase(x, b) Логарифм x по основанию b
exp(x) Натуральная экспонента
calc
log(1000) даёт 3
log10(1000000) даёт 6
log2(1024) даёт 10
logbase(81, 3) даёт 4
ln(exp(2)) даёт 2
exp(0) даёт 1

Логарифм требует положительное число: log(0) даёт Error: ∞, а log(-100) — Error: imaginary number. Для комплексного логарифма задайте комплексное число, например ln(-1 + 0i). Основание должно быть положительным и не равным 1. Логарифмы, экспоненты и гиперболические функции не принимают единицы и деньги.

Случайные значения

calcРезультаты зависят от сегодняшней даты или актуальных данных
random number between 1 and 6 даёт 4
random(1, 6) даёт 2
rand(1, 100) даёт 57
random() даёт 0.4381930527
rand() даёт 0.9102746385
random(0, 1) даёт 0.2373052626
  • Функция random(a, b) и выражение random number between a and b выбирают целое от a до b включительно.
  • Функция random() возвращает дробное число от 0 включительно до 1 невключительно. Особый случай random(0, 1) работает так же.
  • Имя rand равнозначно random.
  • Границы должны быть целыми числами без единиц в диапазоне 64-битных целых, меньшая — первой. Один аргумент, более двух, дробные значения или обратный порядок вызывают ошибку.
  • При пересчёте заметки Varlig может выбрать новое число. Сохраните его в переменной, например roll = random(1, 6), если последующие строки должны использовать один и тот же результат.

Списки и статистика

calc
average([12, 18, 9, 21]) даёт 15
median([3, 9, 4, 7, 5]) даёт 5
sum([£12.50, £8, £4.25]) даёт £24.75
max(4, 9, 2) даёт 9
stddev([2, 4, 6]) даёт 2
sum(k, k, 1, 100) даёт 5,050
range(0, 20, 5) даёт [0, 5, 10, 15, 20]
sort([3, 1, 2]) даёт [1, 2, 3]
slice([10, 20, 30, 40], 1, 3) даёт [20, 30]
map(x * 1.2, x, [£10, £25]) даёт [£12.00, £30.00]
filter(x > 10, x, [4, 12, 18]) даёт [12, 18]

sum (также total), product, average (также mean и avg), median, min, max, count, length, variance и stddev (также stdev) работают со списком; некоторые также принимают отдельные аргументы. Процентили тоже поддерживаются. С четырьмя аргументами sum, summation и product суммируют или перемножают выражение, пока счётчик проходит значения от lo до hi. reverse и unique также принимают список. Позиции в slice, статистики выборки и генеральной совокупности и другие подробности описаны в разделе Списки и статистика.

Векторы, матрицы и математический анализ

calc
dot([1, 2, 3], [4, 5, 6]) даёт 32
det([[2, 1], [1, 3]]) даёт 5
solve_system([[1, 1], [1, -1]], [10, 2]) даёт [6, 4]
solve(x * 1.2 = 60, x, 0, 100) даёт 50
differentiate(x^2, x, 3) даёт 6
integrate(x^2, x, 0, 3) даёт 9

Выражение solve_system([[1, 1], [1, -1]], [10, 2]) находит два числа с суммой 10 и разностью 2. Выражение solve(x * 1.2 = 60, x, 0, 100) ищет в диапазоне 0–100 цену до НДС 20%, дающую итог 60. О функциях cross, identity, shape, transpose, inverse, trace, rank, eigenvalues, qr, lu и svd см. Векторы и матрицы. О производных в виде формул и ограничениях решения уравнений и интегрирования — Суммы, уравнения и математический анализ и Расширенная математика.

Комплексные числа

calc
abs(3 + 4i) даёт 5
complex(3, 4) даёт 3 + 4i
conj(3 + 4i) даёт 3 - 4i
real(3 + 4i) даёт 3
imag(3 + 4i) даёт 4

Функция arg(z) даёт аргумент комплексного числа в радианах. См. Комплексные числа.

Даты и транспорт

calc
easter(2030) даёт April 21, 2030
tyre_speed(205, 55, 16, 1000 rpm) in km/h даёт 119.1103438682 km/h

Функция easter(year) даёт западную Пасху указанного года — ту же дату, что выражение Easter 2030. От неё можно считать дни: easter(2030) + 1 day. См. Даты. Функция tyre_speed принимает ширину шины в миллиметрах, отношение высоты к ширине в процентах, размер диска в дюймах и частоту вращения колеса; см. Кулинария, звук, экраны и механика.