查找函数的零

时间:2016-04-02 00:50:58

标签: numerical-methods

我有这种功能

f(x)=alpha+beta \sum_i A_i/(x-B_i)

其中alphabetaA_iB_i是实数。我想在数字上找到f(x)的所有零(我想只考虑实轴上的零)。

为此目的,最佳策略/算法是什么?

对于此函数x=B_i是渐近线,所以我可以说我可以在[B_i,B_{i+1}]区间内限制搜索(我假设B_1 < B_2 <...< B_N)。通常,f(x)[B_i,B_{i+1}]区间内将有多个零。

1 个答案:

答案 0 :(得分:1)

使用简单代数重铸函数,因此整个事物是一个公共分母上的单个多项式:

denominator(x) = \product_i (x-B_i)

分子将是多项式,并且该多项式的根将是整个函数的根。然后,您可以使用该简单多项式的各种根查找方法中的任何一种:

https://en.wikipedia.org/wiki/Root-finding_algorithm#Finding_roots_of_polynomials

你的见解是,根将在分母的零之间的间隔中无疑将是有用的。确保分子的根没有与分母中的根相符,在这种情况下,你将不得不取消一个公因子并重试。