logologo
Начало
Руководство
Разработка
Плагины
API
Главная
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
Начало
Руководство
Разработка
Плагины
API
Главная
logologo
Вычислительный движок
Обзор
Formula.js
Math.js
Previous PageFormula.js
Уведомление об ИИ-переводе

Этот документ был переведён с помощью ИИ. Для получения точной информации обратитесь к английской версии.

#Mathjs

Math.js — это многофункциональная математическая библиотека для JavaScript и Node.js.

#Справочник функций

#Выражения

ФункцияОпределениеПример вызоваПараметрыОжидаемый результат
compileВыполняет парсинг и компиляцию выражения (только парсинг, не возвращает результат напрямую).compile('2 + 3')выражение (строка){}
evaluateВычисляет выражение и возвращает результат.evaluate('2 + 3')выражение (строка), область видимости (опционально)5
helpПолучает документацию по использованию функции или типа данных.help('evaluate')ключевое слово для поиска (строка){ "name": "evaluate", "category": "Excodession", "syntax": [ "evaluate(excodession)", "evaluate(excodession, scope)", "evaluate([expr1, expr2, expr3, ...])", "evaluate([expr1, expr2, expr3, ...], scope)" ], "description": "Evaluate an excodession or an array with excodessions.", "examples": [ "evaluate(\"2 + 3\")", "evaluate(\"sqrt(16)\")", "evaluate(\"2 inch to cm\")", "evaluate(\"sin(x * pi)\", { \"x\": 1/2 })", "evaluate([\"width=2\", \"height=4\",\"width*height\"])" ], "seealso": [], "mathjs": "Help"}
parserСоздает парсер для пользовательских операций.parser()Нет{}

#Алгебра

ФункцияОпределениеПример вызоваПараметрыОжидаемый результат
derivativeВычисляет производную выражения по заданной переменной.derivative('x^2', 'x')выражение (строка или узел), переменная (строка){ "mathjs": "OperatorNode", "op": "*", "fn": "multiply", "args": [ { "mathjs": "ConstantNode", "value": 2 }, { "mathjs": "SymbolNode", "name": "x" } ], "implicit": false, "isPercentage": false}
leafCountПодсчитывает количество листовых узлов (символов или констант) в дереве выражения.leafCount('x^2 + y')выражение (строка или узел)3
lsolveРешает линейную систему уравнений методом прямой подстановки.lsolve([[1,2],[3,4]], [5,6])L (массив или матрица), b (массив или матрица)[ [ 5 ], [ -2.25 ]]
lsolveAllНаходит все решения линейной системы методом прямой подстановки.lsolveAll([[1,2],[3,4]], [5,6])L (массив или матрица), b (массив или матрица)[ [ [ 5 ], [ -2.25 ] ]]
lupВыполняет LU-разложение матрицы с частичным выбором ведущего элемента.lup([[1,2],[3,4]])A (массив или матрица){ "L": [ [ 1, 0 ], [ 0.3333333333333333, 1 ] ], "U": [ [ 3, 4 ], [ 0, 0.6666666666666667 ] ], "p": [ 1, 0 ]}
lusolveРешает линейную систему A*x = b, где A — матрица n×n.lusolve([[1,2],[3,4]], [5,6])A (массив или матрица), b (массив или матрица)[ [ -3.9999999999999987 ], [ 4.499999999999999 ]]
qrВычисляет QR-разложение матрицы.qr([[1,2],[3,4]])A (массив или матрица){ "Q": [ [ 0.316227766016838, 0.9486832980505138 ], [ 0.9486832980505138, -0.316227766016838 ] ], "R": [ [ 3.162277660168379, 4.427188724235731 ], [ 0, 0.6324555320336751 ] ]}
rationalizeПреобразует рационализируемое выражение в рациональную дробь.rationalize('1/(x+1)')выражение (строка или узел){ "mathjs": "OperatorNode", "op": "/", "fn": "divide", "args": [ { "mathjs": "ConstantNode", "value": 1 }, { "mathjs": "OperatorNode", "op": "+", "fn": "add", "args": [ { "mathjs": "SymbolNode", "name": "x" }, { "mathjs": "ConstantNode", "value": 1 } ], "implicit": false, "isPercentage": false } ], "implicit": false, "isPercentage": false}
resolveЗаменяет переменные в выражении значениями из предоставленной области видимости.resolve('x + y', {x:2, y:3})выражение (строка или узел), область видимости (объект){ "mathjs": "OperatorNode", "op": "+", "fn": "add", "args": [ { "mathjs": "ConstantNode", "value": 2 }, { "mathjs": "ConstantNode", "value": 3 } ], "implicit": false, "isPercentage": false}
simplifyУпрощает дерево выражения (объединение подобных слагаемых и т. д.).simplify('2x + 3x')выражение (строка или узел){ "mathjs": "OperatorNode", "op": "*", "fn": "multiply", "args": [ { "mathjs": "ConstantNode", "value": 5 }, { "mathjs": "SymbolNode", "name": "x" } ], "implicit": false, "isPercentage": false}
simplifyCoreВыполняет однопроходное упрощение выражения, часто используется в сценариях, критичных к производительности.simplifyCore('x+x')выражение (строка или узел){ "mathjs": "OperatorNode", "op": "+", "fn": "add", "args": [ { "mathjs": "SymbolNode", "name": "x" }, { "mathjs": "SymbolNode", "name": "x" } ], "implicit": false, "isPercentage": false}
sluВычисляет разреженное LU-разложение с полным выбором ведущего элемента.slu(sparse([[4,3], [6, 3]]), 1, 0.001)A (массив или матрица), порядок разложения (строка), порог (число){ "L": { "mathjs": "SparseMatrix", "values": [ 1, 1.5, 1 ], "index": [ 0, 1, 1 ], "ptr": [ 0, 2, 3 ], "size": [ 2, 2 ] }, "U": { "mathjs": "SparseMatrix", "values": [ 4, 3, -1.5 ], "index": [ 0, 0, 1 ], "ptr": [ 0, 1, 3 ], "size": [ 2, 2 ] }, "p": [ 0, 1 ], "q": [ 0, 1 ]}
symbolicEqualПроверяет, равны ли два выражения символьно.symbolicEqual('x+x', '2x')выражение 1 (строка или узел), выражение 2 (строка или узел)true
usolveРешает линейную систему уравнений методом обратной подстановки.usolve([[1,2],[0,1]], [3,4])U (массив или матрица), b (массив или матрица)[ [ -5 ], [ 4 ]]
usolveAllНаходит все решения линейной системы методом обратной подстановки.usolveAll([[1,2],[0,1]], [3,4])U (массив или матрица), b (массив или матрица)[ [ [ -5 ], [ 4 ] ]]

