在工程和科学技术领域中, 经常会遇到求解一元非线性方程的问题。对于次数大于等于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.
【基于非线性方程的典型数值解法的研究与分析】相关文章:
基于MATLAB线性方程组的解法02-18
基于数值分析的微分代数方程构建09-11
中国金融发展与经济增长的关联性研究——基于非线性视角的实证分析09-12
数学教学中线性方程组的特殊解法:平方根法11-29
基于MATLAB的微分方程组的数值计算09-11
基于线性分类模型的概率预测分析09-10
基于问题解决的线性代数课程教学设计研究12-06
基于多元线性回归的人民币汇率影响因素分析09-10