割线法也是一种通过逐次逼近求多项式根的递归方法。它类似于Regular-falsi方法,但在这里我们不需要在每次近似后一次又一次地检查f(x 1 )f(x 2 )<0 。在这种方法中,邻域根通过割线或弦近似到函数f(x) 。这种方法的另一个优点是我们不需要对给定的函数f(x)进行微分,就像我们在Newton-raphson方法中所做的那样。
现在,我们将推导出割线法的公式。通过两点的割线方程为:
这里,m=斜率
所以,申请(x 1 , f(x 1 ))和(x 0 , f(x 0 ))
Y - f(x1) = [f(x0)-f(x1)/(x0-x1)] (x-x1) Equation (1)
当我们找到函数f(x) 的根时,方程 (1) 中的 Y=f(x)=0 以及割线切割 x 轴的点是,
x= x1 - [(x0 - x1)/ (f(x0) - f(x1)]f(x1) .
我们使用上述结果对函数f(x) 的根进行逐次逼近。假设第一个近似值是x=x 2 :
x2= x1 - [(x0 - x1)/ (f(x0)-f(x1))]f(x1)
同样,第二个近似值是x =x 3 :
x3= x2 - [(x1-x2)/ (f(x1)-f(x2))]f(x2)
依此类推,直到第k次迭代,,
xk+1= xk - [(xk-1 - xk) / (f(xk-1) - f(xk))]f(xk)
注意:要开始求解函数f(x) 需要两个初始猜测,使得f(x 0 )<0和f(x 1 )>0。通常不要求找到多项式 f(x) 的根, f(x) = 0。大多数情况下,问题只会要求您找到f(x)的根,直到两位小数或三位小数或四位等。
示例-1:
使用割线法在区间 [0, 2] 中计算方程 x 2 e –x/2 = 1 的根。根应精确到小数点后三位。
解决方案 –
x 0 = 1.42, x 1 = 1.43, f(x 0 ) = – 0.0086, f(x 1 ) = 0.00034。
应用,割线法,第一个近似是,
x 2 = x 1 – [( x 0 – x 1 ) / (f(x 0 ) – f(x 1 )]f(x 1 )
= 1.43 – [( 1.42 – 1.43) / (0.00034 – (– 0.0086))](0.00034)
= 1.4296
f(x 2 ) = – 0.000011 (–ve)
第二个近似是,
x 3 = x 2 – [( x 1 – x 2 ) / (f(x 1 ) – f(x 2 ))]f(x 2 )
= 1.4296 – [( 1.42 – 1.4296) / (0.00034 – (– 0.000011](– 0.000011)
= 1.4292
由于x 2和x 3最多匹配三个小数位,因此所需的根是1.429 。
示例 2 :
方程 f(x) = x 3 – 5x + 1 = 0 的实根位于区间 (0, 1) 中。执行割线法的四次迭代。
解决方案 –
我们有, x 0 = 0, x 1 = 1, f(x 0 ) = 1, f(x 1 ) = – 3
x 2 = x 1 – [( x 0 – x 1 ) / (f(x 0 ) – f(x 1 ))]f(x 1 )
= 1 – [ (0 – 1) / ((1-(-3))](-3)
= 0.25。
f(x 2 ) = – 0.234375
第二个近似是,
x 3 = x 2 – [( x 1 – x 2 ) / (f(x 1 ) – f(x 2 ))]f(x 2 )
=(– 0.234375) – [(1 – 0.25)/(–3 – (– 0.234375))](– 0.234375)
= 0.186441
f(x 3 4 = x 3 – [( x 2 – x 3 ) / (f(x 2 ) – f(x 3 ))]f(x 3 )
= 0.186441 – [( 0.25 – 0.186441) / ( – 0.234375) – (0.074276) ]( – 0.234375)
= 0.201736。
f(x 4 ) = – 0.000470
第四个近似是,
x 5 = x 4 – [( x 3 – x 4 ) / (f(x 3 ) – f(x 4 ))]f(x 4 )
= 0.201736 – [( 0.186441 – 0.201736) / (0.074276 – (– 0.000470)](– 0.000470)
= 0.201640