如果这是一个基本问题或者已经有丰富的解决方案,请原谅我,但我不知道如何简洁地阐明这个问题,并且我找不到任何结果。这个问题我想了很久,一直没有找到解决办法。
我想做的是通过字符串比较符号语句。例如,在数学中,
4x = 4x is true.
但是呢
(12/3)x = 4x
(5-1)x = (4/1)x
((5-1)/1)x = (4/1)x
so on . . .
在样张中,
1 = sin(x)^2 + cos(x)^2
tan(x) = sin(x)/cos(x)
sin(2x) = 2*sin(x)*cos(x)
and so on . . .
在逻辑上,
~~p <-> p
~(p * q) <-> (~p v ~q)
~(p v q) <-> (~p * ~q)
(p v q) <-> (q v p)
(p * q) <-> (q * p)
and so on . . .
请记住,这些输入是字符串。我遇到的问题是,理论上有无数种双方可以相等的情况。
当然,第一个问题是如何解析数值与符号值并枚举它们。我对此表示同意。
我什至不知道从哪里开始,因此我们将不胜感激。
最佳答案
我会得到一个符号代数包。他们可以进行推导、简化以及与归约比较等操作。许多也是可编程的。有一些很好的免费软件。
这里有一个列表: http://en.wikipedia.org/wiki/List_of_computer_algebra_systems
如果您正在寻找一种在代码中执行此操作的方法,也许您可以找到适合您选择的语言的符号代数库。
关于algorithm - 符号比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13982724/