非线性方程几种数值解法的MATLAB程序
第 期
1 岳 阳 职 业 技 术 学 院 学 报 No.1
年 月 JOURNAL OF YUEYANG VOCATIONAL TECHNICAL COLLEGEJan.2008
20081
非线性方程几种数值解法的MATLAB程序
卢翼飞
(岳阳职业技术学院公共课部,湖南 岳阳 )
414000
摘 要:研究非线性方程数值解,给出了二分法、简单迭代法、牛顿迭代法在 的程序,并进
MATLAB
行了近似计算,可知牛顿迭代法收敛最快。
关键词:非线性方程; 程序;二分法;迭代法
MATLAB
中图分类号: 文献标识码: 文章编号: ( )
O241.7 A 1672-738X200801-0090-04
1引言
在科学研究和科学计算中常常碰到非线性方程求解问题。非线性方程的解一般不能解析求出。所以数
值解法显得非常重要,而数值解法在实际中的实现则更为重要,下面将介绍几种数值解法在 里的
Matlab
实现程序。
2二分法
a+b
设 ()在[,]连续,假定 () ,() ,取中点 ,检查 ()符号。若 () ,则 就是一个
fx ab fa<0fb>0 x= fx fx=0 x
0 0 0 0
2
根;若 () 记 为 , 为 则得有根区间[, ]若 () 记 为 , 为 ,则得有根区间[, ]。
fx>0,a ax b, ab ; fx<0,x ab b ab
0 1 0 1 1 1 0 0 1 1 1 1
a+b
后两种情况都得到有根区间[, ],它的长度为原区间的一半。对[, ],令 1 1 ,再施以同样的方
ab ab x=
1 1 1 1 0
2
法 可得新的有根区间[, ],它的长度为[, ]的一半如此反复进行下去,其中每一个区间是前一区间
, ab ab ,
2 2 1 1
a+b
的一半。有 这就是方程的根。而 n n 即为方程的近似根且有估计误差
x= ,