非线性方程的解法(含牛拉解法)1 引 言数学物理中的许多问题归结为解函数方程的问题,即, (1.1)这里,可以是代数多项式,也可以是超越函数。若有数为方程的根,或称函数的零点。设函数在内连续,且.根据连续函数的性质知道,方程在区间内至少有一个实根;我们又知道,方程的根,除了极少简单方程的根可以用解析式表达外,一般方程的根很难用一个式子表达。即使能表示成解析式的,往往也很复杂,不便计算。所以,具体求根时,一般先寻求根的某一个初始近似值,然后再将初始近似值逐步加工成满足精度要求为止.如何寻求根的初始值呢?简单述之,为了明确起见,不妨设在区间内有一个实的单根,且.我们从左端出点出发,按某一预定的步长 一步一步地向右跨,每跨一步进行一次根的“搜索”,即检查每一步的起点和(即,)的函数值是否同号。若有: (1.2)那么所求的根必在内,这时可取或作为根的初始近似值。这种方法通常称为“定步长搜索法"。另外,还是图解法、近似方程法和解析法。2 迭代法2。1 迭代法的一般概念迭代法是数值计算中一类典型方法,不仅用于方程求根,而且用于方程组求解,矩阵求特征值等方面。迭代法的基本思想是一种逐次逼近的方法。首先取一个精糙的近似值,然后用同一个递推公式,反复校正这个初值,直到满足预先给定的精度要求为止。 对于迭代法,一般需要讨论的基本问题是:迭代法的构造、迭代序列的收敛性天收敛速度以及误差估量。这里,主要看看解方程迭代式的构造。 对方程(1。1),在区间内,可改写成为: (2。1)取,用递推公式: , (2.2)可得到序列: (2.3)当时,序列有极限,且在附近连续,则在式(2.2)两边极限,得, 即,为方程(2。1)的根。由于方式(1。1)和方程(2.1)等价,所以, 即, 式(2。2)称为迭代式,也称为迭代公式;可称为迭代函数。称求得的序列为迭代序列。 2。2 程序和实例下面是基于 MATLAB 的迭代法程序,用迭代格式,求解方程,其中初始值为. **************************************************************************function[p,k,err,P]=fixpt(f1021,p0,tol,max1)% f1021 是给定的迭代函数。% p0 是给定的初始值。% tol 是给定的误差界。% max1 是所允许的最大迭代次数。% k 是所进行的迭代次数加 1。% p 是不动点的近似值。% err 是误差.% P = {p1,p2,…,pn}P(1) = p0;for k = 2:max1 P(k) = fev...