#Арифметика

ФункцияОпределениеПример вызоваПараметрыОжидаемый результат
absВычисляет абсолютное значение числа.abs(-3.2)x (число, комплексное число, массив или матрица)3.2
addСкладывает два или более значения (x + y).add(2, 3)x, y, ... (число, массив или матрица)5
cbrtВычисляет кубический корень числа, опционально возвращая все корни.cbrt(8)x (число или комплексное число), allRoots (логическое, опционально)2
ceilОкругляет в сторону положительной бесконечности (для комплексных чисел каждая часть округляется отдельно).ceil(3.2)x (число, комплексное число, массив или матрица)4
cubeВычисляет куб значения (xxx).cube(3)x (число, комплексное число, массив или матрица)27
divideДелит одно значение на другое (x / y).divide(6, 2)x (число, массив или матрица), y (число, массив или матрица)3
dotDivideВыполняет поэлементное деление двух матриц или массивов.dotDivide([6,8],[2,4])x (массив или матрица), y (массив или матрица)[ 3, 2]
dotMultiplyВыполняет поэлементное умножение двух матриц или массивов.dotMultiply([2,3],[4,5])x (массив или матрица), y (массив или матрица)[ 8, 15]
dotPowВыполняет поэлементное возведение x в степень y.dotPow([2,3],[2,3])x (массив или матрица), y (массив или матрица)[ 4, 27]
expВычисляет e^x.exp(1)x (число, комплексное число, массив или матрица)2.718281828459045
expm1Вычисляет e^x - 1.expm1(1)x (число или комплексное число)1.718281828459045
fixОкругляет в сторону нуля (отсекает дробную часть).fix(3.7)x (число, комплексное число, массив или матрица)3
floorОкругляет в сторону отрицательной бесконечности.floor(3.7)x (число, комплексное число, массив или матрица)3
gcdВычисляет наибольший общий делитель двух или более чисел.gcd(8, 12)a, b, ... (число или BigNumber)4
hypotВычисляет квадратный корень из суммы квадратов аргументов (по теореме Пифагора).hypot(3, 4)a, b, ... (число или BigNumber)5
invmodВычисляет модульное обратное число a по модулю b.invmod(3, 11)a, b (число или BigNumber)4
lcmВычисляет наименьшее общее кратное двух или более чисел.lcm(4, 6)a, b, ... (число или BigNumber)12
logВычисляет логарифм с опциональным основанием.log(100, 10)x (число или комплексное число), base (число или комплексное число, опционально)2
log10Вычисляет десятичный логарифм числа.log10(100)x (число или комплексное число)2
log1pВычисляет ln(1 + x).log1p(1)x (число или комплексное число)0.6931471805599453
log2Вычисляет двоичный логарифм числа.log2(8)x (число или комплексное число)3
modВычисляет остаток от деления x ÷ y (x mod y).mod(8,3)x, y (число или BigNumber)2
multiplyПеремножает два или более значения (x * y).multiply(2, 3)x, y, ... (число, массив или матрица)6
normВычисляет норму числа, вектора или матрицы с опциональным параметром p.norm([3,4])x (массив или матрица), p (число или строка, опционально)5
nthRootВычисляет корень n-й степени (главный корень) числа.nthRoot(16, 4)a (число, BigNumber или комплексное число), root (число, опционально)2
nthRootsВычисляет все корни n-й степени числа, включая комплексные.nthRoots(1,3)x (число или комплексное число), root (число)[ { "mathjs": "Complex", "re": 1, "im": 0 }, { "mathjs": "Complex", "re": -0.4999999999999998, "im": 0.8660254037844387 }, { "mathjs": "Complex", "re": -0.5000000000000004, "im": -0.8660254037844384 }]
powВозводит x в степень y.pow(2, 3)x (число, комплексное число, массив или матрица), y (число, комплексное число, массив или матрица)8
roundОкругляет до указанного количества десятичных знаков.round(3.14159, 2)x (число, комплексное число, массив или матрица), n (число, опционально)3.14
signВозвращает знак числа (-1, 0 или 1).sign(-3)x (число, BigNumber или комплексное число)-1
sqrtВычисляет квадратный корень числа.sqrt(9)x (число, комплексное число, массив или матрица)3
squareВычисляет квадрат значения (x*x).square(3)x (число, комплексное число, массив или матрица)9
subtractВычитает одно значение из другого (x - y).subtract(8, 3)x, y (число, массив или матрица)5
unaryMinusПрименяет унарное отрицание к значению.unaryMinus(3)x (число, комплексное число, массив или матрица)-3
unaryPlusПрименяет унарный плюс (обычно оставляет значение без изменений).unaryPlus(-3)x (число, комплексное число, массив или матрица)-3
xgcdВычисляет расширенный наибольший общий делитель двух чисел.xgcd(8, 12)a, b (число или BigNumber){ "mathjs": "DenseMatrix", "data": [ 4, -1, 1 ], "size": [ 3 ]}

