说明
入门
入门
例子
文档
核心
配置
链式调用
扩展
序列化
表达式
解析和评估
句法
表达式树
代数
定制
安全
数据类型
数字
大数字
分数
复数
矩阵
单位
参考
类
方法
常量
定制捆绑
命令行界面
历史
配置 - Math.js文档 - 笔下光年
网站首页
配置
Math.js 包含许多配置选项。 这些选项可以应用于创建的 mathjs 实例并在之后更改。 ```javascript import { create, all } from 'mathjs' // create a mathjs instance with configuration const config = { epsilon: 1e-12, matrix: 'Matrix', number: 'number', precision: 64, predictable: false, randomSeed: null } const math = create(all, config) // read the applied configuration console.log(math.config()) // change the configuration math.config({ number: 'BigNumber' }) ``` 可以使用以下配置选项: - `epsilon`. 用于测试两个比较值之间相等性的最小相对差异。 该值被所有关系函数使用。 默认值为 `1e-12`。 - `matrix`. 函数的默认矩阵输出类型。 可用值为:`'Matrix'`(默认)或 `'Array'`。 在可能的情况下,函数的矩阵输出类型由函数输入确定:作为输入的数组将返回一个数组,作为输入的矩阵将返回一个矩阵。 在没有矩阵作为输入的情况下,输出的类型由选项 `matrix` 决定。 在混合矩阵输入的情况下,将始终返回一个矩阵。 - `number`. 无法从输入中确定数值类型的函数的数值输出类型。 然而,对于大多数函数,输出的类型是由输入确定的:一个数字作为输入将返回一个数字作为输出,一个 `BigNumber` 作为输入返回一个 `BigNumber` 作为输出。 例如函数 `math.evaluate('2+3')`、`math.parse('2+3')`、`math.range('1:10')` 和 `math.unit('5cm')` 使用数字配置 环境。 但是 `math.sqrt(4)` 将始终返回数字 `2` 而不管数字配置,因为输入是数字。 可用值为:`'number'`(默认)、`'BigNumber'` 或 `'Fraction'`。 `BigNumbers` 比 `JavaScript` 的默认数字具有更高的精度,而 `Fractions` 以分子和分母的形式存储值。 - `precision`. `BigNumbers` 的最大有效位数。 此设置仅适用于 `BigNumbers`,不适用于数字。 默认值为 `64`。 - `predictable`. 可预测的输出类型的函数。 当为真时,输出类型仅取决于输入类型。 当为 `false`(默认)时,输出类型可能因输入值而异。 例如 `math.sqrt(-4)` 在 `predictable` 为 `false` 时返回 `complex('2i')`,在 `true` 时返回 `NaN`。 以编程方式处理计算结果时可能需要可预测的输出,但在评估动态方程时可能会给用户带来不便。 - `randomSeed`. 将此选项设置为种子伪随机数生成,使其具有确定性。 每次设置此选项时,都会使用提供的种子重置伪随机数生成器。 例如,将其设置为 `'a'` 将导致 `math.random()` 在每次设置选项后第一次调用时返回 `0.43449421599986604`。 设置为 `null` 以使用随机种子为伪随机数生成器播种。 默认值为空。 ### 示例 本节展示了一些配置示例。 #### node.js ```javascript import { create, all } from 'mathjs' const config = { matrix: 'Array' // Choose 'Matrix' (default) or 'Array' } const math = create(all, config) // range will output an Array math.range(0, 4) // Array [0, 1, 2, 3] // change the configuration from Arrays to Matrices math.config({ matrix: 'Matrix' // Choose 'Matrix' (default) or 'Array' }) // range will output a Matrix math.range(0, 4) // Matrix [0, 1, 2, 3] // create an instance of math.js with BigNumber configuration const bigmath = create(all, { number: 'BigNumber', // Choose 'number' (default), 'BigNumber', or 'Fraction' precision: 32 // 64 by default, only applicable for BigNumbers }) // parser will parse numbers as BigNumber now: bigmath.evaluate('1 / 3') // BigNumber, 0.33333333333333333333333333333333 ``` #### 浏览器 ```html <!DOCTYPE HTML> <html> <head> <script src="math.js" type="text/javascript"></script> </head> <body> <script type="text/javascript"> // the default instance of math.js is available as 'math' // range will output a Matrix math.range(0, 4) // Matrix [0, 1, 2, 3] // change the configuration of math from Matrices to Arrays math.config({ matrix: 'Array' // Choose 'Matrix' (default) or 'Array' }) // range will output an Array math.range(0, 4) // Array [0, 1, 2, 3] // create a new instance of math.js with bignumber configuration const bigmath = math.create({ number: 'BigNumber', // Choose 'number' (default), 'BigNumber', or 'Fraction' precision: 32 // 64 by default, only applicable for BigNumbers }) // parser will parse numbers as BigNumber now: bigmath.evaluate('1 / 3') // BigNumber, 0.33333333333333333333333333333333 </script> </body> </html> ```
上一篇:
核心
下一篇:
链式调用