基于非线性方程的典型数值解法的研究与分析

2022-09-12

在工程和科学技术领域中, 经常会遇到求解一元非线性方程的问题。对于次数大于等于5的代数方程, 一般不能用代数方法求其准确根。而在实际问题中, 只要能获得满足一定精确度的近似根即可。所以研究一元非线性方程近似根的数值解法, 具有重要的现实意义。

非线性方程求根常用的迭代法主要有简单迭代法、牛顿迭代法和弦割法等。本文主要对牛顿迭代法和弦割法进行比较研究, 通过程序改进得出分析结果。

1 牛顿迭代法

1.1 牛顿迭代法的基本思想

牛顿 (Newton) 迭代法的基本思想是, 将非线性方程f (x) =0的求根问题归结为一系列线性方程的根。设xk使方程f (x) =0的一个近似根, 将f (x) 在xk附近作一阶泰勒展开, 则有f (x) ≈f (xk) +f' (xk) (x-xk) 。

于是方程f (x) =0可近似表示成:

f (xk) +f' (xk) (x-xk) =0。

这是一个线性方程式, 设f' (xk) ≠0, 则上式的解为:

取x作为原方程的新的近似根xk+1, 即令:

则称式 (1) 为牛顿迭代公式。

实现牛顿迭代法的步骤如下。

(1) 给出初始近似根x0及精度ε。

(3) 若|x1-x0|<ε, 转向 (4) ;否则x0=x1, 转向 (2) 。

(4) 输出满足精度的根x1, 结束。

1.2 算例

用牛顿迭代法求方程-3x3+4x2-5x+6=0在1.0附近的实根, 精度要求为ε=.000001。当f (x) =-3x3+4x2-5x+6时, 有f′ (x) =-9x2+8x-5, 设初值x0=10.。基于实现牛顿迭代法的程序如下。

2 弦截法

牛顿迭代法每一步都要计算一次导数值, 如函数f (x) 比价复杂, 计算导数值的工作量就有可能很大, 则使用牛顿迭代公式就大为不便, 因此用差商来代替导数。设xk-1, xk为方程f (x) =0的两个近似根, 为避免导数的计算, 用差商:

代替牛顿迭代公式 (1) 中的导数f' (xk+1) , 于是得到如下的迭代公式:

用公式 (2) 求方程近似根的方法称为弦截法。

实现弦截法的基本步骤如下。

(1) 选择迭代初值x0, x1及精度ε。

(3) 若|x2-x1|<ε, 转向 (4) ;否则x0=x1, x1=x2, 转向 (2) 。

(4) 输出满足精度的根x2, 结束。

算例:用弦截法求方程x3-x2-1=0在区间[1.4, 1.5]内的实根, 取ε=10-5。基于实现弦截法的程序如下。

3 结果分析

迭代法的基本思想是逐次逼近, 即首先给出方程的根的一个近似初始值, 然后反复使用迭代公式校正这个初始值, 使之逐步精确化, 直到满足预先给出的精度要求为止。

弦截法与牛顿迭代法都是线性化方法, 但两者有本质的区别。牛顿迭代法与一般迭代法在计算xk+1时只用到前一步的值xk, 即单点迭代;而弦截法在求xk+1时要用到前两步的结果xk-1和xk, 使用这种方法必须给出两个初始近似根x0, x1, 即多点迭代。另外, 弦截法比牛顿迭代法收敛速度较慢, 但它的计算量比牛顿迭代法小。

摘要:本文主要通过借助非线性方程求解, 通过对牛顿迭代法和弦截法求解过程进行比较研究, 通过程序改进得出分析结果。它对处理科学、工程问题或企事业管理中的数值计算问题有一定的启发意义。

关键词:计算方法,非线性方程,迭代法

参考文献

[1] 李庆扬, 关治, 白峰杉.数值计算原理[M].清华大学出版社, 2000.

[2] 张韵华.数值计算方法解题指导[M].北京, 高等教育出版社, 2003.

[3] 任开隆.微机实用数值计算[M].北京:电子工业出版社, 1996.

上一篇:关于下颌第二磨牙拔除用于正畸错牙合的效果分析下一篇:电信企业报账服务质量提升策略浅析