多项式.java零点方法的问题

多项式.java零点方法的问题,java,polynomial-math,Java,Polynomial Math,是使用Dropbox的源代码的位置 问题在于它不能正确地计算零 例如:x^2-2x-8应该等于{-4,2}的零,但是我得到了一个长的指数值,比如-4+34534…E-25i 它确实适用于具有单根的多项式,例如x2+4x+4,root={-2} 有人能发现这个问题吗?几个星期来我一直很沮丧。这不是家庭作业,这是我在业余时间做的事情。我以前遇到过类似的问题,决定换一种不同的数学语言。你可以试着用浮动代替双打,这可能会奏效,但也可能会带来问题。或者你可以写一个方法,过滤掉任何小于1E-10的东西或者沿

是使用Dropbox的源代码的位置

问题在于它不能正确地计算零

例如:x^2-2x-8应该等于{-4,2}的零,但是我得到了一个长的指数值,比如-4+34534…E-25i

它确实适用于具有单根的多项式,例如x2+4x+4,root={-2}


有人能发现这个问题吗?几个星期来我一直很沮丧。这不是家庭作业,这是我在业余时间做的事情。

我以前遇到过类似的问题,决定换一种不同的数学语言。你可以试着用浮动代替双打,这可能会奏效,但也可能会带来问题。或者你可以写一个方法,过滤掉任何小于1E-10的东西或者沿着这些线的东西。另一种可能与此相关,也可能与此无关的方法是使用。

您可能需要添加代码段,但您提供的链接对我无效。请立即尝试。我想添加一个片段,但它有几百行长。您的代码处理二次方程的复杂解吗?从您发布的内容来看,我认为您的代码返回了-4+3e-25i。这真的很接近-4+0e0 i,这是你正在寻找的答案。它确实可以处理复杂的解,但其他根呢?@Mohit-从你发布的内容来看,我怀疑你的问题在于计算的数值准确性。这篇文章应该给你一些正确处理这个计算的提示。我没有Mathematica的副本,也不打算购买它。所以我不能使用JLink。