第十章非线性方程及非线性方程组解法
- 格式:ppt
- 大小:400.51 KB
- 文档页数:41
非线性方程组的求解方法及其应用非线性方程组是数学中一类非常重要的问题,其中每个方程都不是线性的。
与线性方程组不同,非线性方程组的求解通常需要借助于数值方法。
本文将讨论一些常见的非线性方程组求解方法,并介绍它们在实际应用中的一些应用。
1. 牛顿法牛顿法是一种非常常见的非线性方程组求解方法。
该方法基于牛顿迭代法原理,将非线性方程组转化为一系列的线性问题。
牛顿法的基本思想是:通过不断地使用一阶导数和二阶导数的信息来逼近方程组的解。
具体地说,在每一轮迭代中,求解一个方程组:$$F(x^{k})+J(x^{k})\Delta x^{k} =0$$其中$F(x)$表示非线性方程组,$x^k$表示第$k$轮迭代的解,$J(x^k)$表示$F(x)$在$x^k$处的雅可比矩阵,$\Delta x^k$表示下降方向,满足$\|\Delta x^k\|\rightarrow 0$。
值得注意的是,牛顿法在每轮迭代中都需要求解一次雅可比矩阵,这需要大量的计算资源。
因此,在实际应用中,牛顿法通常只适用于相对较小的方程组。
2. 信赖域方法相比于牛顿法,信赖域方法更具有通用性。
信赖域方法的基本思想是:在每轮迭代中,通过构造二次模型来逼近目标函数,并在一个信赖域内搜索下降方向。
具体地说,我们在每轮迭代中将非线性方程组$F(x)$在$x^k$处转化为二次模型:$$m_k(\Delta x)=F(x^k)+\nabla F(x^k)^\top \Deltax+\frac{1}{2}\Delta x^\top B_k\Delta x$$其中,$\nabla F(x^k)$是$F(x)$在$x^k$处的梯度,$B_k$是二阶导数信息。
在这里我们假设$B_k$为正定矩阵。
显然,我们希望在$m_k(\Delta x)$的取值范围内找到一个适当的$\Delta x$,使得$m_k(\Delta x)$最小。
因此,我们需要设定一个信赖域半径$\Delta_k$,并在$B_k$所定义的椭圆范围内查找最优的$\Delta x$。
20世纪60年代中期以后,发展了两种求解非线性方程组(1)的新方法。
一种称为区间迭代法或称区间牛顿法,它用区间变量代替点变量进行区间迭代,每迭代一步都可判断在所给区间解的存在惟一性或者是无解。
这是区间迭代法的主要优点,其缺点是计算量大。
另一种方法称为不动点算法或称单纯形法,它对求解域进行单纯形剖分,对剖分的顶点给一种恰当标号,并用一种有规则的搜索方法找到全标号单纯形,从而得到方程(1)的近似解。
这种方法优点是,不要求f(□)的导数存在,也不用求逆,且具有大范围收敛性,缺点是计算量大编辑摘要目录• 1 正文• 2 牛顿法及其变形• 3 割线法• 4 布朗方法• 5 拟牛顿法•非线性方程组数值解法 - 正文n个变量n个方程(n >1)的方程组表示为(1)式中ƒi(x1,x2,…,x n)是定义在n维欧氏空间R n的开域D上的实函数。
若ƒi中至少有一个非线性函数,则称(1)为非线性方程组。
在R n中记ƒ=则(1)简写为ƒ(尣)=0。
若存在尣*∈D,使ƒ(尣*)=0,则称尣*为非线性方程组的解。
方程组(1)可能有一个解或多个解,也可能有无穷多解或无解。
对非线性方程组解的存在性的研究远不如线性方程组那样成熟,现有的解法也不象线性方程组那样有效。
除极特殊的方程外,一般不能用直接方法求得精确解,目前主要采用迭代法求近似解。
根据不同思想构造收敛于解尣*的迭代序列{尣k}(k=0,1,…),即可得到求解非线性方程组的各种迭代法,其中最著名的是牛顿法。
非线性方程组数值解法 - 牛顿法及其变形牛顿法基本思想是将非线性问题逐步线性化而形成如下迭代程序:(2)式中是ƒ(尣k)的雅可比矩阵,尣0是方程(1)的解尣*的初始近似。
这个程序至少具有2阶收敛速度。
由尣k算到尣k+的步骤为:①由尣k算出ƒ(尣k)及;②用直接法求线性方程组的解Δ尣k;③求。
由此看到迭代一次需计算n个分量函数值和n2个分量偏导数值,并求解一次n阶线性方程组。
1. 使用二分法求3250x x --=在区间[2,3]上的根,要求误差不超过30.510-⨯.解:首先确定二分次数,根据误差估计式得,取k=10即可。
使用二分法计算10次,结果见下表2. 利用0)ln(=+x x 构造收敛的迭代格式,并求在0.5附近的根.解 首先考虑迭代格式1ln ,0,1,2,...k k x x k +=-=,相应的迭代函数()ln ,x x ϕ=-容易计算'1()x xϕ=-,在0.5附近有 ''()2,()21x x ϕϕ≈-≈>.迭代格式1ln ,0,1,2k k x x k +=-=不收敛,利用上题结论,函数()ln x x ϕ=-的反函数1()x x e ϕ--=,建立迭代格式1,0,1,2,...,k x k x e k -+==取初值00.5x =,计算结果见下表:最后*180.5671408x x≈=3.求方程310x x--=在]2,1[上的唯一正根,精度410-解考虑函数3()1, f x x x=--显然(1)10,(2)50f f=-<=>,故在[1,2]上方程有根存在;另外'2()312,[1,2],f x x x=-≥∈因此在[1,2]上方程有唯一的根。
建立迭代格式1nx+=迭代函数()xϕ=在[1,2]上满足23'131()(1)3x xϕ-=+<根据收敛性定理,迭代格式1nx+=[1,2]x∈均收敛。
例如,取初值x=1.5,并计算结果如下:方程31x x--=0在[]1,2上的精确解是* 1.324718x=4.利用简单加速方法,求方程xx e-=在x=0.5附近得一个根,精度510-。
解考虑'(),()0.6x xx e x e Lϕϕ--==-=≈-.利用简单加速方法()1111111n nnn nL Lx xx x xϕ+++--⎧=⎪⎨=-⎪⎩得()1111 1.60.6nxnnn nx ex x x-+++⎧=⎪⎨=+⎪⎩取初值00.5x =,计算结果列表如下:5. 利用Newton 法解方程x=cosx ,取初值0x =1.解 考虑()cos f x x x =-,建立Newton 迭代格式:()()01'1,,0,1,2.....n n n n x f x x x n f x +=⎧⎪⎨=-=⎪⎩方程x=cosx 的精确解是*x =0.739 085 133……。
非线性方程组的解法
非线性方程组的解法包括:
(1)近似法。
近似法是根据所给非线性方程组,使用一定的数值方法,建立非线性方程组结果的拟合曲线,以此求解非线性方程组的常用方法,目前有贝塔、拉格朗日近似法和微分近似法等。
(2)多元分割法。
多元分割法根据非线性方程组的参数和变量空间,
将整个运算范围分割成多余小区间,利用各区间中只含有一个未知变
量的简单方程组,将非线性方程组转换成多个一元方程组,再用一次法、弦截法和二分法等算法求解,最终得出整个非线性方程组的解。
(3)迭代映射法。
迭代映射法是通过给定一个初始值,然后利用迭代,反复运算,最终达到收敛点的一种方法,主要包括牛顿法、收敛法、
弦截法、松弛法和隐函数法等。
(4)最小二乘法。
最小二乘法是将非线性方程组表示为残差函数,然
后求解残差函数最小值,获得未知变量的最优解,常用于数值分析中。
(5)特征法。
特征法是采用将非线性方程组表示为线性方程组特征值
和它们关于某一特征量的关系式,利用梯度下降法,最小化残差函数,求解非线性方程组的方法。
以上是非线性方程组的解法的简单综述,它们在一定程度上增加了解决非线性方程组的效率,但并非所有情况都能使用以上求解方法。
正确使用相应的求解方法就可以有效的求解非线性方程组,以便更好的解决实际问题。
非线性方程组的求解摘要:非线性方程组求解是数学教学中,数值分析课程的一个重要组成部分,作为一门学科,其研究对象是非线性方程组。
求解非线性方程组主要有两种方法:一种是传统的数学方法,如牛顿法、梯度法、共轭方向法、混沌法、BFGS 法、单纯形法等。
传统数值方法的优点是计算精度高,缺点是对初始迭代值具有敏感性,同时传统数值方法还会遇到计算函数的导数和矩阵求逆的问题,对于某些导数不存在或是导数难求的方程,传统数值方法具有一定局限性。
另一种方法是进化算法,如遗传算法、粒子群算法、人工鱼群算法、差分进化算法等。
进化算法的优点是对函数本身没有要求,不需求导,计算速度快,但是精度不高。
关键字:非线性方程组、牛顿法、BFGS 法、记忆梯度法、Memetic 算法1: 三种牛顿法:Newton 法、简化Newton 法、修改的Newton 法【1-3】 求解非线性方程组的Newton 法是一个最基本而且十分重要的方法, 目前使用的很多有效的迭代法都是以Newton 法为基础, 或由它派生而来。
n 个变量n 个方程的非线性方程组, 其一般形式如下:⎪⎪⎩⎪⎪⎨⎧===0),...,(...0),...,(0),...,(21212211n n n n x x x f x x x f x x x f (1)式(1)中,),...,(21n i x x x f ( i=1, ⋯, n) 是定义在n 维Euclid 空间Rn 中开域 D 上 的实值函数。
若用向量记号,令:⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=n x x x ...X 21,⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡====)(...)()(0),...,(...0),..,(0)...,()(2121212,211X f X f X f x x x f x x x f x x x f X F nn n n n则方程组(1)也可表示为:0)(=X F(2) 其中:X ∈R n ,F ∶R n →R 0, F(X) ∈R n , R n 为赋值空间。