数学公式比较[关闭]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数学公式比较[关闭]相关的知识,希望对你有一定的参考价值。

我正面临解析和比较数学公式的小问题。

假设我们有以下3个公式:

  • 2*a+b*c
  • j*i+e+e
  • x+(y*z)+x

我们同意,3个公式是相同的。我们如何比较不同的公式并知道它们是否相等?您是否了解允许您重写和简化这些公式以便进行比较的Java API?

答案

这项任务并不简单,需要了解解析树。 https://en.wikipedia.org/wiki/Parse_tree

主要思想是构建表达式的解析树并对其进行规范化,以这样的方式排列节点,使得顺序与“相等”表达式相同。

例如,您的第一个表达式将解析为两个乘积(*)的和(+),其中一个涉及常量和变量,另一个涉及另外两个变量。

树的前缀遍历将是

+ * 2 a * b c

如果采用常量来自变量的约定,并且重命名变量,

+ * 2 V0 * V1 V2

将代表所有表达,如a*2+d*ff*a+2*b ......但不是2*a+a*c,有一个重复变量,应该是+ * 2 V0 * V0 V1


你通过重新组合类似术语来使事情变得更加困难(e+e变成2*e)。这可以通过预处理解析树并发现相同的子树来实现。在给定的情况下

+ V2 V2

甘蔗被视为两个相等公式的总和,并转向

* 2 V2

在进一步处理之前


我不确定一般情况会如此简单。

以上是关于数学公式比较[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

研究生数学论文的公式用啥软件编辑?数学论文一般用word写还是openoffice写?

如何在博客上手写复杂数学公式

ipad中有没有数学公式编辑器,怎么输入数学公式

怎么将复杂的数学公式复制到Word中?

Latex中有三个数学公式,都比较长。怎样才能使其剧中或居左对齐?

初中数学所有常见三角函数公式大全