UNPKG

mm_maths

Version:

这是一个可以将数学公式推导变形,并转成js和计算的模块。

140 lines (95 loc) 2.64 kB
# mm_maths 这是一个可以将数学公式推导变形,并转成js和计算的模块。 ## 安装 ```bash npm install mm_maths ``` ## 基本使用 ### 1. 初始化模块 ```javascript const Maths = require('mm_maths'); // 创建实例并指定模块路径 const maths = new Maths(__dirname); ``` ### 2. 载入公式 ```javascript // 载入基础数学公式 maths.update(__dirname, "base"); // 也可以分别载入不同类型的公式 maths.load_identities(__dirname, "base"); // 载入恒等式 maths.load_convert(__dirname, "base"); // 载入转换函数 maths.load_symbol(__dirname, "base"); // 载入符号处理函数 maths.load_math(__dirname, "base"); // 载入计算函数 ``` ### 3. 设置常量和变量 ```javascript // 设置常量 const consts = { a: 10, b: 3 }; maths.set_const(consts); // 设置变量 const vars = { ma5: "MA(CLOSE, 5)", // 可以设置公式作为变量 price: null }; maths.set_var(vars); ``` ### 4. 公式转换和计算 ```javascript // 转换公式 const expression = "y = abc * ab * 3c * 2"; const express = maths.convertTo(expression); console.log('转换后的公式:', express); // 运行代码 const result = maths.run_code("return " + express); console.log('计算结果:', result); ``` ## API 说明 ### 主要类 #### Maths 数学公式计算的主类,提供公式转换、计算等功能。 **构造函数参数:** - `dir` {String} 模块路径,默认为 __dirname ### 主要方法 #### update(path, type) 更新并载入指定类型的所有公式。 - `path` {String} 检索路径 - `type` {String} 公式类型,如 "base"(基础数学)、"stock"(股票) #### set_const(constant) 设置常量。 - `constant` {Object} 常量集合,如 `{ a: 10, b: 15 }` #### set_var(vars) 设置变量。 - `vars` {Object} 变量集合,如 `{ ma5: "MA(CLOSE, 5)", price: null }` #### convertTo(express) 转换公式。 - `express` {String} 要转换的表达式 - 返回 {String} 转换后的表达式 #### run_code(express) 运行代码。 - `express` {String} 要执行的表达式 - 返回 {Object} 执行结果 ## 支持的公式类型 - 基础数学 (base) - 四则运算 - 指数运算 - 对数运算 - 三角函数 - 数组运算 (array) - 求和 - 平均值 - 最大/最小值 - 中位数 - 股票技术指标 (stock) - MA (移动平均线) - MACD - RSI - BBANDS (布林带) ## 注意事项 1. 在使用前请确保已正确载入所需的公式类型 2. 设置常量和变量时注意避免名称冲突 3. 公式转换时注意检查语法正确性 ## 许可证 ISC License