第3讲非线性方程(方程组)的数值解法1介绍求解非线性方程的几种常见和有效的数值方法,同时也对非线性方程组求解,简单介绍一些最基本的解法。无论在理论上,还是在实际应用中,许多问题的求解,在解析方法无能为力时,数值方法则可以借助于计算机出色完成。0)(xf),,2,1(0),,,(21nixxxfniLL22.1二分法概念:有根区间:存在根隔根区间:唯一根3根的存在性首先确定有限区间:依据零点定理。设,且,则方程在区间上至少有一个根。如果在上恒正或恒负,则此根唯一。4],[)(baCxf0)()(bfaf0)(xf),(ba)('xf),(ba二分法用二分法(将区间对平分)求解。令若,则为有根区间,否则为有根区间记新的有根区间为,则且5)(,,1121111bacbbaa0)()(11cfaf],[11ca],[11bc],[22ba],[],[2211baba)(112122abab二分法对重复上述做法得且6],[22ba......],[......],[],[2211nnbababa)(211ababnnn二分法设所求的根为,则即取为的近似解。7x......2,1],[nbaxnn......2,1nbxann0)(21lim)(lim1nababnnnnxbannnnlimlim)(21nnnbacxx二分法迭代终止准则8nnba-22-nnnabcx即2.2一般迭代法2.2.1迭代法及收敛性对于有时可以写成形式如:31xx90)(xf)(xx33101xxxxxxxxcos0cos迭代法及收敛性考虑方程。这种方程是隐式方程,因而不能直接求出它的根。但如果给出根的某个猜测值,代入中的右端得到,再以为一个猜测值,代入的右端得,反复迭代得10)(xx0x)(xx)(01xx1x)(xx)(12xx,......1,0)(k1kkxx迭代法及收敛性若收敛,即则得是的一个根11}{kxxxkklimx)(xx)()lim()(limlim1nxxxxxnnnnn简单迭代法将变为另一种等价形式。选取的某一近似值,则按递推关系产生的迭代序列。这种方法算为简单迭代法。120)(xf)(xxx],[0bax,......1,0)(k1kkxx}{kx例题例2.2.1试用迭代法求方程在区间(1,2)内的实根。解:由建立迭代关系k=0,1,2,3……计算结果如下:31xx311kkxx1301)(3xxxf例题精确到小数点后五位145102132472.1x例题但如果由建立迭代公式仍取,则有,显然结果越来越大,是发散序列151x3x,...2,1131kxxkk5.10x2.3751x12.392x}{kx2.3Newton迭代法设x*是方程f(x)=0的根,又x0为x*附近的一个值,将f(x)在x0附近做泰勒展式:16之间和在其中020000)()(21)()()()(xxfxxxfxxxfxf0)()()()(0000xfxxxfxfNewton迭代法有:即以代替重复以上的过程,继续下去得:17)()(0001*xfxfxxx)()(000xfxfxx0x1x01k)()(xxxfxfxxkkkNewton迭代法18迭代终止的标准Nk或1kkxx3.非线性方程组的迭代解法或190),,,(0),,,(21211nnnxxxfxxxf0),,(),,()()()(1111nnnnxxfxxfxfxfxFLLLL的Jacobi矩阵)(xFnnnnnxfxfxfxfxfxfxFLMMLL11111)()()(3.非线性方程组的迭代解法20将在处进行泰勒展开)(xFkx))(()()(kkkxxxfxfxf一元函数0))(()()(kkkxxxFxFxFkx为向量)())((kkkxFxxxF)()(1kkkxFxFxx建立)()(11kkkkxFxFxx3.非线性方程组的迭代解法21迭代初始向量迭代终止的标准011)()(xxFxFxxkkkk1kkxxNk或Matlab中范数:norm(x)221nxxxL4.Matlab函数22非线性方程Z=fzero(filename,x0,tol)filename:f(x)函数文件X0:迭代初值tol:精度参数非线性方程组Z=fsolve(filename,x0,option)option:最优化工具箱的优化参数