logologo
Começar
Manual
Desenvolvimento
Plugins
API
Início
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
Começar
Manual
Desenvolvimento
Plugins
API
Início
logologo
Motor de cálculo
Visão geral
Formula.js
Math.js
Previous PageFormula.js
Aviso de tradução por IA

Este documento foi traduzido por IA. Para informações precisas, consulte a versão em inglês.

#Mathjs

Math.js é uma biblioteca de matemática rica em recursos para JavaScript e Node.js.

#Referência de Funções

#Expressões

FunçãoDefiniçãoExemplo de chamadaParâmetrosResultado esperado
compileAnalisa e compila uma expressão (apenas analisa e não retorna um resultado diretamente).compile('2 + 3')expressão (string){}
evaluateAvalia uma expressão e retorna o resultado.evaluate('2 + 3')expressão (string), escopo (opcional)5
helpRecupera a documentação de uma função ou tipo de dado.help('evaluate')palavra-chave de busca (string){ "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"}
parserCria um analisador (parser) para operações personalizadas.parser()Nenhum{}

#Álgebra

FunçãoDefiniçãoExemplo de chamadaParâmetrosResultado esperado
derivativeDiferencia uma expressão em relação a uma variável especificada.derivative('x^2', 'x')expressão (string ou Node), variável (string){ "mathjs": "OperatorNode", "op": "*", "fn": "multiply", "args": [ { "mathjs": "ConstantNode", "value": 2 }, { "mathjs": "SymbolNode", "name": "x" } ], "implicit": false, "isPercentage": false}
leafCountConta os nós folha (símbolos ou constantes) em uma árvore de expressão.leafCount('x^2 + y')expressão (string ou Node)3
lsolveResolve um sistema linear usando substituição direta (forward substitution).lsolve([[1,2],[3,4]], [5,6])L (Array ou Matriz), b (Array ou Matriz)[ [ 5 ], [ -2.25 ]]
lsolveAllEncontra todas as soluções de um sistema linear usando substituição direta.lsolveAll([[1,2],[3,4]], [5,6])L (Array ou Matriz), b (Array ou Matriz)[ [ [ 5 ], [ -2.25 ] ]]
lupRealiza uma decomposição LU com pivoteamento parcial.lup([[1,2],[3,4]])A (Array ou Matriz){ "L": [ [ 1, 0 ], [ 0.3333333333333333, 1 ] ], "U": [ [ 3, 4 ], [ 0, 0.6666666666666667 ] ], "p": [ 1, 0 ]}
lusolveResolve um sistema linear A*x = b onde A é uma matriz n×n.lusolve([[1,2],[3,4]], [5,6])A (Array ou Matriz), b (Array ou Matriz)[ [ -3.9999999999999987 ], [ 4.499999999999999 ]]
qrCalcula a decomposição QR de uma matriz.qr([[1,2],[3,4]])A (Array ou Matriz){ "Q": [ [ 0.316227766016838, 0.9486832980505138 ], [ 0.9486832980505138, -0.316227766016838 ] ], "R": [ [ 3.162277660168379, 4.427188724235731 ], [ 0, 0.6324555320336751 ] ]}
rationalizeConverte uma expressão racionalizável em uma fração racional.rationalize('1/(x+1)')expressão (string ou Node){ "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}
resolveSubstitui símbolos em uma expressão por valores do escopo fornecido.resolve('x + y', {x:2, y:3})expressão (string ou Node), escopo (objeto){ "mathjs": "OperatorNode", "op": "+", "fn": "add", "args": [ { "mathjs": "ConstantNode", "value": 2 }, { "mathjs": "ConstantNode", "value": 3 } ], "implicit": false, "isPercentage": false}
simplifySimplifica uma árvore de expressão (combina termos semelhantes, etc.).simplify('2x + 3x')expressão (string ou Node){ "mathjs": "OperatorNode", "op": "*", "fn": "multiply", "args": [ { "mathjs": "ConstantNode", "value": 5 }, { "mathjs": "SymbolNode", "name": "x" } ], "implicit": false, "isPercentage": false}
simplifyCoreRealiza uma simplificação de passagem única (one-pass), frequentemente usada em casos sensíveis ao desempenho.simplifyCore('x+x')expressão (string ou Node){ "mathjs": "OperatorNode", "op": "+", "fn": "add", "args": [ { "mathjs": "SymbolNode", "name": "x" }, { "mathjs": "SymbolNode", "name": "x" } ], "implicit": false, "isPercentage": false}
sluCalcula uma decomposição LU esparsa com pivoteamento total.slu(sparse([[4,3], [6, 3]]), 1, 0.001)A (Array ou Matriz), ordem (string), limiar (number){ "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 ]}
symbolicEqualVerifica se duas expressões são simbolicamente iguais.symbolicEqual('x+x', '2x')expressão1 (string ou Node), expressão2 (string ou Node)true
usolveResolve um sistema linear usando substituição reversa (back substitution).usolve([[1,2],[0,1]], [3,4])U (Array ou Matriz), b (Array ou Matriz)[ [ -5 ], [ 4 ]]
usolveAllEncontra todas as soluções de um sistema linear usando substituição reversa.usolveAll([[1,2],[0,1]], [3,4])U (Array ou Matriz), b (Array ou Matriz)[ [ [ -5 ], [ 4 ] ]]

#Aritmética

FunçãoDefiniçãoExemplo de chamadaParâmetrosResultado esperado
absCalcula o valor absoluto de um número.abs(-3.2)x (number, Complex, Array ou Matriz)3.2
addSoma dois ou mais valores (x + y).add(2, 3)x, y, ... (number, Array ou Matriz)5
cbrtCalcula a raiz cúbica de um número, opcionalmente retornando todas as raízes cúbicas.cbrt(8)x (number ou Complex), allRoots (boolean, opcional)2
ceilArredonda em direção ao infinito positivo (para números complexos, cada parte é arredondada separadamente).ceil(3.2)x (number, Complex, Array ou Matriz)4
cubeCalcula o cubo de um valor (xxx).cube(3)x (number, Complex, Array ou Matriz)27
divideDivide dois valores (x / y).divide(6, 2)x (number, Array ou Matriz), y (number, Array ou Matriz)3
dotDivideDivide duas matrizes ou arrays elemento a elemento.dotDivide([6,8],[2,4])x (Array ou Matriz), y (Array ou Matriz)[ 3, 2]
dotMultiplyMultiplica duas matrizes ou arrays elemento a elemento.dotMultiply([2,3],[4,5])x (Array ou Matriz), y (Array ou Matriz)[ 8, 15]
dotPowCalcula x^y elemento a elemento.dotPow([2,3],[2,3])x (Array ou Matriz), y (Array ou Matriz)[ 4, 27]
expCalcula e^x.exp(1)x (number, Complex, Array ou Matriz)2.718281828459045
expm1Calcula e^x - 1.expm1(1)x (number ou Complex)1.718281828459045
fixArredonda em direção a zero (truncamento).fix(3.7)x (number, Complex, Array ou Matriz)3
floorArredonda em direção ao infinito negativo.floor(3.7)x (number, Complex, Array ou Matriz)3
gcdCalcula o máximo divisor comum (MDC) de dois ou mais números.gcd(8, 12)a, b, ... (number ou BigNumber)4
hypotCalcula a raiz quadrada da soma dos quadrados dos argumentos (Pitagórico).hypot(3, 4)a, b, ... (number ou BigNumber)5
invmodCalcula o inverso multiplicativo modular de a módulo b.invmod(3, 11)a, b (number ou BigNumber)4
lcmCalcula o mínimo múltiplo comum (MMC) de dois ou mais números.lcm(4, 6)a, b, ... (number ou BigNumber)12
logCalcula o logaritmo com uma base opcional.log(100, 10)x (number ou Complex), base (number ou Complex, opcional)2
log10Calcula o logaritmo de base 10 de um número.log10(100)x (number ou Complex)2
log1pCalcula ln(1 + x).log1p(1)x (number ou Complex)0.6931471805599453
log2Calcula o logaritmo de base 2 de um número.log2(8)x (number ou Complex)3
modCalcula o resto de x ÷ y (x mod y).mod(8,3)x, y (number ou BigNumber)2
multiplyMultiplica dois ou mais valores (x * y).multiply(2, 3)x, y, ... (number, Array ou Matriz)6
normCalcula a norma de um número, vetor ou matriz com p opcional.norm([3,4])x (Array ou Matriz), p (number ou string, opcional)5
nthRootCalcula a enésima raiz (raiz principal) de um número.nthRoot(16, 4)a (number, BigNumber ou Complex), root (number, opcional)2
nthRootsCalcula todas as enésimas raízes de um número, potencialmente complexas.nthRoots(1,3)x (number ou Complex), root (number)[ { "mathjs": "Complex", "re": 1, "im": 0 }, { "mathjs": "Complex", "re": -0.4999999999999998, "im": 0.8660254037844387 }, { "mathjs": "Complex", "re": -0.5000000000000004, "im": -0.8660254037844384 }]
powEleva x à potência y.pow(2, 3)x (number, Complex, Array ou Matriz), y (number, Complex, Array ou Matriz)8
roundArredonda para um número especificado de casas decimais.round(3.14159, 2)x (number, Complex, Array ou Matriz), n (number, opcional)3.14
signRetorna o sinal de um número (-1, 0 ou 1).sign(-3)x (number, BigNumber ou Complex)-1
sqrtCalcula a raiz quadrada de um número.sqrt(9)x (number, Complex, Array ou Matriz)3
squareCalcula o quadrado de um valor (x*x).square(3)x (number, Complex, Array ou Matriz)9
subtractSubtrai um valor de outro (x - y).subtract(8, 3)x, y (number, Array ou Matriz)5
unaryMinusAplica a negação unária a um valor.unaryMinus(3)x (number, Complex, Array ou Matriz)-3
unaryPlusAplica o sinal de mais unário (geralmente deixa o valor inalterado).unaryPlus(-3)x (number, Complex, Array ou Matriz)-3
xgcdCalcula o máximo divisor comum estendido de dois números.xgcd(8, 12)a, b (number ou BigNumber){ "mathjs": "DenseMatrix", "data": [ 4, -1, 1 ], "size": [ 3 ]}

#Operações de Bits

FunçãoDefiniçãoExemplo de chamadaParâmetrosResultado esperado
bitAndRealiza o AND bit a bit (x & y).bitAnd(5, 3)x, y (number ou BigNumber)1
bitNotRealiza o NOT bit a bit (~x).bitNot(5)x (number ou BigNumber)-6
bitOrRealiza o OR bit a bit (x | y).bitOr(5, 3)x, y (number ou BigNumber)7
bitXorRealiza o XOR bit a bit (x ^ y).bitXor(5, 3)x, y (number ou BigNumber)6
leftShiftDesloca x para a esquerda em y bits (x << y).leftShift(5, 1)x, y (number ou BigNumber)10
rightArithShiftRealiza um deslocamento aritmético para a direita em x (x >> y).rightArithShift(5, 1)x, y (number ou BigNumber)2
rightLogShiftRealiza um deslocamento lógico para a direita em x (x >>> y).rightLogShift(5, 1)x, y (number ou BigNumber)2

#Combinatória

FunçãoDefiniçãoExemplo de chamadaParâmetrosResultado esperado
bellNumbersConta as partições de n elementos distintos.bellNumbers(3)n (number)5
catalanCalcula o enésimo número de Catalan para diversas estruturas combinatórias.catalan(5)n (number)42
compositionConta as composições de n em k partes.composition(5, 3)n, k (number)6
stirlingS2Calcula o número de maneiras de particionar n itens rotulados em k subconjuntos não vazios (números de Stirling de segunda espécie).stirlingS2(5, 3)n, k (number)25

#Números Complexos

FunçãoDefiniçãoExemplo de chamadaParâmetrosResultado esperado
argCalcula o argumento (fase) de um número complexo.arg(complex('2 + 2i'))x (Complex ou number)0.785398163
conjCalcula o conjugado complexo.conj(complex('2 + 2i'))x (Complex ou number){ "mathjs": "Complex", "re": 2, "im": -2}
imRetorna a parte imaginária de um número complexo.im(complex('2 + 3i'))x (Complex ou number)3
reRetorna a parte real de um número complexo.re(complex('2 + 3i'))x (Complex ou number)2

#Geometria

FunçãoDefiniçãoExemplo de chamadaParâmetrosResultado esperado
distanceCalcula a distância euclidiana entre dois pontos em um espaço N-dimensional.distance([0,0],[3,4])ponto1 (Array), ponto2 (Array)5
intersectEncontra a interseção de duas retas (2D/3D) ou de uma reta e um plano (3D).intersect([0,0],[2,2],[0,2],[2,0])extremidades da reta 1, extremidades da reta 2, ...[ 1, 1]

#Lógica

FunçãoDefiniçãoExemplo de chamadaParâmetrosResultado esperado
andRealiza um AND lógico.and(true, false)x, y (boolean ou number)false
notRealiza um NOT lógico.not(true)x (boolean ou number)false
orRealiza um OR lógico.or(true, false)x, y (boolean ou number)true
xorRealiza um XOR lógico.xor(1, 0)x, y (boolean ou number)true

#Matriz

FunçãoDefiniçãoExemplo de chamadaParâmetrosResultado esperado
columnRetorna a coluna especificada de uma matriz.column([[1,2],[3,4]], 1)valor (Matriz ou Array), índice (number)[ [ 1 ], [ 3 ]]
concatConcatena múltiplas matrizes/arrays ao longo de uma dimensão.concat([1,2], [3,4], [5,6])a, b, c, ... (Array ou Matriz), dim (number, opcional)[ 1, 2, 3, 4, 5, 6]
countConta o número de elementos em uma matriz, array ou string.count([1,2,3,'hello'])x (Array, Matriz ou string)4
crossCalcula o produto vetorial de dois vetores 3D.cross([1,2,3], [4,5,6])x, y (Array ou Matriz de comprimento 3)[ -3, 6, -3]
ctransposeCalcula a transposta conjugada de uma matriz.ctranspose([[1,2],[3,4]])x (Matriz ou Array)[ [ 1, 3 ], [ 2, 4 ]]
detCalcula o determinante de uma matriz.det([[1,2],[3,4]])x (Matriz ou Array)-2
diagCria uma matriz diagonal ou extrai a diagonal de uma matriz.diag([1,2,3])X (Array ou Matriz)[ [ 1, 0, 0 ], [ 0, 2, 0 ], [ 0, 0, 3 ]]
diffCalcula a diferença entre elementos adjacentes ao longo de uma dimensão.diff([1,4,9,16])arr (Array ou Matriz), dim (number, opcional)[ 3, 5, 7]
dotCalcula o produto escalar de dois vetores.dot([1,2,3],[4,5,6])x, y (Array ou Matriz)32
eigsCalcula autovalores e, opcionalmente, autovetores de uma matriz quadrada.eigs([[1,2],[3,4]])x (Matriz ou Array), codec (number, opcional){ "values": [ -0.37228132326901653, 5.372281323269014 ], "eigenvectors": [ { "value": -0.37228132326901653, "vector": [ -4.505883335311908, 3.091669772938812 ] }, { "value": 5.372281323269014, "vector": [ 0.4438641329939267, 0.9703494293791691 ] } ]}
expmCalcula a exponencial da matriz e^A.expm([[1,0],[0,1]])x (Matriz ou Array){ "mathjs": "DenseMatrix", "data": [ [ 2.7182818284590424, 0 ], [ 0, 2.7182818284590424 ] ], "size": [ 2, 2 ]}
fftCalcula a transformada rápida de Fourier N-dimensional.fft([1,2,3,4])arr (Array ou Matriz)[ { "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(Ainda não suportado) Filtra um array ou matriz 1D com uma função de teste.filter(['23', 'foo', '100', '55', 'bar'], /[0-9]+/)x (Array ou Matriz), teste (função)[ "23", "100", "55"]
flattenAchata uma matriz ou array multidimensional em 1D.flatten([[1,2],[3,4]])x (Array ou Matriz)[ 1, 2, 3, 4]
forEach(Ainda não suportado) Itera sobre cada elemento de uma matriz/array e invoca um callback.forEach([1,2,3], val => console.log(val))x (Array ou Matriz), callback (função)undefined
getMatrixDataTypeInspeciona o tipo de dado de todos os elementos em uma matriz ou array (ex: 'number', 'Complex').getMatrixDataType([[1,2.2],[3,'hello']])x (Array ou Matriz)mixed
identityCria uma matriz identidade n x n (ou m x n).identity(3)n (number) ou [m, n] (Array){ "mathjs": "DenseMatrix", "data": [ [ 1, 0, 0 ], [ 0, 1, 0 ], [ 0, 0, 1 ] ], "size": [ 3, 3 ]}
ifftCalcula a FFT inversa N-dimensional.ifft([1,2,3,4])arr (Array ou Matriz)[ { "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 }]
invCalcula a inversa de uma matriz quadrada.inv([[1,2],[3,4]])x (Matriz ou Array)[ [ -2, 1 ], [ 1.5, -0.5 ]]
kronCalcula o produto de Kronecker de duas matrizes ou vetores.kron([[1,1],[0,1]], [[2,0],[0,2]])x, y (Matriz ou Array)[ [ 2, 0, 2, 0 ], [ 0, 2, 0, 2 ], [ 0, 0, 2, 0 ], [ 0, 0, 0, 2 ]]
mapCria um novo array/matriz aplicando um callback a cada elemento.map([1,2,3], val => val * val)x (Array ou Matriz), callback (função)[ 1, 4, 9]
matrixFromColumnsCombina vetores como colunas separadas de uma matriz densa.matrixFromColumns([1,4],[2,5],[3,6])...arr (Array ou Matriz)[ [ 1, 2, 3 ], [ 4, 5, 6 ]]
matrixFromFunction(Ainda não suportado) Constrói uma matriz avaliando uma função para cada índice.matrixFromFunction([5], i => math.random())tamanho (Array), fn (função)um vetor aleatório
matrixFromRowsCombina vetores como linhas separadas de uma matriz densa.matrixFromRows([1,2,3],[4,5,6])...arr (Array ou Matriz)[ [ 1, 2, 3 ], [ 4, 5, 6 ]]
onesCria uma matriz preenchida com o número um para as dimensões dadas.ones(2, 3)m, n, p... (number){ "mathjs": "DenseMatrix", "data": [ [ 1, 1, 1 ], [ 1, 1, 1 ] ], "size": [ 2, 3 ]}
partitionSelectRetorna o k-ésimo menor elemento usando seleção por partição.partitionSelect([3,1,4,2], 2)x (Array ou Matriz), k (number)3
pinvCalcula a pseudoinversa de Moore–Penrose de uma matriz.pinv([[1,2],[2,4]])x (Matriz ou Array)[ [ 0.04000000000000001, 0.08000000000000002 ], [ 0.08000000000000002, 0.16000000000000003 ]]
rangeCria um array de números de start até end (passo opcional).range(1, 5, 2)início (number), fim (number), passo (number, opcional){ "mathjs": "DenseMatrix", "data": [ 1, 3 ], "size": [ 2 ]}
reshapeAltera a forma de um array/matriz para as dimensões dadas.reshape([1,2,3,4,5,6], [2,3])x (Array ou Matriz), tamanhos (Array)[ [ 1, 2, 3 ], [ 4, 5, 6 ]]
resizeRedimensiona uma matriz para novas dimensões, preenchendo com um valor padrão se fornecido.resize([1,2,3], [5], 0)x (Array ou Matriz), tamanho (Array), valorPadrão (opcional)[ 1, 2, 3, 0, 0]
rotateRotaciona um vetor 1x2 no sentido anti-horário ou rotaciona um vetor 1x3 em torno de um eixo.rotate([1, 0], Math.PI / 2)w (Array ou Matriz), theta (number[, eixo])[ 6.123233995736766e-17, 1]
rotationMatrixCria uma matriz de rotação 2x2 para um dado ângulo em radianos.rotationMatrix(Math.PI / 2)theta (number){ "mathjs": "DenseMatrix", "data": [ [ 6.123233995736766e-17, -1 ], [ 1, 6.123233995736766e-17 ] ], "size": [ 2, 2 ]}
rowRetorna a linha especificada de uma matriz.row([[1,2],[3,4]], 1)valor (Matriz ou Array), índice (number)[ [ 3, 4 ]]
sizeCalcula o tamanho (dimensões) de uma matriz, array ou escalar.size([[1,2,3],[4,5,6]])x (Array, Matriz ou number)[ 2, 3]
sortOrdena uma matriz ou array em ordem crescente.sort([3,1,2])x (Array ou Matriz)[ 1, 2, 3]
sqrtmCalcula a raiz quadrada principal de uma matriz quadrada.sqrtm([[4,0],[0,4]])A (Matriz ou Array)[ [ 2.000000000000002, 0 ], [ 0, 2.000000000000002 ]]
squeezeRemove dimensões unitárias de dentro ou de fora de uma matriz.squeeze([[[1],[2],[3]]])x (Matriz ou Array)[ 1, 2, 3]
subsetObtém ou substitui um subconjunto de uma matriz ou string.subset([[1, 2], [3, 4]], index(1, 1),2)x (Matriz, Array ou string), índice (Index), substituição (opcional)[ [ 2, 2 ], [ 3, 4 ]]
traceCalcula o traço (soma dos elementos da diagonal) de uma matriz quadrada.trace([[1,2],[3,4]])x (Matriz ou Array)5
transposeTranspõe uma matriz.transpose([[1,2],[3,4]])x (Matriz ou Array)[ [ 1, 3 ], [ 2, 4 ]]
zerosCria uma matriz preenchida com zeros para as dimensões dadas.zeros(2, 3)m, n, p... (number){ "mathjs": "DenseMatrix", "data": [ [ 0, 0, 0 ], [ 0, 0, 0 ] ], "size": [ 2, 3 ]}

#Probabilidade

FunçãoDefiniçãoExemplo de chamadaParâmetrosResultado esperado
combinationsConta combinações ao selecionar k itens não ordenados de n.combinations(5, 2)n (number), k (number)10
combinationsWithRepConta combinações quando as seleções podem se repetir.combinationsWithRep(5, 2)n (number), k (number)15
factorialCalcula n! para um inteiro n.factorial(5)n (inteiro)120
gammaAproxima a função gama.gamma(5)n (number)24
kldivergenceCalcula a divergência KL entre duas distribuições.kldivergence([0.1, 0.9], [0.2, 0.8])x (Array ou Matriz), y (Array ou Matriz)0.036690014034750584
lgammaCalcula o logaritmo da função gama.lgamma(5)n (number)3.178053830347945
multinomialCalcula um coeficiente multinomial a partir de um conjunto de contagens.multinomial([1, 2, 3])a (Array)60
permutationsConta permutações ordenadas ao selecionar k itens de n.permutations(5, 2)n (number), k (number, opcional)20
pickRandomEscolhe um ou mais valores aleatórios de um array 1D.pickRandom([10, 20, 30])array20
randomRetorna um número aleatório uniformemente distribuído.random(1, 10)min (opcional), max (opcional)3.6099423753668143
randomIntRetorna um número inteiro aleatório uniformemente distribuído.randomInt(1, 10)min (opcional), max (opcional)5

#Números Racionais

FunçãoDefiniçãoExemplo de chamadaParâmetrosResultado esperado
compareCompara dois valores, retornando -1, 0 ou 1.compare(2, 3)x, y (qualquer tipo)-1
compareNaturalCompara valores arbitrários em ordem natural e repetível.compareNatural('2', '10')x, y (qualquer tipo)-1
compareTextCompara duas strings lexicograficamente.compareText('apple', 'banana')x (string), y (string)-1
deepEqualCompara duas matrizes/arrays elemento a elemento para verificar igualdade.deepEqual([[1, 2]], [[1, 2]])x (Array/Matriz), y (Array/Matriz)true
equalTesta se dois valores são iguais.equal(2, 2)x, y (qualquer tipo)true
equalTextTesta se duas strings são idênticas.equalText('hello', 'hello')x (string), y (string)true
largerVerifica se x é maior que y.larger(3, 2)x, y (number ou BigNumber)true
largerEqVerifica se x é maior ou igual a y.largerEq(3, 3)x, y (number ou BigNumber)true
smallerVerifica se x é menor que y.smaller(2, 3)x, y (number ou BigNumber)true
smallerEqVerifica se x é menor ou igual a y.smallerEq(2, 2)x, y (number ou BigNumber)true
unequalVerifica se dois valores não são iguais.unequal(2, 3)x, y (qualquer tipo)true

#Conjuntos

FunçãoDefiniçãoExemplo de chamadaParâmetrosResultado esperado
setCartesianProduz o produto cartesiano de dois (ou mais) conjuntos.setCartesian([1, 2], [3, 4])conjunto1 (Array), conjunto2 (Array)[ [ 1, 3 ], [ 1, 4 ], [ 2, 3 ], [ 2, 4 ]]
setDifferenceRetorna a diferença de dois conjuntos (elementos no conjunto1, mas não no conjunto2).setDifference([1, 2, 3], [2])conjunto1 (Array), conjunto2 (Array)[ 1, 3]
setDistinctRetorna os elementos únicos dentro de um (multi)conjunto.setDistinct([1, 2, 2, 3])conjunto (Array)[ 1, 2, 3]
setIntersectRetorna a interseção de dois (ou mais) conjuntos.setIntersect([1, 2], [2, 3])conjunto1 (Array), conjunto2 (Array)[ 2]
setIsSubsetVerifica se o conjunto1 é um subconjunto do conjunto2.setIsSubset([1, 2], [1, 2, 3])conjunto1 (Array), conjunto2 (Array)true
setMultiplicityConta quantas vezes um elemento aparece em um multiconjunto.setMultiplicity(2, [1, 2, 2, 3])elemento (qualquer tipo), conjunto (Array)2
setPowersetRetorna o conjunto das partes (todos os subconjuntos) de um (multi)conjunto.setPowerset([1, 2])conjunto (Array)[ [], [ 1 ], [ 2 ], [ 1, 2 ]]
setSizeConta todos os elementos em um (multi)conjunto.setSize([1, 2, 3])conjunto (Array)3
setSymDifferenceRetorna a diferença simétrica de dois (ou mais) conjuntos.setSymDifference([1, 2], [2, 3])conjunto1 (Array), conjunto2 (Array)[ 1, 3]
setUnionRetorna a união de dois (ou mais) conjuntos.setUnion([1, 2], [2, 3])conjunto1 (Array), conjunto2 (Array)[ 1, 3, 2]

#Especial

FunçãoDefiniçãoExemplo de chamadaParâmetrosResultado esperado
erfCalcula a função de erro usando uma aproximação racional de Chebyshev.erf(0.5)entrada x (number)0.5204998778130465

#Estatística

FunçãoDefiniçãoExemplo de chamadaParâmetrosResultado esperado
cumsumCalcula a soma cumulativa de uma lista ou matriz.cumsum([1, 2, 3, 4])[ 1, 3, 6, 10]
madCalcula o desvio absoluto mediano.mad([1, 2, 3, 4])1
maxRetorna o valor máximo de uma lista ou matriz.max([1, 2, 3])3
meanCalcula o valor médio.mean([2, 4, 6])4
medianCalcula a mediana.median([1, 2, 3, 4, 5])3
minRetorna o valor mínimo de uma lista ou matriz.min([1, 2, 3])1
modeCalcula a moda (valor mais frequente).mode([1, 2, 2, 3])[ 2]
prodCalcula o produto de todos os números em uma lista ou matriz.prod([1, 2, 3, 4])24
quantileSeqCalcula o quantil na probabilidade prob.quantileSeq([1, 2, 3, 4], 0.25)1.75
stdCalcula o desvio padrão dos dados.std([1, 2, 3, 4])1.2909944487358056
sumCalcula a soma de todos os números em uma lista ou matriz.sum([1, 2, 3])6
varianceCalcula a variância dos dados.variance([1, 2, 3, 4])1.6666666666666667

#Strings

FunçãoDefiniçãoExemplo de chamadaParâmetrosResultado esperado
binFormata um número como binário.bin(13)13
formatFormata qualquer valor como uma string com precisão especificada.format(123.456, 2)120
hexFormata um número como hexadecimal.hex(255)255
octFormata um número como octal.oct(64)64
printInterpola múltiplos valores em um modelo de string.print('x = $x, y = $y', {x: 3, y: 4}, 2)x = 3, y = 4

#Trigonometria

FunçãoDefiniçãoExemplo de chamadaParâmetrosResultado esperado
acosCalcula o arco cosseno.acos(0.5)1.0471975511965979
acoshCalcula o arco cosseno hiperbólico inverso.acosh(2)1.3169578969248166
acotCalcula o arco cotangente.acot(1)0.7853981633974483
acothCalcula o arco cotangente hiperbólico inverso.acoth(2)0.5493061443340548
acscCalcula o arco cossecante.acsc(2)0.5235987755982989
acschCalcula o arco cossecante hiperbólico inverso.acsch(2)0.48121182505960347
asecCalcula o arco secante.asec(2)1.0471975511965979
asechCalcula o arco secante hiperbólico inverso.asech(0.5)1.3169578969248166
asinCalcula o arco seno.asin(0.5)0.5235987755982989
asinhCalcula o arco seno hiperbólico inverso.asinh(1.5)1.1947632172871094
atanCalcula o arco tangente.atan(1)0.7853981633974483
atan2Calcula o arco tangente com dois argumentos.atan2(1, 2)0.4636476090008061
atanhCalcula o arco tangente hiperbólico inverso.atanh(0.5)0.5493061443340548
cosCalcula o cosseno de x.cos(0.5)0.8775825618903728
coshCalcula o cosseno hiperbólico de x.cosh(0.5)1.1276259652063807
cotCalcula a cotangente de x.cot(0.5)1.830487721712452
cothCalcula a cotangente hiperbólica de x.coth(0.5)2.163953413738653
cscCalcula a cossecante de x.csc(0.5)2.085829642933488
cschCalcula a cossecante hiperbólica de x.csch(0.5)1.9190347513349437
secCalcula a secante de x.sec(0.5)1.139493927324549
sechCalcula a secante hiperbólica de x.sech(0.5)0.886818883970074
sinCalcula o seno de x.sin(0.5)0.479425538604203
sinhCalcula o seno hiperbólico de x.sinh(0.5)0.5210953054937474
tanCalcula a tangente de x.tan(0.5)0.5463024898437905
tanhCalcula a tangente hiperbólica de x.tanh(0.5)0.46211715726000974

#Unidades

FunçãoDefiniçãoExemplo de chamadaParâmetrosResultado esperado
toConverte um valor numérico para a unidade especificada.to(unit('2 inch'), 'cm'){ "mathjs": "Unit", "value": 5.08, "unit": "cm", "fixcodefix": true}

#Utilitários

FunçãoDefiniçãoExemplo de chamadaParâmetrosResultado esperado
cloneRealiza uma cópia profunda (deep clone) do valor de entrada.clone([1, 2, 3])[ 1, 2, 3]
hasNumericValueVerifica se a entrada contém um valor numérico.hasNumericValue('123')true
isIntegerVerifica se a entrada é um número inteiro.isInteger(3.0)true
isNaNVerifica se a entrada é NaN.isNaN(NaN)true
isNegativeVerifica se a entrada é negativa.isNegative(-5)true
isNumericVerifica se a entrada é numérica.isNumeric('123')false
isPositiveVerifica se a entrada é positiva.isPositive(2)true
isPrimeVerifica se a entrada é um número primo.isPrime(7)true
isZeroVerifica se a entrada é zero.isZero(0)true
numericConverte a entrada para um tipo numérico (number, BigNumber, etc.).numeric('123')123
typeOfRetorna o nome do tipo do valor de entrada.typeOf([1, 2, 3])Array