#Побитовые операции

ФункцияОпределениеПример вызоваПараметрыОжидаемый результат
bitAndВыполняет побитовое И (x & y).bitAnd(5, 3)x, y (число или BigNumber)1
bitNotВыполняет побитовое НЕ (~x).bitNot(5)x (число или BigNumber)-6
bitOrВыполняет побитовое ИЛИ (x | y).bitOr(5, 3)x, y (число или BigNumber)7
bitXorВыполняет побитовое исключающее ИЛИ (x ^ y).bitXor(5, 3)x, y (число или BigNumber)6
leftShiftВыполняет сдвиг x влево на y бит (x << y).leftShift(5, 1)x, y (число или BigNumber)10
rightArithShiftВыполняет арифметический сдвиг x вправо (x >> y).rightArithShift(5, 1)x, y (число или BigNumber)2
rightLogShiftВыполняет логический сдвиг x вправо (x >>> y).rightLogShift(5, 1)x, y (число или BigNumber)2

#Комбинаторика

ФункцияОпределениеПример вызоваПараметрыОжидаемый результат
bellNumbersПодсчитывает количество разбиений множества из n различных элементов (числа Белла).bellNumbers(3)n (число)5
catalanВычисляет n-е число Каталана для различных комбинаторных структур.catalan(5)n (число)42
compositionПодсчитывает количество композиций числа n на k частей.composition(5, 3)n, k (число)6
stirlingS2Вычисляет количество способов разбиения n помеченных элементов на k непустых подмножеств (числа Стирлинга второго рода).stirlingS2(5, 3)n, k (число)25

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

