这些实际问题可以归结为形如
f(x)"=0" (0.1)
的求根问题.在大多数情况下,不可能得到解的显式表示,我们只能满足于找到任意指定精度的根.求根的数值方法叫做迭代法 .实际问题中,往往转为非线性方程组求解问题.在本文中我们将非线性方程求解的迭代法运用到两个变量的非线性方程组的求解.
我们考虑解(0.1)的迭代法,其中f(x)是实变量x的连续可微实值函数.对于这类相当普遍的方程,迭代法需要知道f(x)=0的根α的一个或几个初始估计x_0.初始估计x_0通常可以根据问题产生的背景来求得;或者利用y=f(x)的图像求x_0的值.
为了说明求解(0.1)的根的迭代方法的基本思想,先举一个例子.对给定的a>0,解
f(x)=a-1/x. (0.2)
这个问题对于早期的不能进行除法运算的计算机有实用价值.
设x_0≈1⁄a是方程一个近似解.在点(x_0,f(x_0 ))作y=f(x)的切线,设x_1是切线与x轴的交点,它应该是根α的一个更好的近似.
为了得到一个关于x_1的方程,由f(x)在x_0处的导数与切线斜率相等,
f'(x_0 )=(f(x_0 )-0)/(x_0-x_1 ),
将(0.2)代入,经计算得到
x_1=x_0 (2-ax_0 ),
重复这个过程(以x_1代x_0,等等),就可以得到一般的迭代公式
x_(n+1)=x_n (2-ax_n ) n≥0.
这个例子说明了解方程的一种迭代方法的构造.
用迭代法求解非线性方程的问题,常用的迭代法有对分法、不动点迭代法、牛顿法、割线法等.这些迭代方法的基本思想是通过不同的方法寻找方程的等价形式,从代数角度或是几何角度求得等价形式的不动点的近似值,从而得到方程的近似解.
本文有四个章节构成:文献综述
第一章主要介绍对分法、不动点迭代法、牛顿法、弦割法这四个常用的迭代方法以及它们的Matlab程序,并说明其应用.
第二章将第一章介绍的四种迭代方法进行对比.
第三章介绍二个变量的非线性方程组的求解的迭代公式,并给出误差,最后举例说明其应用.
第四章是总结.
常用非线性方程求解的迭代方法
在大多数的情况下,非线性方程只能求近似根,其基本步骤如下:
在理论上确定根的存在性.
有根区间的确定,可以是粗略的近似值.
求出足够精度的近似值,通过某些条件判别根的精度.
如果需要的精度很高,使用不同的办法,其计算量差别巨大.
下面我们介绍几种常见的非线性方程求解的方法.
对分法源:自*辣~味·论,文'网·www.lwfree.com/
对分法是求非线性方程的最简单、最直接的方法.我们知道,对于单变量连续函数f(x),若存在某一连续区间[a,b]使得f(a) f(b)<0,则在区间[a,b]上至少存在函数f(x)的一个零点.
对分法的基本思想是每次把区间二等分,确定被等分的两个区间中有根的区间,将其继续二等分,如此以往,从而达到缩小区间的目的,最终求得近似根为符合精度要求的区间中点.即
令a_0=a, b_0=b,取区间中点x_0=(a_0+b_0)/2.考察点x_0处函数值的情况,若f(a_0 ) f(x_0 )<0,则近似根x^*∈[a_0,x_0 ].此时令a_1=a_0,b_1=x_0;否则得到x^*∈[x_0,b_0 ],此时令a_1=x_0,b_1=b_0.再取x_1=(a_1+b_1)/2,一直做下去,….
设当前区间为[a_k,b_k ],取中点
x_k=(a_k+b_k)/2,
若f(a_k ) f(x_k )<0,则x^*∈[a_k,x_k ].此时令a_(k+1)=a_k,b_(k+1)=x_k;否则得到x^*∈[x_k,b_k ],此时令a_(k+1)=x_k,b_(k+1)=b_k.再取x_(k+1)=(a_(k+1)+b_(k+1))/2,一直做下去,…. 非线性方程的迭代法及其Matlab程序(2):http://www.youerw.com/shuxue/lunwen_43798.html