# Вычислитель выражений

Вычисляйте математические выражения с единицами измерения, функциями, константами и небольшими матрицами в ограниченной песочнице mathjs. Введите, например, 5 cm + 2 inch to mm, 60 km/h to m/s или det([[1, 2], [3, 4]]) и получите результат, округленный до заданной точности. Выражения не могут задавать переменные и функции или обращаться к чему-либо за пределами математической библиотеки, поэтому безопасны для любых входных данных. Удобно для преобразования единиц, инженерных проверок и быстрых вычислений.

## Часто задаваемые вопросы

### Что можно вводить?

Числа, операторы + - * / ^ и %, mod, factorial(n), скобки, единицы измерения, например cm, kg, km/h или degC, константы pi, e, tau, phi и i, а также функции, например sqrt, sin, log, round, mean или det. Подразумеваемое умножение тоже работает: 2 pi и 3 kg распознаются правильно. Длина ввода — до 2000 символов.

### Как работает преобразование единиц измерения?

Добавьте единицы измерения к числам и используйте to или in для преобразования, например 3 ft to m или 100 degF to degC. Единицы сочетаются в арифметических выражениях: 1 kg * 9.81 m/s^2 даст 9.81 N, а 2 cm * 3 cm — 6 cm^2. При сложении несовместимых единиц, например kg и m, возникнет ошибка.

### Можно ли работать с матрицами и векторами?

Да, записывайте их в квадратных скобках, например [1, 2, 3] или [[1, 2], [3, 4]]; в каждой строке может быть до 10 элементов, допускается два уровня вложенности. Доступны функции det, inv, transpose, trace, dot, cross и norm, а также поэлементные операторы, например .*. Результаты для матриц отображаются в виде выровненного блока.

### Какие функции отключены в целях безопасности?

Переменные, присваивания, определения функций, строки, объекты, диапазоны, индексация и доступ к свойствам отклоняются до начала вычислений. Согласно рекомендациям по безопасности mathjs отключены import, createUnit, evaluate, parse, simplify и derivative; вызывать можно только функции из списка разрешённых математических функций. Выражение не может получить доступ к JavaScript или серверу.

### Тригонометрические функции используют градусы или радианы?

Для обычных чисел используются радианы, поэтому sin(pi / 2) равно 1. Чтобы работать в градусах, добавьте единицу deg, например sin(30 deg) или cos(45 deg). В научном калькуляторе есть режим градусов, в котором обычные числа трактуются как градусы.

### Что делает знак процента?

Знак процента после числа делит его на 100, поэтому 50% — это 0.5, а 200 * 15% — это 30. После знака плюс или минус процент рассчитывается от числа слева, поэтому 100 + 10% — это 110. Между двумя числами, как в 10 % 3, знак означает операцию взятия остатка от деления и возвращает 1. Можно также записать 10 mod 3.

### Как округляются результаты?

Числа, значения с единицами измерения и мнимые части округляются до выбранного количества знаков после запятой — по умолчанию до 6, максимум до 15; конечные нули убираются. Слишком малые для отображения с такой точностью значения выводятся в экспоненциальной форме. Деление на ноль возвращает Infinity, а результат 0 / 0 отображается как undefined.

### Можно ли ввести несколько выражений сразу?

Нет, за один расчёт инструмент вычисляет одно выражение; точки с запятой и дополнительные строки отклоняются. Объедините части с помощью арифметических операций или вычислите их по очереди. Так каждый результат будет явно связан со своим выражением.

### Есть ли ограничение по времени?

Каждое вычисление выполняется в изолированном рабочем процессе с ограничением в 3 секунды; также действуют ограничения на длину выражения, глубину вложенности и размер матрицы. Для сочетаний и перестановок допускается n до 10,000. Если выражение достигает ограничения, появляется понятное сообщение, а страница не замедляется.

### Поддерживаются ли комплексные числа?

Да, используйте i как мнимую единицу, например (2 + 3i) * (1 - i); функции, такие как sqrt(-4), возвращают комплексные результаты, например 2i. Функции re, im, arg и conj выделяют части комплексного результата. Результаты отображаются в форме a + bi.

Ваша реклама здесь?

[Напишите нам по электронной почте](mailto:hi@dennn.is?subject=%D0%A0%D0%B5%D0%BA%D0%BB%D0%B0%D0%BC%D0%B0%20%D0%BD%D0%B0%20OneClick%20Pro)

[Реклама Набор плагинов для работы агентов с WordPress.](https://sleekwp.com/?ref=oneclickpro)
