数学公式库mathjs 安装使用教程

Math.js 是个JavaScript 和 Node.js 的扩展数学库。它包括了灵活的表达式解析器,提供数字,大数值,复杂数值,单位,矩阵等等集成的解决方案。Math.js 很强大又易于使用。
在这里插入图片描述

特性

支持数值,大数值,复杂数值,单位,数组,字符串和矩阵

兼容 JavaScript 内置的数学库

包含一个灵活的表达式解析器

支持链接操作

包含一系列内置函数和常量

没有任何依赖,可以运行在所有 JavaScript 引擎上

非常容易扩展

下载引用

官网:https://mathjs.org/index.html

安装:npm install mathjs

CDN:https://cdn.bootcdn.net/ajax/libs/mathjs/9.3.2/math.min.js

扫描二维码关注公众号,回复: 15379932 查看本文章

math.js使用方式:

1、用静态函数和常数(就像JavaScript的Math对象)

math.round(math.e, 3); // 2.718math.add(2, 3); // 5 math.sqrt(-4); // 2i math.pow([[-1, 2], [3, 1]],2); // [[7, 0], [0, 7]]math.derivative(‘x^2 + x’, ‘x’); // 2 * x + 1math.atan2(3, -3) / math.pi; // 0.75

2、对字符串表达式进行求值运算

math.eval(‘12 / (2.3 + 0.7)’); // 4math.eval(‘12.7 cm to inch’); // 5 inchmath.eval(‘sin(45 deg) ^ 2’); // 0.5math.eval(‘9 / 3 + 2i’); // 3 + 2imath.eval(‘det([-1, 2; 3, 1])’); // -7

3、链式操作

math.chain(3) .add(4) .multiply(2) .done(); // 14

4、矩阵操作

var n = math.matrix([[4,3,2], [6,6,8], [7,4,5]]); console.log(n.valueof()); // [[4,3,2],[6,6,8],[7,4,5]]

可以使用如下代码来创建一个用0填充的矩阵:

var z = math.zeros(2,2); console.log(z.valueof()); // [[0, 0], [0, 0]]

注:大多数math.js函数,都需要valueof()或者done()函数来真正地获取操作的值,如上面代码所示。

5、BigNumbers

var b = math.complex(‘4-2i’);b.re = 5;console.log(b.valueof()); // 5-2i

math.js对BigNumbers的支持,拥有任意精度的数值,并且是具有实部和虚部的复数。

配置

math.config()

配置项:

epsilon。用于测试两个比较值之间相等性的最小相对差异。所有关系函数都使用此值。默认值是1e-14。

matrix。函数的默认矩阵输出类型。

number。函数的数字输出类型,无法从输入中确定数字类型。但是对于大多数函数,输出的类型是根据输入确定的:作为输入的数字将返回一个数字作为输出,BigNumber作为输入返回BigNumber作为输出。

precision。BigNumbers的最大有效位数。此设置仅适用于BigNumbers,而不适用于数字。默认值是64。

predictable。可预测的输出类型的函数。如果为true,则输出类型仅取决于输入类型。如果为false(默认),则输出类型可能因输入值而异。例如math.sqrt(-4)返回complex(‘2i’)时,可预见的是假的,而返回NaN时真。在以编程方式处理计算结果时可能需要可预测的输出,但在评估动态方程时可能对用户不方便。

randomSeed。将此选项设置为种子伪随机数生成,使其成为确定性的。每次设置此选项时,将使用提供的种子重置伪随机数生成器。例如,将其设置为’a’将导致math.random()返回0.43449421599986604每次设置选项后的首次通话。设置为null使用随机种子为伪随机数生成器设定种子。默认值是null。

猜你喜欢

转载自blog.csdn.net/cuclife/article/details/131309218
今日推荐