如何将方程式转换为单个变量的公式?我正在考虑如下数学方程式:
c^2 = a^2 + b^2
我想要一个可以处理任何公式的函数,并给我各个变量公式。上面的等式将产生以下结果:
a = (c^2 - b^2)^0.5
b = (c^2 - a^2)^0.5
c = (a^2 + b^2)^0.5
我还想开始:
a = (c^2 - b^2)^0.5
和输出:
b = (c^2 - a^2)^0.5
c = (a^2 + b^2)^0.5
我看过表达式树,但我无法想象它是如何工作的。我想要一个 .NET(C#、VB.NET 或 F#)解决方案。有任何想法吗?
类似于:
public string[] GetFormulas(string equation)
{
...
}
谢谢。
最佳答案
符号方程求解是一个复杂的问题,许多方程没有封闭解。自己写 Computer Algebra System不是微不足道的,但您可以为简单的方程式编写程序。
您必须构建输入字符串的表达式树并定义用于操作表达式树的转换规则。为了求解一个变量,您可以在表达式树的空间上执行搜索(在良好的启发式引导下保持运行时间可接受),表达式树可以通过多次应用从原始树派生 转换规则。
关于c# - 如何将方程式转换为单个变量的公式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/760604/