我必须动态构建如下方程式:
X+ x/3 + (x/3)/4 + (x/3/4)/2 = 50
现在我想评估这个方程,得到x,这个方程是动态建立的。X是分类法中的叶节点,其他3个节点是超级概念。除数表示子节点的子节点的数量。
有没有一个库可以动态地构建这样的方程并求解x?
谢谢,克里斯
发布于 2010-04-27 16:09:06
你的方程式总是这种形式(x中线性的)吗?如果是这样,在建立方程时,只需将x设置为1并计算lhs即可。这将得到lhs =1+ 1/3 + (1/3)/4 + (1/3/4)/2 =1.4583。然后计算x= rhs / lhs = 50 / 1.4583
发布于 2010-04-27 16:10:17
它可能会帮助你在上面做一些代数。
请注意:
x= 3*x/3 = (x*4*3*2)/(4*3*2)
x+x/3 = 3x/3 + x/3 = 4x/3在你的特殊情况下:
x + x/3 + (x/3)/4 + (x/3/4)/2 = (x*4*3*2)/(4*3*2) + (x*4*2)/(4*3*2) + (x*2)/(4*3*2) + (x)/(4*3*2)
= (4*3*2x + 4*2x + 2*x + x)/(4*3*2)也许,如果你能找到一种方法,将左侧重写为一个像这样的大分数,那么解决方案就会变得容易得多。另外,求出x的因子
(4*3*2x + 4*2x + 2*x + x)/(4*3*2) = x*(4*3*2 + 4*2 + 2 + 1)/(4*3*2)然后求x的解
50= x*(a/b)
50*(b/a) = x因为你有一些生成多项式的代码,所以你也应该能够很容易地生成这个大的(a/b)分数。我故意没有简化乘法,以便清楚地知道每个组件来自何处。
发布于 2010-04-27 16:05:13
如果你打算使用Java,你可以试试JAS。它声称能够解决多项式方程。
FTA:
Java algebra System (
)是一种面向对象、类型安全的多线程计算机代数方法。JAS提供了一个设计良好的软件库,它使用泛型类型在Java编程语言中实现代数计算。该库可以用作任何其他Java软件包,也可以交互使用或通过jython (Java Python)前端进行解释。JAS目前的重点是交换和可解多项式,Groebner基及其应用。通过使用Java作为实现语言,JAS支持64位和多核cpu。
https://stackoverflow.com/questions/2719573
复制相似问题