我有一个五次函数(五次多项式),我想用C ++解决它。 是否有可以使用的实现或数学库才能继续?
答案 0 :(得分:4)
Boost有这个。看看这里:
http://www.boost.org/doc/libs/1_51_0/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/roots2.html http://www.boost.org/doc/libs/1_51_0/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/polynomials.html
描述
这些函数在不需要的情况下解决了某些函数f(x)的根 对于f(x)的导数。这里使用TOMS的功能 算法748渐近地是已知的最有效的,并且具有 被证明是某些类型的平滑函数的最佳选择。
或者,有一个简单的二分程序可能很有用 在某些情况下,或者在缩小范围内 在调用更高级的之前,在包含根的范围内 算法
不幸的是,这些库不是初学者友好的,我还没有找到如何使用它们的示例。现在回答 as as is 。现在,看看这里 http://programmingexamples.net/wiki/CPP/Boost/Math/Tools/TOMS748
你应该能够插入一个boost多项式而不是t。
答案 1 :(得分:4)
我有一个五次函数(5度多项式),我想用C ++解决它。
这里有一个问题,一个相当着名的问题。对二次方程有一个简单的解决方案。立方方程式更加困难。解析它们的一种方法是通过Cardano的方法。四次方程式更加严格,但仍然可以通过分析解决。
这就是结束的地方。 没有五阶多项式方程(或更高)的根的公式,可以用多项式的系数来表示,只使用标准的代数运算。整个数学分支,伽罗瓦理论源于其中一个证据,即不存在针对五行语的通用分析解决方案。
这意味着您将不得不求助于数字根寻找技术。
答案 2 :(得分:3)