ФункцияОпределениеПример вызоваПараметрыОжидаемый результат
argВычисляет аргумент (фазу) комплексного числа.arg(complex('2 + 2i'))x (комплексное число или число)0.785398163
conjВычисляет комплексное сопряжение.conj(complex('2 + 2i'))x (комплексное число или число){ "mathjs": "Complex", "re": 2, "im": -2}
imВозвращает мнимую часть комплексного числа.im(complex('2 + 3i'))x (комплексное число или число)3
reВозвращает действительную часть комплексного числа.re(complex('2 + 3i'))x (комплексное число или число)2

#Геометрия

ФункцияОпределениеПример вызоваПараметрыОжидаемый результат
distanceВычисляет евклидово расстояние между двумя точками в N-мерном пространстве.distance([0,0],[3,4])point1 (массив), point2 (массив)5
intersectНаходит точку пересечения двух прямых (2D/3D) или прямой и плоскости (3D).intersect([0,0],[2,2],[0,2],[2,0])конечные точки прямой 1, конечные точки прямой 2, ...[ 1, 1]

#Логика

ФункцияОпределениеПример вызоваПараметрыОжидаемый результат
andВыполняет логическое И.and(true, false)x, y (логическое значение или число)false
notВыполняет логическое НЕ.not(true)x (логическое значение или число)false
orВыполняет логическое ИЛИ.or(true, false)x, y (логическое значение или число)true
xorВыполняет логическое исключающее ИЛИ.xor(1, 0)x, y (логическое значение или число)true

#Матрицы

