资源描述:
《数值分析new》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、第七章非线性方程组的数值解法在科学研究与工程计算中的许多问题,都可以归结为非线性方程组的数值求解问题。本章主要介绍求解非线性方程和方程组的基本思想及其数值实现§1非线性方程组的基本概念定义4.1.1:含n个变量的n个方程构成的方程组(4.1)称为非线性方程组,其中是定义在域上关于自变量的实值函数,且中至少有一个是非线性函数,当时,非线性函数构成的方程称为一元非线性方程;如果全是线性函数,则方程组为线性方程组。为了讨论方便,引入非线性方程组的向量形式,记,其中,是从域到的映射,称为向量值函数。则非线性方程组(4.1)的向量形式可表述为
2、(4.2)求解非线性方程组问题,就是寻找一个向量,使得多元向量值函数满足,我们称向量为非线性方程组的解。因是非线性函数,所以非线性方程组的求解问题无论在理论上或解法上,都远不如线性方程组成熟和有效。从解的存在唯一性来看,对于线性方程组,只要存在,则其解也是唯一存在的;而21非线性方程组解的存在唯一性至今还没有完全解决。从求解的方法上来看,线性方程组可以采用直接法求解,也可以采用迭代法求解;而非线性方程组除了特殊的情况外,直接法几乎是不能使用的,一般只能采用迭代法进行求解。下面将围绕非线性方程组迭代求解的基本问题,即迭代收敛性、收敛速
3、度和计算效率,先研究一元非线性方程的求解,然后再讨论多元非线性方程组的情形。§4.2一元非线性方程的迭代法求解最简单的非线性方程组——一元非线性方程,是求解非线性方程组的基础。本节我们首先介绍用于确定解的范围的直接搜索法;然后再介绍两种迭代方法——基本迭代法和牛顿迭代法。一、非线性方程的直接搜索法非线性方程的解或根,也称为函数的零点。它在几何上表示函数的图形与横坐标的交点,见下图xyo如果方程在区间内有实根,则称为有根区间;若在上只有一个根,则称为根的隔离区间。对于连续函数,如果它在根的两侧变号,那么可以用搜索法寻找足够小的隔离区间
4、,然后取其中的任意一点(如中点)作为根的近似值。其基本步骤是:(1)判断的符号,若,则;若,则不妨设(2)选择合适的步长。如:,向前搜索一步,判断的符号。若,则;若,则可知,这时可取21或为的近似值;若,则继续向前搜索一步,判断的符号。重复上述过程,直到与异号,则可知,此时可取该区间内的任意一点作为的近似值。设有方程试用搜索法寻找长度为0.2的根的隔离区间.解:作函数的图形如下:从图中可以看出,函数在左边的一个根的两侧变号.零步长,以为起点,取点列,依次计算它们的函数值,直到相邻的两个值变号,即可得到长度为0.2的隔离区间.具体计算
5、见下表:-1.5-1.3-1.1-0.9-3.125-1.587-0.441+0.361从计算可以看出程度为0.2的隔离区间为[-1.1,-0.9]逐步搜索法的优点是计算简单,缺点是步长很难选择。若过大,近似值的精度较差,若步长足够小,精度是提高了,但计算量却大大增加。因此搜索法是一种效率很低的方法,通常用来求根的粗略估计,把它作为后面要讨论的迭代法的初始值.同时搜索法只适用于一元方程的奇重实根,不能推广到多元情形.如上例中的右边根因两侧不变号,因此不能用搜索法求根.事实上,设是的重根,则在的一个邻域中可表示为=21其中是不小于1的
6、正整数。由此可见,仅当是奇数时才在的两侧变号,因而可以用逐步搜索法求根。搜索法的一种改进的方法是二分法,其基本思想是逐步将有根区间对分,通过判断在小区间端点处的函数值符号进一步搜索有根区间,将有根区间缩到充分小,从而给出满足精度的根的近似值。因时间关系我们不再介绍。二、非线性方程的不动点迭代法迭代法是一种逐步逼近的方法,它使用一定的公式,反复校正根的近似值,使其达到事先要求的精度。这种方法是解代数方程、超越方程以及方程组等行之有效的数值方法。1、基本迭代法及其收敛性为了求一元非线性方程(4.3)的实根,首先将它转化为等价形式(4.4
7、)如果满足方程,则也满足,反之亦然.称是方程(4.3)的根,是方程(4.4)的不动点.从而求的根的问题转化为求的不动点.一般来说,不可能从中直接得到不动点,需要先给出根的一个猜测值(称为初始值),然后代入方程(4.4)式构造迭代格式(4.5)由此得到序列.若此序列有极限,即,则就是的不动点,也是方程的根。(4.5)式称为基本迭代法,也称为不动点迭代法,称为迭代函数。由于迭代过程中仅有决定,因此称这种迭代格式为单步法。将方程(4.3)转化为(4.4)的方法有很多,如令等等。迭代函数的不同选择对应不同的迭代法,它们的收敛性可能有很大的差
8、异。当方程有多个解时,同一迭代法的不同初始值也可能收敛到不同的根。现举例如下:求的一个实根21解:将它转化为两种不同的等价形式,及对应的迭代法分别为(1)(2),由于,,即连续函数在区间[1,2]上变号,从而[1,2]为有根区间。现取