# 表达式化简器

使用 mathjs 基于规则的化简器简化含变量的代数表达式。它会合并同类项、合并常数、约去相同因子并保持分数精确，因此 2x + 3x - x/2 会化为 x * 9 / 2。结果会以文本和 LaTeX 格式显示；当结果不含变量时，还会显示按你选择的精度四舍五入后的十进制值。输入会在受限的沙盒中运行，并设有时间限制。适合练习代数和整理公式。

## 常见问题

### 会进行哪些类型的化简？

化简器会合并同类项，例如将 2x + 3y - x + y 化为 x + 4 * y，合并数值常量，将 x * x 转换为 x ^ 2，将 x / x 化简为 1，并保留有理系数的精确分数形式。它会反复应用 mathjs 的化简规则，直到结果不再变化。结果在数学上与输入等价。

### 它会展开或因式分解多项式吗？

不会，(x + 1)^2 这样的乘积和幂会保持原样，也不会对多项式进行因式分解，因此 (x^2 - 1) / (x - 1) 不会化简为 x + 1。mathjs 的规则侧重于合并和约分，而非展开。这样可以让长表达式的结果保持简洁。

### 会应用三角恒等式吗？

不会，sin(x)^2 + cos(x)^2 = 1 这样的恒等式不在规则集合中，因此这类项会保持不变。常量的函数会被求值，因此 log(e) 会变为 1。变量的函数会保留为符号形式。

### 为什么 sqrt(8) 会变成小数？

mathjs 会对参数全为数字的函数求值，因此 sqrt(8) 会变成 2.8284271247461903，而不是 2√2。数字之间的普通算术运算会保持精确，因此 2/4 + 1/4 会变成 3/4。所以，普通数字的根式会显示为小数，而变量的根式（例如 sqrt(x)）会保留为符号形式。

### 如何输入表达式？

使用 ^ 表示乘方，使用 * 或空格表示乘法，使用 / 表示除法，并用括号分组，例如 3x^2 + 2x - x^2 / 2。变量名以字母开头，可以包含数字和下划线。请注意，xy 是名为 xy 的单个变量，因此乘积应写作 x*y。

### 什么是小数值行？

如果化简后的表达式不包含变量，工具还会对其求值，并按你选择的精度显示四舍五入后的小数值。对于 2/4 + 1/4，该值为 0.75。含变量的表达式只会显示符号形式的结果。

### LaTeX 输出有什么用途？

LaTeX 行包含化简后表达式的 LaTeX 代码，可直接粘贴到论文、幻灯片或支持数学公式渲染的 Markdown 编辑器中。它由 mathjs 根据相同的结果生成。分数会写作 \frac。

### 可以使用哪些函数和常量？

允许使用三角函数、反函数和双曲函数、sqrt、cbrt、exp、log、log10、log2、abs、round、floor、ceil、factorial 等科学函数，以及常量 pi、e、tau、phi 和 i。内置函数的名称不能用作变量。未知函数会被拒绝，并显示其名称。

### 粘贴任何表达式都安全吗？

安全。表达式会先经过解析，并根据允许列表进行检查，然后才会运行。按照 mathjs 的安全指南，赋值、函数定义、字符串、范围、索引，以及 import、evaluate 和 parse 等函数都会被拒绝。计算在隔离的 worker 中运行，时限为 3 秒。

### 有文件大小限制吗？

表达式最多可包含 2000 个字符，嵌套深度最多为 64 层。非常长的表达式可能需要 mathjs 花费很长时间才能化简，因此超过 3 秒的计算会停止，并提示你缩短表达式。遇到这种情况，请将较大的表达式拆分成几部分。

在这里投放广告？

[给我们发邮件](mailto:hi@dennn.is?subject=%E5%9C%A8%20OneClick%20Pro%20%E4%B8%8A%E6%8A%95%E6%94%BE%E5%B9%BF%E5%91%8A)

[广告 适用于 WordPress 的智能体就绪型插件套件。](https://sleekwp.com/?ref=oneclickpro)
