词条 | 布伦特法 |
释义 | the method of Brent 布伦特(Brent)方法是在二分法或试位法的基础上,借助二次插值方法进行加速,有利用反插值方法来简化计算而形成的一种方法,初步感觉有些小题大做,仔细分析又不无道理。 假如知道f(x)的零点x’在一个不太大的区间[x0,x1]内,而且已知f(x)在区间的端点a,b处的函数值y0=f(x0),y1=f(x1),f(x0) f(x1)<0,以及f(x)=0在(x0,x1)内的近似解x=x2和f(x2),接下来利用这已知的三个点以及它们所对应的函数值作插值抛物线。与Muller方法不同的是,把 x0 ,x1 ,x2 与f(x0), f(x1), f(x2)的对应关系反过来用,相当于用y0 ,y1 ,y2 替代方程组 f(x0)= a(x0-x2) ^2+b(x0-x2)+c **************** (1) f(x1)= a(x1-x2) ^2+b(x1-x2)+c **************** (2) f(x2)= a(x2-x2) ^2+b(x2-x2)+c **************** (3) 中的x0 ,x1 ,x2 ,而方程组的常数项f(x0), f(x1), f(x2) 则用这里的x0 ,x1 ,x2替换。所以对应的插值抛物线的一般形式为 x= a(y-y2) ^2+b(y-y2)+c **************** (4) x0= a(y0-y2) ^2+b(y0-y2)+c **************** (5) x1= a(y1-y2) ^2+b(y1-y2)+c **************** (6) x2= a(y2-y2) ^2+b(y2-y2)+c **************** (7) 由(5)(6)(7)式可以得c=x2,利用Muller方法,可以写成a,b 的表达式。 在(4)中令y=0,可以得到下一个近似点为 X=x2+(ay2 ^2+by2) **************** (8) 其中ay2 ^2+by2相当于校正项。 Brent方法的下一个规则是,如果得到的x仍然在区间[x0,x1]内,则用x2根据f(x2) 的符号替换x0或x1 ,用x替换x2;如果所得到的x不在区间[x0,x1]内,则暂时放弃反抛物线插值法,继续用二分法或试位法。 实际上,我们可以利用二分法所得到函数顺便采用反插值方法试探一下,看能否捡到一些便宜。 在这种平常心态下,我们也可以得到类似的效果,而且方法还简单得多。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。