ФункцияОпределениеПример вызоваПараметрыОжидаемый результат
columnВозвращает указанный столбец из матрицы.column([[1,2],[3,4]], 1)value (матрица или массив), index (число)[ [ 1 ], [ 3 ]]
concatОбъединяет несколько матриц/массивов вдоль заданного измерения.concat([1,2], [3,4], [5,6])a, b, c, ... (массив или матрица), dim (число, опционально)[ 1, 2, 3, 4, 5, 6]
countПодсчитывает количество элементов в матрице, массиве или строке.count([1,2,3,'hello'])x (массив, матрица или строка)4
crossВычисляет векторное произведение двух трехмерных векторов.cross([1,2,3], [4,5,6])x, y (массив или матрица длиной 3)[ -3, 6, -3]
ctransposeВычисляет эрмитово-сопряженную (сопряженно-транспонированную) матрицу.ctranspose([[1,2],[3,4]])x (матрица или массив)[ [ 1, 3 ], [ 2, 4 ]]
detВычисляет определитель матрицы.det([[1,2],[3,4]])x (матрица или массив)-2
diagСоздает диагональную матрицу или извлекает диагональ матрицы.diag([1,2,3])X (массив или матрица)[ [ 1, 0, 0 ], [ 0, 2, 0 ], [ 0, 0, 3 ]]
diffВычисляет разность между соседними элементами вдоль измерения.diff([1,4,9,16])arr (массив или матрица), dim (число, опционально)[ 3, 5, 7]
dotВычисляет скалярное произведение двух векторов.dot([1,2,3],[4,5,6])x, y (массив или матрица)32
eigsВычисляет собственные значения и (опционально) собственные векторы квадратной матрицы.eigs([[1,2],[3,4]])x (матрица или массив), codec (число, опционально){ "values": [ -0.37228132326901653, 5.372281323269014 ], "eigenvectors": [ { "value": -0.37228132326901653, "vector": [ -4.505883335311908, 3.091669772938812 ] }, { "value": 5.372281323269014, "vector": [ 0.4438641329939267, 0.9703494293791691 ] } ]}
expmВычисляет матричную экспоненту e^A.expm([[1,0],[0,1]])x (матрица или массив){ "mathjs": "DenseMatrix", "data": [ [ 2.7182818284590424, 0 ], [ 0, 2.7182818284590424 ] ], "size": [ 2, 2 ]}
fftВычисляет N-мерное быстрое преобразование Фурье.fft([1,2,3,4])arr (массив или матрица)[ { "mathjs": "Complex", "re": 10, "im": 0 }, { "mathjs": "Complex", "re": -2, "im": 2 }, { "mathjs": "Complex", "re": -2, "im": 0 }, { "mathjs": "Complex", "re": -1.9999999999999998, "im": -2 }]
filter(Пока не поддерживается) Фильтрует массив или одномерную матрицу с помощью тестовой функции.filter(['23', 'foo', '100', '55', 'bar'], /[0-9]+/)x (массив или матрица), test (функция)[ "23", "100", "55"]
flattenПреобразует многомерную матрицу или массив в одномерный.flatten([[1,2],[3,4]])x (массив или матрица)[ 1, 2, 3, 4]
forEach(Пока не поддерживается) Итерирует по каждому элементу матрицы/массива и вызывает функцию обратного вызова.forEach([1,2,3], val => console.log(val))x (массив или матрица), callback (функция)undefined
getMatrixDataTypeПроверяет тип данных всех элементов в матрице или массиве (например, 'number', 'Complex').getMatrixDataType([[1,2.2],[3,'hello']])x (массив или матрица)mixed
identityСоздает единичную матрицу n x n (или m x n).identity(3)n (число) или [m, n] (массив){ "mathjs": "DenseMatrix", "data": [ [ 1, 0, 0 ], [ 0, 1, 0 ], [ 0, 0, 1 ] ], "size": [ 3, 3 ]}
ifftВычисляет N-мерное обратное быстрое преобразование Фурье.ifft([1,2,3,4])arr (массив или матрица)[ { "mathjs": "Complex", "re": 2.5, "im": 0 }, { "mathjs": "Complex", "re": -0.5, "im": -0.5 }, { "mathjs": "Complex", "re": -0.5, "im": 0 }, { "mathjs": "Complex", "re": -0.49999999999999994, "im": 0.5 }]
invВычисляет обратную матрицу для квадратной матрицы.inv([[1,2],[3,4]])x (матрица или массив)[ [ -2, 1 ], [ 1.5, -0.5 ]]
kronВычисляет произведение Кронекера двух матриц или векторов.kron([[1,1],[0,1]], [[2,0],[0,2]])x, y (матрица или массив)[ [ 2, 0, 2, 0 ], [ 0, 2, 0, 2 ], [ 0, 0, 2, 0 ], [ 0, 0, 0, 2 ]]
mapСоздает новый массив/матрицу, применяя функцию обратного вызова к каждому элементу.map([1,2,3], val => val * val)x (массив или матрица), callback (функция)[ 1, 4, 9]
matrixFromColumnsОбъединяет векторы в качестве отдельных столбцов плотной матрицы.matrixFromColumns([1,4],[2,5],[3,6])...arr (массив или матрица)[ [ 1, 2, 3 ], [ 4, 5, 6 ]]
matrixFromFunction(Пока не поддерживается) Создает матрицу, вычисляя функцию для каждого индекса.matrixFromFunction([5], i => math.random())size (массив), fn (функция)случайный вектор
matrixFromRowsОбъединяет векторы в качестве отдельных строк плотной матрицы.matrixFromRows([1,2,3],[4,5,6])...arr (массив или матрица)[ [ 1, 2, 3 ], [ 4, 5, 6 ]]
onesСоздает матрицу из единиц для заданных размеров.ones(2, 3)m, n, p... (число){ "mathjs": "DenseMatrix", "data": [ [ 1, 1, 1 ], [ 1, 1, 1 ] ], "size": [ 2, 3 ]}
partitionSelectВозвращает k-й наименьший элемент, используя алгоритм быстрого выбора (partition selection).partitionSelect([3,1,4,2], 2)x (массив или матрица), k (число)3
pinvВычисляет псевдообратную матрицу Мура-Пенроуза.pinv([[1,2],[2,4]])x (матрица или массив)[ [ 0.04000000000000001, 0.08000000000000002 ], [ 0.08000000000000002, 0.16000000000000003 ]]
rangeСоздает массив чисел от start до end (с опциональным шагом step).range(1, 5, 2)start (число), end (число), step (число, опционально){ "mathjs": "DenseMatrix", "data": [ 1, 3 ], "size": [ 2 ]}
reshapeИзменяет форму массива/матрицы под заданные размеры.reshape([1,2,3,4,5,6], [2,3])x (массив или матрица), sizes (массив)[ [ 1, 2, 3 ], [ 4, 5, 6 ]]
resizeИзменяет размер матрицы до новых измерений, заполняя пустые места значением по умолчанию, если оно указано.resize([1,2,3], [5], 0)x (массив или матрица), size (массив), defaultValue (опционально)[ 1, 2, 3, 0, 0]
rotateПоворачивает вектор 1x2 против часовой стрелки или вектор 1x3 вокруг заданной оси.rotate([1, 0], Math.PI / 2)w (массив или матрица), theta (число[, ось])[ 6.123233995736766e-17, 1]
rotationMatrixСоздает матрицу поворота 2x2 для заданного угла в радианах.rotationMatrix(Math.PI / 2)theta (число){ "mathjs": "DenseMatrix", "data": [ [ 6.123233995736766e-17, -1 ], [ 1, 6.123233995736766e-17 ] ], "size": [ 2, 2 ]}
rowВозвращает указанную строку из матрицы.row([[1,2],[3,4]], 1)value (матрица или массив), index (число)[ [ 3, 4 ]]
sizeВычисляет размер (измерения) матрицы, массива или скаляра.size([[1,2,3],[4,5,6]])x (массив, матрица или число)[ 2, 3]
sortСортирует матрицу или массив в порядке возрастания.sort([3,1,2])x (массив или матрица)[ 1, 2, 3]
sqrtmВычисляет главный квадратный корень квадратной матрицы.sqrtm([[4,0],[0,4]])A (матрица или массив)[ [ 2.000000000000002, 0 ], [ 0, 2.000000000000002 ]]
squeezeУдаляет единичные измерения внутри или снаружи матрицы.squeeze([[[1],[2],[3]]])x (матрица или массив)[ 1, 2, 3]
subsetПолучает или заменяет подмножество матрицы или строки.subset([[1, 2], [3, 4]], index(1, 1),2)x (матрица, массив или строка), index (индекс), replacement (опционально)[ [ 2, 2 ], [ 3, 4 ]]
traceВычисляет след (сумму диагональных элементов) квадратной матрицы.trace([[1,2],[3,4]])x (матрица или массив)5
transposeТранспонирует матрицу.transpose([[1,2],[3,4]])x (матрица или массив)[ [ 1, 3 ], [ 2, 4 ]]
zerosСоздает матрицу из нулей для заданных размеров.zeros(2, 3)m, n, p... (число){ "mathjs": "DenseMatrix", "data": [ [ 0, 0, 0 ], [ 0, 0, 0 ] ], "size": [ 2, 3 ]}

