Позволяет вычислять сложные математические выражения. Является более гибкой альтернативой $Multiply[]$, $Mod[]$ и другим примитивным реализациям математических функций. Доступна с версии 4.37.
1. Формула должна быть определена. Если формула не определена - макрос выдаст сообщение "empty expression".
2. Формула может содержать следующие символы и операторы:
- + (сложение);
- - (вычитание);
- * (умножение);
- / (деление);
- % (деление по модулю);
- ** (возведение в степень);
- . (точка, десятичный разделитель);
- , (запятая, разделяет параметры в функциях);
- () (круглые скобки для группировки операций и параметров функций);
- 0-9 (цифры);
- A-F (шестнадцатиричные цифры);
- " (кавычки, для ограничения шестнадцатиричных чисел в функциях типа hex, oct);
- пробелы для удобства чтения;
3. Формула может содержать следующие функции:
- sin(a) - синус
- cos(a) - косинус
- abs(x) - модуль числа
- atan2(y, x) - арктангенс y/x в пределах от -Пи до +Пи
- hex("FF") - hex -> dec
- oct("0777") - oct -> dec
- int(x) - целая часть числа
- log(x) - натуральный логарифм
- sqrt(x) - квадратный корень
- rand(x) - случайное число от 0 (включая) до x (не включая). Если x не задан, x=1.
4. Если в выражении найдено что-то не перечисленное выше, система выдаст сообщение: "wrong expression".
5. Система защищает сайт от вычисления "деления на ноль" и других ошибок. Если происходит ошибка вместо результата будет выдано слово "error", а в error.log попадет детальное описание ошибки. Дальнейшую обработку вывода должен делать разработчик.
6. Система никак не проверяет синтаксис формулы, это полностью оставлено на совести разработчика.
Подсказка
Некоторые функции отсутствуют, но их возможно вычислить используя имеющийся набор. Для этого нужно лишь вспомнить математику в объеме средней школы. Так взятие кубического корня производится путем возведения числа в степень 1/3 (x=y**1/3). Тангенс вычисляется как отношение синуса к косинусу. И так далее.