利用Newton迭代求解非线性方程。 Newton迭代公式x_(k+1)=x_k-f'(x_k )^(-1) f(x_k),其中待求解方程为f(x)=0。 [注:要求给出不同类型方程(代数方程或超越方程)的算例]
时间: 2024-06-03 14:06:57 浏览: 100
算例1:代数方程
求解方程x^3-2x-5=0在x=2附近的根。
解:设f(x)=x^3-2x-5,则f'(x)=3x^2-2.
根据Newton迭代公式,可得:
x_(k+1)=x_k-f'(x_k)^(-1)f(x_k)
代入f(x)和f'(x)的表达式,得到:
x_(k+1)=x_k-(3x_k^2-2)^(-1)(x_k^3-2x_k-5)
取初始值x_0=2,代入公式计算可得:
x_1=2-[(3×2^2-2)^(-1)(2^3-2×2-5)]=1.875
x_2=1.875-[(3×1.875^2-2)^(-1)(1.875^3-2×1.875-5)]=1.855
x_3=1.855-[(3×1.855^2-2)^(-1)(1.855^3-2×1.855-5)]=1.854
继续迭代,直至满足精度要求即可。
算例2:超越方程
求解方程sin(x)-x^2+1=0在x=1附近的根。
解:设f(x)=sin(x)-x^2+1,则f'(x)=cos(x)-2x.
根据Newton迭代公式,可得:
x_(k+1)=x_k-f'(x_k)^(-1)f(x_k)
代入f(x)和f'(x)的表达式,得到:
x_(k+1)=x_k-(cos(x_k)-2x_k)^(-1)(sin(x_k)-x_k^2+1)
取初始值x_0=1,代入公式计算可得:
x_1=1-[(cos(1)-2×1)^(-1)(sin(1)-1^2+1)]=0.7503638678
x_2=0.7503638678-[(cos(0.7503638678)-2×0.7503638678)^(-1)(sin(0.7503638678)-0.7503638678^2+1)]=0.7391128907
x_3=0.7391128907-[(cos(0.7391128907)-2×0.7391128907)^(-1)(sin(0.7391128907)-0.7391128907^2+1)]=0.7390851332
继续迭代,直至满足精度要求即可。
阅读全文