#Вероятность

ФункцияОпределениеПример вызоваПараметрыОжидаемый результат
combinationsПодсчитывает количество сочетаний при выборе k неупорядоченных элементов из n.combinations(5, 2)n (число), k (число)10
combinationsWithRepПодсчитывает количество сочетаний с повторениями.combinationsWithRep(5, 2)n (число), k (число)15
factorialВычисляет факториал n! для целого числа n.factorial(5)n (целое число)120
gammaПриближенно вычисляет гамма-функцию.gamma(5)n (число)24
kldivergenceВычисляет расстояние Кульбака — Лейблера (KL-дивергенцию) между двумя распределениями.kldivergence([0.1, 0.9], [0.2, 0.8])x (массив или матрица), y (массив или матрица)0.036690014034750584
lgammaВычисляет логарифм гамма-функции.lgamma(5)n (число)3.178053830347945
multinomialВычисляет мультиномиальный коэффициент для набора счетчиков.multinomial([1, 2, 3])a (массив)60
permutationsПодсчитывает количество упорядоченных перестановок при выборе k элементов из n.permutations(5, 2)n (число), k (число, опционально)20
pickRandomВыбирает одно или несколько случайных значений из одномерного массива.pickRandom([10, 20, 30])массив20
randomВозвращает равномерно распределенное случайное число.random(1, 10)min (опционально), max (опционально)3.6099423753668143
randomIntВозвращает равномерно распределенное случайное целое число.randomInt(1, 10)min (опционально), max (опционально)5

#Сравнение

