MATLAB 非线性方程(组)求根
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实用数值方法(Matlab) 综述报告题目:非线性方程(组)求根问题
小组成员
许多数学和物理问题归结为解函数方程f(x)=0。方程f(x)=0的解称为方程的根。对于非线性方程,在某个范围内往往不止一个根,而且根的分布情况可能很复杂,面对这种情况,通常先将考察的范围花费为若干个子段,然后判断哪些子段内有根,然后再在有根子段内找出满足精度要求的近似根。为此适当选取有根子段内某一点作为根的初始值近似,然后运用迭代方法使之足部精确化。这就是方程求根的迭代法。下面介绍书上的几种方法:
1、二分法
(1)方法概要:
假定函数f(x)在[a,b]上连续,且f(a)f(b)=0,则方程f(x)=0在[a,b]内一定有实根。取其中
将其二分,判断所求的根在的左侧还是右侧,得到一个新的有根区间
点
[],长度为[a,b]的一半。对新的有根区间继续实行上述二分手段,直至二分k次后有根区间[]长度
可见,如果二分过程无限继续下去,这些有限根区间最终必收敛于一点,该点就是所求的根。在实际计算过程中不可能完成这个无限过程,允许有一定的误差,则二分k+1次后
只要有根区间[]的长度小于,那么结果关于允许误差就能“准确”地满足方程f(x)=0。
(2)计算框图:
2、开方法
对于给定,求开方值
为此,可以运用校正技术设计从预报值生成校正值的迭代公式。自然希望校正值
能更好满足所给方程:
这是个关于校正量的近似关系式,如果从中删去二次项,即可化归为一次方程
解之有
从而关于校正值有如下开方公式
上述演绎过程表明,开方法的设计思想是逐步线性化,即将二次方程的求解画归为一次方程求解过程的重复。开方公式规定了预报值与校正值之间的一种函数关系,这里
为开方法的迭代函数。
3、Newton法
(1)方法概要
考察一般形式的函数方程
首先运用校正技术建立迭代公式。设已知它的根近似值,则自然要求校正值
能更好地满足所给方程
将其左端用其线性主部替代,而令
据此定出
从而关于校正值有如下计算公式
这就是著名的Newton公式。
公式决定了预报值与校正值之间的一种函数关系,这里迭代函
Newton
数为
(2)计算框图
4、弦截法
(1)方法概要
弦截法主要方法与Newtom法基本相同,只是用差商代替Newtom 公式中的导数,从而得到弦截公式
(2)计算框图
现在介绍一种新的方法——正割法 正割法 设
是二个接近于*x 的已知近似解。用
关于
的线性插值函数
(1)
来近似函数,并取的根作为的新近似根
(2)
从适当的,由(2)生成迭代序列
的方法称为正割法。
正割法的几何意义是用曲线
的过点
的割线
来近似原曲线,并用割线与轴的交点近似曲线与轴的点,如图
所示。
例:用正割法求解
。
解 将的数值列在表中。可看出正割法有较快的收敛速度。
8
7511105.57390851
.061062.37390849.05672694
.110697.5739119.046522468.10046617.0736298.037432456.1089303.068507.024596977.145969977.011100)
/()()()(-----⨯-⨯-⨯-----k k k k k k x x x f x f x f x k
对于正割法,有如下收敛定理。 定理 1
若
在
解
邻近二次连续可导,
且,则存
在,只
要
正割产生的迭代序列收敛于,而且有
(3)
证明 利用插值多项式余项,有
其中位于包含
的最小区间内。另一方面
其中介于与之间,也位于包含的最小区间内。由的二个表达式得
(4)
任取由及f’’连续得,存在,成立
即当时,则(4)得
,
。(3)显然成立。证毕。
定理1中先假设了的存在,同时要求初始近似解充分接近,这一类收敛定理称为局部性收敛定理。
即正割法通常具有收敛阶1.618…。