• 文库
  • 字符
  • 转换
  • 加密
  • 网络
  • 更多
    图表
    数学
    坐标
    图片
    文件
  • 文库
    字符
    转换
    加密
    网络
    更多
    图表
    数学
    坐标
    图片
    文件
logo 在线工具大全

math.js 文档

  1. 目录
    1. 操作符
    2. 优先级
    3. 函数
    4. 常量
    5. 其他
  2. 操作符
    操作符 名称 语法 结合性 示例 结果
    (, ) 分组,小括号 (x) 2 * (3 + 4) 14
    [, ] 矩阵, 索引(不是数学中的中括号) [...] [[1,2],[3,4]] [[1,2],[3,4]]
    {, } 对象(不是数学中的大括号) {...} {a: 1, b: 2} (本工具不支持该操作符) {a: 1, b: 2}
    , 参数分隔符 x, y 从左到右 max(2, 1, 5) 5
    . 属性访问符 obj.prop 从左到右 obj={a: 12}; obj.a 12
    ; 语句分隔符 x; y 从左到右 a=2; b=3; a*b [6]
    ; 行分隔符 [x; y] 从左到右 [1,2;3,4] [[1,2],[3,4]]
    \n 语句分隔符 x \n y 从左到右 a=2 \n b=3 \n a*b [2,3,6]
    + x + y 从左到右 4 + 5 9
    + 一元加号 +y 从右到左 +4 4
    - x - y 从左到右 7 - 3 4
    - 一元减号 -y 从右到左 -4 -4
    * x * y 从左到右 2 * 3 6
    .* 元素乘法 x .* y 从左到右 [1,2,3] .* [1,2,3] [1,4,9]
    / x / y 从左到右 6 / 2 3
    ./ 元素除法 x ./ y 从左到右 [9,6,4] ./ [3,2,2] [3,3,2]
    % 百分号 x% 8% 0.08
    % 百分号加法 x + y% 从左到右 100 + 3% 103
    % 百分号减法 x - y% 从左到右 100 - 3% 97
    %, mod 求余,余数 x % y 从左到右 8 % 3 2
    ^ 幂,乘方 x ^ y 从右到左 2 ^ 3 8
    .^ 元素乘方 x .^ y 从右到左 [2,3] .^ [3,3] [8,27]
    ' 转置 y' 从左到右 [[1,2],[3,4]]' [[1,3],[2,4]]
    ! 阶乘 y! 从左到右 5! 120
    & 按位与 x & y 从左到右 5 & 3 1
    ~ 按位取反 ~x 从右到左 ~2 -3
    | 按位或 x | y 从左到右 5 | 3 7
    ^| 按位异或 x ^| y 从左到右 5 ^| 2 7
    << 左移 x << y 从左到右 4 << 1 8
    >> 算术右移 x >> y 从左到右 8 >> 1 4
    >>> 逻辑右移 x >>> y 从左到右 -8 >>> 1 2147483644
    and 逻辑与 x and y 从左到右 true and false false
    not 逻辑非 not y 从右到左 not true false
    or 逻辑或 x or y 从左到右 true or false true
    xor 逻辑异或 x xor y 从左到右 true xor true false
    = 赋值 x = y 从右到左 a = 5 5
    ? : 条件表达式 x ? y : z 从右到左 15 > 100 ? 1 : -1 -1
    : 范围 x : y 从右到左 1:4 [1,2,3,4]
    to, in 单位转换 x to y 从左到右 2 inch to cm 5.08 cm
    == 等于判断 x == y 从左到右 2 == 4 - 2 true
    != 不等于判断 x != y 从左到右 2 != 3 true
    < 小于 x < y 从左到右 2 < 3 true
    > 大于 x > y 从左到右 2 > 3 false
    <= 小于等于 x <= y 从左到右 4 <= 3 false
    >= 大于等于 x >= y 从左到右 2 + 4 >= 6 true
  3. 优先级
    运算符具有以下优先级,从高到低:
    运算符 描述
    (...)
    [...]
    {...}
    分组
    矩阵
    对象
    x(...)
    x[...]
    obj.prop
    :
    函数调用
    矩阵索引
    属性访问
    键值分隔符
    ' 矩阵转置
    ! 阶乘
    ^, .^ 指数
    +, -, ~, not 一元加号, 一元减号, 按位非, 逻辑非
    %, mod 百分比, 求余
    *, /, .*, ./ 乘法, 除法
    +, - 加, 减
    : 范围
    to, in 单位转换
    <<, >>, >>> 按位左移, 按位算术右移, 按位逻辑右移
    ==, !=, <, >, <=, >= 关系运算
    & 按位与
    ^| 按位异或
    | 按位或
    and 逻辑与
    xor 逻辑异或
    or 逻辑或
    ?, : 条件表达式
    = 赋值
    , 参数和列分隔符
    ; 行分隔符
    \n, ; 语句分隔符
  4. 函数
    在表达式中使用函数时, 需省略 math. 直接使用函数名称。 比如 abs(3)
    函数 描述
    math.abs(x) 绝对值
    math.add(x, y) 将两个或者更多的值相加, x + y.
    math.cbrt(x [, allRoots]) 计算一个值的立方根。 allRoots 可选,默认为false。仅当x是数字或复数时适用。如果为true,则返回所有复数根,如果为false(默认),则返回主根。
    math.ceil(x) 将 x 向上取整,如果 x 是复数,则实部和虚部都将向上取整。
    math.cube(x) 计算一个值的立方, x * x * x.
    math.divide(x, y) 除法, x / y.
    math.dotDivide(x, y) 元素除法,支持标量值和矩阵
    math.dotMultiply(x, y) 元素乘法,支持标量值和矩阵
    math.dotPow(x, y) 元素指数运算
    math.exp(x) 指数结果计算,计算以 e 为底,x 为指数的结果
    math.expm1(x) 计算指数值减去1的值。当x接近0时,此函数比 math.exp(x)-1 更准确。 为了避免矩阵指数expm的歧义,此函数不对矩阵进行操作
    math.fix(x) 向 0 取整
    math.floor(x) 向下取整
    math.gcd(a, b) 计算两个或多个值或数组的最大公约数。
    math.hypot(a, b, …) 计算值的斜边。斜边定义为 hypot(a, b, c, ...) = sqrt(a^2 + b^2 + c^2 + ...) 。
    math.invmod(a, b) 计算 a modulo b 的(模)乘法逆。
    math.lcm(a, b) 计算两个或多个数值或数组的最小公倍数。
    math.log(x [, base]) 计算数值的对数。 base 为 对数的可选基数。如果不提供,则计算 x 的自然对数。默认值:e。
    math.log10(x) Calculate the 10-base logarithm of a value.
    math.log1p(x) 计算数值value+1的对数。
    math.log2(x) 计算 log(x, 2) 的值
    math.mod(x, y) 计算模数,即整数除法的余数。
    math.multiply(x, y) 两个或者更多值的乘法, x * y.
    math.norm(x [, p]) 计算数字、向量或矩阵的常模。 p 为 向量空间。支持的数字包括 Infinity 和 -Infinity 。 支持的字符串有 "inf"、"-inf" 和 "fro"(弗罗贝尼斯规范) 默认值:2。
    math.nthRoot(a [, root]) 计算数值的 n 次根。 x^root = a, root 默认为 2 。
    math.nthRoots(x [, root]) 计算一个值的所有根。
    math.pow(x, y) 计算 x ^ y
    math.round(x [, n]) 向最接近的值取整,n 为小数点后保留位数,默认为 0 。
    math.sign(x) 获取数值的符号,正数返回 1, 负数返回 -1, 0 返回 0 .
    math.sqrt(x) 计算数值的平方根。
    math.square(x) 计算x * x
    math.subtract(x, y) 减法, x - y.
    math.unaryMinus(x) 反转数值的符号。
    math.unaryPlus(x) 一元加法。
    math.xgcd(a, b) 计算两个数值的扩展最大公约数。
    math.bitAnd(x, y) 按位与, x & y.
    math.bitNot(x) 按位取反, ~x.
    math.bitOr(x, y) 按位或 x | y.
    math.bitXor(x, y) 按位异或, x ^ y.
    math.leftShift(x, y) 将 x 值按位向左逻辑移位 y 位数, x << y.
    math.rightArithShift(x, y) 将 x 值按位向右算术移位 y 位数, x >> y.
    math.rightLogShift(x, y) 将 x 值按位向右逻辑移动 y 位数, x >>> y.
    math.arg(x) 计算复数值的参数。对于复数 a + bi,参数的计算公式为 atan2(b,a)。 对于矩阵,函数按元素求值。
    math.conj(x) 计算复数值的共轭复数。
    math.im(x) 获取复数虚部。
    math.re(x) 获取复数实部。
    math.and(x, y) 逻辑 and.
    math.not(x) 逻辑 not.
    math.or(x, y) 逻辑 or.
    math.xor(x, y) 逻辑 xor.
    math.column(value, index) 从矩阵中返回一列。
    math.concat(a, b, c, … [, dim]) 连接两个或多个矩阵。
    math.count(x) 计算矩阵、数组或字符串的元素个数。
    math.cross(x, y) 计算三维空间中两个向量的交叉积。
    math.ctranspose(x) 对矩阵进行转置和复共轭。
    math.det(x) 计算矩阵的行列式。
    math.diag(X) 创建对角矩阵或获取矩阵的对角线 当 x 为向量时,将返回一个对角线上有向量 x 的矩阵。
    math.diff(arr) 创建一个新的矩阵或数组,计算给定数组元素之间的差值。 可选的参数,则会假定维数为 0。 数组必须是 “矩形 ”数组,即像 [1, 2] 这样的数组。 数组,如 [1,2] 如果传递的是矩阵,它将以矩阵形式返回,但除此以外,所有矩阵都会转换为矩形。 除此之外,所有矩阵都会转换为数组。
    math.dot(x, y) 计算两个向量的点积。
    math.eigs(x, [prec]) 计算正方形矩阵的特征值和特征向量。
    math.expm(x) 计算矩阵指数, expm(A) = e^A.
    math.fft(arr) 计算 N 维傅立叶变换。
    math.filter(x, test) 过滤数组或一维矩阵中的项目。
    math.flatten(x) 将多维矩阵扁平化为单维矩阵。
    math.forEach(x, callback) 遍历矩阵/数组的所有元素,并执行给定的回调函数。
    math.getMatrixDataType(x) 查找矩阵或数组中所有元素的数据类型,例如,如果所有项目都是数,则查找 “number”;如果所有值都是复数,则查找 “Complex”。 如果所有值都是复数,则查找 “复数”。
    math.identity(n) 创建大小为 m x n 或 n x n 的二维单位矩阵。
    math.ifft(arr) 计算 N 维反傅立叶变换。
    math.inv(x) 计算正方形矩阵的逆。
    math.kron(x, y) 计算两个矩阵或向量的 Kronecker 积。
    math.map(x, callback) 创建一个新矩阵或数组,其中包含对给定矩阵/数组的每个条目执行的回调函数的结果。
    math.mapSlices(A, dim, callback) 沿矩阵或数组的给定轴应用将数组映射为标量的函数。
    math.matrixFromColumns(…arr) 将向量作为单列创建密集矩阵。
    math.matrixFromFunction(size, fn) 通过评估每个索引处的生成函数来创建矩阵。
    math.matrixFromRows(…arr) 将向量作为单行创建密集矩阵。
    math.ones(m, n, p, …) 创建一个充满 1 的矩阵。
    math.partitionSelect(x, k) 对数组或一维矩阵进行基于分区的选择。
    math.pinv(x) 计算矩阵的 Moore-Penrose 逆。
    math.range(start, end [, step]) 从范围创建数组
    math.reshape(x, sizes) 重塑多维数组,以适应指定的尺寸。
    math.resize(x, size [, defaultValue]) 调整矩阵大小
    math.rotate(w, theta) 将大小为1x2的向量逆时针旋转给定角度旋转大小为1x3的向量 绕给定轴逆时针旋转给定角度。
    math.rotationMatrix(theta) 为给定角度(以弧度表示)创建一个二维逆时针旋转矩阵(2x2)。
    math.row(value, index) 从矩阵中返回一行。
    math.size(x) 计算矩阵或标量的大小。
    math.sort(x) 对矩阵中的元素进行排序。
    math.sqrtm(A) 计算正方形矩阵的主平方根。
    math.squeeze(x) 挤压矩阵,移除矩阵的内外单维度。
    math.subset(x, index [, replacement]) 获取或设置矩阵或字符串的子集。
    math.trace(x) 计算矩阵的轨迹:正方形矩阵主对角线上的元素之和。
    math.transpose(x) 对矩阵进行转置。
    math.zeros(m, n, p, …) 创建一个充满0的矩阵。
    math.combinations(n, k) 计算从 n 种可能性中挑选 k 种无序结果的方法数。
    math.combinationsWithRep(n, k) 计算从 n 种可能性中挑选 k 种无序结果的方法,允许个别结果重复出现多次。
    math.factorial(n) 计算数值的阶乘, factorial 只支持整数作为参数。
    math.gamma(n) 计算一个值的伽马函数,小值时使用兰克佐斯近似法,大值时使用扩展斯特林近似法。
    math.kldivergence(x, y) 计算两个分布之间的 Kullback-Leibler (KL) 分歧。
    math.lgamma(n) 实数、正数和复数的伽马函数对数,使用数的兰氏近似和复数的斯特林级数。
    math.multinomial(a) 多项式系数计算选取 a1、a2、.
    math.permutations(n [, k]) 计算从包含 n 个元素的集合中获取包含 k 个元素的有序子集的方法数。
    math.pickRandom(array) 从一维数组中随机抽取一个或多个值。
    math.random([min, max]) 使用均匀分布,返回一个大于或等于最小值且小于最大值的随机数。
    math.randomInt([min, max]) 使用均匀分布,返回一个大于或等于 min 且小于 max 的随机整数。
    math.compare(x, y) 比较两个值。
    math.compareNatural(x, y) 以确定性、自然的方式比较任何类型的两个值。
    math.compareText(x, y) 按词汇比较两个字符串。
    math.deepEqual(x, y) 按元素测试两个矩阵是否相等。
    math.equal(x, y) 测试两个值是否相等。
    math.equalText(x, y) 检查两个字符串的相等性。
    math.larger(x, y) 测试值x是否大于y。
    math.largerEq(x, y) 测试值x是否大于或等于y。
    math.smaller(x, y) 测试值x是否小于y。
    math.smallerEq(x, y) 测试值x是否小于或等于y。
    math.unequal(x, y) 测试两个值是否不相等。
    math.corr(A, B) 对于矩阵,计算矩阵相关系数。 计算相关系数。
    math.cumsum(a, b, c, …) 计算矩阵或列表值的累计和。
    math.mad(a, b, c, …) 计算矩阵或数值列表的绝对偏差中值。
    math.max(a, b, c, …) 计算矩阵或数值列表的最大值。
    math.mean(a, b, c, …) 计算矩阵或数值列表的平均值。
    math.median(a, b, c, …) 计算矩阵或数值列表的中位数。
    math.min(a, b, c, …) 计算矩阵或数值列表的最小值。
    math.mode(a, b, c, …) 计算一组数字或包含数值(数字或字符)的列表的模式。
    math.prod(a, b, c, …) 计算矩阵或数值列表的乘积。
    math.quantileSeq(A, prob[, sorted]) 计算矩阵或数值列表的概率阶量值。
    math.std(a, b, c, …) 计算矩阵或数值列表的标准差。
    math.sum(a, b, c, …) 计算矩阵或数值列表的总和。
    math.variance(a, b, c, …) 计算矩阵或数值列表的方差。
    math.bin(value) 将数字格式化为二进制。
    math.format(value [, precision]) 将任何类型的值格式化为字符串。
    math.hex(value) 将数字格式化为十六进制。
    math.oct(value) 将数字格式化为八进制。
    math.print(template, values [, precision]) 将数值插值到字符串模板中。
    math.acos(x) 计算数值的反余弦值。
    math.acosh(x) 计算一个数值的双曲余弦值,定义如下 acosh(x) = ln(sqrt(x^2 - 1) + x).
    math.acot(x) 计算某一数值的反余切值,定义如下 acot(x) = atan(1/x).
    math.acoth(x) 计算某一数值的反双曲正切值,定义如下 acoth(x) = atanh(1/x) = (ln((x+1)/x) + ln(x/(x-1))) / 2.
    math.acsc(x) 计算一个值的反余割,定义如下 acsc(x) = asin(1/x).
    math.acsch(x) 计算一个值的反双曲余割,定义如下 acsch(x) = asinh(1/x) = ln(1/x + sqrt(1/x^2 + 1)).
    math.asec(x) 计算数值的反割。
    math.asech(x) 计算一个值的双曲弧割,定义如下 asech(x) = acosh(1/x) = ln(sqrt(1/x^2 - 1) + 1/x).
    math.asin(x) 计算一个值的反正弦值。
    math.asinh(x) 计算一个值的双曲余弦值,定义如下 asinh(x) = ln(x + sqrt(x^2 + 1)).
    math.atan(x) 计算数值的反切值。
    math.atan2(y, x) 用两个参数计算反正切函数, y/x.
    math.atanh(x) 计算一个值的双曲余切值,定义如下 atanh(x) = ln((1 + x)/(1 - x)) / 2.
    math.cos(x) 计算数值的余弦值。
    math.cosh(x) 计算一个数值的双曲余弦值,定义如下 cosh(x) = 1/2 * (exp(x) + exp(-x)).
    math.cot(x) 计算数值的余切值。
    math.coth(x) 计算一个值的双曲余切值,定义如下 coth(x) = 1 / tanh(x).
    math.csc(x) 计算一个值的余割,定义如下 csc(x) = 1/sin(x).
    math.csch(x) 计算一个值的双曲余割,定义如下 csch(x) = 1 / sinh(x).
    math.sec(x) 计算一个值的正割,定义如下 sec(x) = 1/cos(x).
    math.sech(x) 计算一个值的双曲正割,其定义为 sech(x) = 1 / cosh(x).
    math.sin(x) 计算一个值的正弦值。
    math.sinh(x) 计算一个数值的双曲正弦值,定义如下 sinh(x) = 1/2 * (exp(x) - exp(-x)).
    math.tan(x) 计算数值的正切值。
    math.tanh(x) 计算某一数值的双曲正切值,定义如下 tanh(x) = (exp(2 * x) - 1) / (exp(2 * x) + 1).
  5. 常量
    常量 描述
    e, E 自然常数,欧拉数 2.718281828459045
    i 虚数的单位, 定义为 i * i = -1. 一个完整的复数表示为 a + b * i, 其中 a 为实部,b 为虚部。 sqrt(-1)
    Infinity 无穷大,一个大于浮点数可以处理的最大值的浮点数。 Infinity
    LN2 返回2的自然对数。 0.6931471805599453
    LN10 返回10的自然对数。 2.302585092994046
    LOG2E 返回E的以2为底的对数。 1.4426950408889634
    LOG10E 返回E的以10为底的对数。 0.4342944819032518
    NaN 不是数字。 NaN
    null 表示 null 。 null
    phi Phi是黄金比例。如果两个量的比例相同,则它们处于黄金比例 因为它们的总和与两个量中较大的一个的比率。Phi定义为 (1 + sqrt(5)) / 2 1.618033988749895
    pi, PI 数字pi是一个数学常数,是圆的周长与它的直径的比值。 3.141592653589793
    SQRT1_2 返回1/2的平方根。 0.7071067811865476
    SQRT2 返回2的平方根。 1.4142135623730951
    tau Tau是圆的周长与半径的比值常数,等于 2 * pi. 6.283185307179586
    undefined 未定义值。 undefined
    version 返回 math.js 的版本。 比如 0.24.1
  6. 关于表达式语法和函数的更多文档,请参考 语法数据类型函数功能&参数说明&使用示例