ФункцияОпределениеПример вызоваПараметрыОжидаемый результат
compareСравнивает два значения, возвращая -1, 0 или 1.compare(2, 3)x, y (любой тип)-1
compareNaturalСравнивает произвольные значения в естественном, воспроизводимом порядке.compareNatural('2', '10')x, y (любой тип)-1
compareTextЛексикографически сравнивает две строки.compareText('apple', 'banana')x (строка), y (строка)-1
deepEqualПоэлементно сравнивает две матрицы/массива на равенство.deepEqual([[1, 2]], [[1, 2]])x (массив/матрица), y (массив/матрица)true
equalПроверяет, равны ли два значения.equal(2, 2)x, y (любой тип)true
equalTextПроверяет, идентичны ли две строки.equalText('hello', 'hello')x (строка), y (строка)true
largerПроверяет, больше ли x, чем y.larger(3, 2)x, y (число или BigNumber)true
largerEqПроверяет, больше ли x или равно y.largerEq(3, 3)x, y (число или BigNumber)true
smallerПроверяет, меньше ли x, чем y.smaller(2, 3)x, y (число или BigNumber)true
smallerEqПроверяет, меньше ли x или равно y.smallerEq(2, 2)x, y (число или BigNumber)true
unequalПроверяет, не равны ли два значения.unequal(2, 3)x, y (любой тип)true

#Множества

ФункцияОпределениеПример вызоваПараметрыОжидаемый результат
setCartesianВычисляет декартово произведение двух (или более) множеств.setCartesian([1, 2], [3, 4])set1 (массив), set2 (массив)[ [ 1, 3 ], [ 1, 4 ], [ 2, 3 ], [ 2, 4 ]]
setDifferenceВозвращает разность двух множеств (элементы, которые есть в set1, но отсутствуют в set2).setDifference([1, 2, 3], [2])set1 (массив), set2 (массив)[ 1, 3]
setDistinctВозвращает уникальные элементы внутри (мульти)множества.setDistinct([1, 2, 2, 3])set (массив)[ 1, 2, 3]
setIntersectВозвращает пересечение двух (или более) множеств.setIntersect([1, 2], [2, 3])set1 (массив), set2 (массив)[ 2]
setIsSubsetПроверяет, является ли set1 подмножеством set2.setIsSubset([1, 2], [1, 2, 3])set1 (массив), set2 (массив)true
setMultiplicityПодсчитывает, сколько раз элемент встречается в мультимножестве.setMultiplicity(2, [1, 2, 2, 3])элемент (любой тип), set (массив)2
setPowersetВозвращает булеан (множество всех подмножеств) для (мульти)множества.setPowerset([1, 2])set (массив)[ [], [ 1 ], [ 2 ], [ 1, 2 ]]
setSizeПодсчитывает общее количество элементов в (мульти)множестве.setSize([1, 2, 3])set (массив)3
setSymDifferenceВозвращает симметрическую разность двух (или более) множеств.setSymDifference([1, 2], [2, 3])set1 (массив), set2 (массив)[ 1, 3]
setUnionВозвращает объединение двух (или более) множеств.setUnion([1, 2], [2, 3])set1 (массив), set2 (массив)[ 1, 3, 2]

#Специальные функции

ФункцияОпределениеПример вызоваПараметрыОжидаемый результат
erfВычисляет функцию ошибок, используя рациональную аппроксимацию Чебышёва.erf(0.5)входное значение x (число)0.5204998778130465

#Статистика

ФункцияОпределениеПример вызоваПараметрыОжидаемый результат
cumsumВычисляет кумулятивную сумму элементов списка или матрицы.cumsum([1, 2, 3, 4])[ 1, 3, 6, 10]
madВычисляет медианное абсолютное отклонение.mad([1, 2, 3, 4])1
maxВозвращает максимальное значение из списка или матрицы.max([1, 2, 3])3
meanВычисляет среднее арифметическое значение.mean([2, 4, 6])4
medianВычисляет медиану.median([1, 2, 3, 4, 5])3
minВозвращает минимальное значение из списка или матрицы.min([1, 2, 3])1
modeВычисляет моду (наиболее часто встречающееся значение).mode([1, 2, 2, 3])[ 2]
prodВычисляет произведение всех чисел в списке или матрице.prod([1, 2, 3, 4])24
quantileSeqВычисляет квантиль для заданной вероятности prob.quantileSeq([1, 2, 3, 4], 0.25)1.75
stdВычисляет стандартное отклонение данных.std([1, 2, 3, 4])1.2909944487358056
sumВычисляет сумму всех чисел в списке или матрице.sum([1, 2, 3])6
varianceВычисляет дисперсию данных.variance([1, 2, 3, 4])1.6666666666666667

