Math.js 使用教程

张开发
2026/4/6 21:46:28 15 分钟阅读

分享文章

Math.js 使用教程
Math.js是 JavaScript 生态里最强大、通用的数学计算库核心解决原生Math功能弱、精度差、无表达式解析、不支持复数/矩阵/单位等痛点。一、核心定位与优势兼容浏览器 Node.js无外部依赖支持高精度数、复数、分数、单位、矩阵、符号计算内置表达式解析器字符串公式直接算API 友好兼容原生Math用法二、安装与引入1. npm推荐npminstallmathjs// 全量引入import{create,all}frommathjsconstmathcreate(all)// 或按需引入更轻量import{add,sqrt,evaluate}frommathjs// 纯 number 轻量版无复数/高精度性能高import{add}frommathjs/number2. 浏览器 CDNscriptsrchttps://cdn.jsdelivr.net/npm/mathjs/lib/browser/math.js/scriptscriptconsole.log(math.add(2,3))// 5/script三、基础用法1. 常用函数对标原生 Mathmath.add(2,3)// 5 加法math.subtract(7,3)// 4 减math.multiply(2,8)// 16 乘math.divide(9,3)// 3 除math.pow(2,10)// 1024math.sqrt(-4)// 2i 复数支持math.sin(math.pi/2)// 1math.log(1000,10)// 3math.round(math.e,3)// 2.7182. 表达式解析最强特性math.evaluate(sqrt(3^2 4^2))// 5math.evaluate(1.2 * (2 4.5))// 7.8math.evaluate(12.7 cm to inch)// 5 inch单位换算math.evaluate(sin(45 deg) ^ 2)// 0.5math.evaluate(det([-1,2;3,1]))// -7矩阵行列式3. 链式调用math.chain(3).add(4)// 7.multiply(2)// 14.done()// 14四、高级数据类型1. 复数constc1math.complex(2,3)// 2 3iconstc2math.complex(1-2i)math.add(c1,c2)// 3 i2. 分数避免浮点误差constf1math.fraction(1,3)constf2math.fraction(1,6)math.add(f1,f2)// 1/23. 矩阵 / 线性代数constAmath.matrix([[1,2],[3,4]])math.det(A)// -2行列式math.inv(A)// 逆矩阵math.multiply(A,A)// 矩阵平方4. 单位换算math.evaluate(1 meter to inch)// 39.37...math.evaluate(1 kg to lb)// 2.204...5. 符号计算求导、化简math.derivative(x^2 x,x)// 2x 1math.simplify(x x x)// 3x五、精度控制BigNumber解决 JS 浮点数精度问题如0.10.2≠0.3constmathcreate(all,{number:BigNumber// 默认用高精度})math.add(0.1,0.2)// 0.3精确六、典型应用场景前端计算器、公式编辑器科学计算、数据可视化、图表单位换算、几何/物理计算低代码平台的动态公式引擎教育类数学工具七、与原生 Math 对比特性原生 JS MathMath.js精度双精度浮点BigNumber/高精度数据类型仅数字复数、分数、矩阵、单位表达式解析❌✅ 字符串直接解析符号计算❌✅ 求导、化简线性代数❌✅ 矩阵、行列式、逆矩阵单位换算❌✅ 内置大量单位八、快速上手示例完整import{create,all}frommathjsconstmathcreate(all)// 1. 基础计算console.log(math.evaluate(sqrt(3^2 4^2)))// 5// 2. 复数console.log(math.sqrt(-4).toString())// 2i// 3. 矩阵constmmath.matrix([[1,2],[3,4]])console.log(math.det(m))// -2// 4. 符号求导console.log(math.derivative(x^3,x).toString())// 3x^2

更多文章