📜  数值分析的割线法

📅  最后修改于: 2021-08-27 17:42:33             🧑  作者: Mango

割线法也是一种通过逐次逼近为多项式求根的递归方法。它类似于Regular-falsi方法,但是在这里我们不需要在每次逼近后都一次又一次地检查f(x 1 )f(x 2 )<0 。在这种方法中,邻域的根由割线或和弦近似为函数f(x) 。这种方法的另一个优势是,我们不需要像牛顿-拉普森方法那样对给定的函数f(x)进行微分

图–割线法

现在,我们将得出割线方法的公式。正割线通过两点的方程为:
Y - Y_{1} = m(X - X_{1})
在这里,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 )<0f(x 1 )> 0。通常不要求查找f(x)= 0的多项式f(x)的根通常,您只会被问题问到找到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 2x 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