#Строки

ФункцияОпределениеПример вызоваПараметрыОжидаемый результат
binФорматирует число в двоичном виде.bin(13)13
formatФорматирует любое значение в строку с заданной точностью.format(123.456, 2)120
hexФорматирует число в шестнадцатеричном виде.hex(255)255
octФорматирует число в восьмеричном виде.oct(64)64
printВставляет несколько значений в строковый шаблон.print('x = $x, y = $y', {x: 3, y: 4}, 2)x = 3, y = 4

#Тригонометрия

ФункцияОпределениеПример вызоваПараметрыОжидаемый результат
acosВычисляет арккосинус.acos(0.5)1.0471975511965979
acoshВычисляет обратный гиперболический косинус.acosh(2)1.3169578969248166
acotВычисляет арккотангенс.acot(1)0.7853981633974483
acothВычисляет обратный гиперболический котангенс.acoth(2)0.5493061443340548
acscВычисляет арккосеканс.acsc(2)0.5235987755982989
acschВычисляет обратный гиперболический косеканс.acsch(2)0.48121182505960347
asecВычисляет арксеканс.asec(2)1.0471975511965979
asechВычисляет обратный гиперболический секанс.asech(0.5)1.3169578969248166
asinВычисляет арксинус.asin(0.5)0.5235987755982989
asinhВычисляет обратный гиперболический синус.asinh(1.5)1.1947632172871094
atanВычисляет арктангенс.atan(1)0.7853981633974483
atan2Вычисляет арктангенс от двух аргументов.atan2(1, 2)0.4636476090008061
atanhВычисляет обратный гиперболический тангенс.atanh(0.5)0.5493061443340548
cosВычисляет косинус x.cos(0.5)0.8775825618903728
coshВычисляет гиперболический косинус x.cosh(0.5)1.1276259652063807
cotВычисляет котангенс x.cot(0.5)1.830487721712452
cothВычисляет гиперболический котангенс x.coth(0.5)2.163953413738653
cscВычисляет косеканс x.csc(0.5)2.085829642933488
cschВычисляет гиперболический косеканс x.csch(0.5)1.9190347513349437
secВычисляет секанс x.sec(0.5)1.139493927324549
sechВычисляет гиперболический секанс x.sech(0.5)0.886818883970074
sinВычисляет синус x.sin(0.5)0.479425538604203
sinhВычисляет гиперболический синус x.sinh(0.5)0.5210953054937474
tanВычисляет тангенс x.tan(0.5)0.5463024898437905
tanhВычисляет гиперболический тангенс x.tanh(0.5)0.46211715726000974

#Единицы измерения

ФункцияОпределениеПример вызоваПараметрыОжидаемый результат
toПреобразует числовое значение в указанную единицу измерения.to(unit('2 inch'), 'cm'){ "mathjs": "Unit", "value": 5.08, "unit": "cm", "fixcodefix": true}

#Утилиты

ФункцияОпределениеПример вызоваПараметрыОжидаемый результат
cloneВыполняет глубокое клонирование входного значения.clone([1, 2, 3])[ 1, 2, 3]
hasNumericValueПроверяет, содержит ли входное значение число.hasNumericValue('123')true
isIntegerПроверяет, является ли входное значение целым числом.isInteger(3.0)true
isNaNПроверяет, является ли входное значение NaN.isNaN(NaN)true
isNegativeПроверяет, является ли входное значение отрицательным.isNegative(-5)true
isNumericПроверяет, является ли входное значение числовым.isNumeric('123')false
isPositiveПроверяет, является ли входное значение положительным.isPositive(2)true
isPrimeПроверяет, является ли входное значение простым числом.isPrime(7)true
isZeroПроверяет, является ли входное значение нулем.isZero(0)true
numericПреобразует входное значение в числовой тип (number, BigNumber и т. д.).numeric('123')123
typeOfВозвращает имя типа входного значения.typeOf([1, 2, 3])Array