非线性方程的解法

合集下载

非线性方程组的求解方法及其应用

非线性方程组的求解方法及其应用

非线性方程组的求解方法及其应用非线性方程组是数学中一类非常重要的问题,其中每个方程都不是线性的。

与线性方程组不同,非线性方程组的求解通常需要借助于数值方法。

本文将讨论一些常见的非线性方程组求解方法,并介绍它们在实际应用中的一些应用。

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$。

第十章非线性方程及非线性方程组解法

第十章非线性方程及非线性方程组解法

(
x
)
n
lim
n
x
n

{x
}
n
收敛,即
lim xn x*,则:
n
x* (x*) f (x*) 0
迭代过程的几何表示
x (x) :
y x 交点即真根。
y (x)
yx
y
Q1
Q2
P* P2
O x* x2
P1
x1
y (x)
P0
x0
x
例:求方程 f (x) x3 x 1 0 在x0 1.5附近的根x*. 解:(1) 将方程改写为 x 3 x 1
第十章 方程求根
求解非线性方程
f (x) 0 f 是非线性函数,
例:代数方程
a x a x a x a f (x) n
n1 L
0, n 1。
n
n1
1
0
例: 超越方程
f (x) ex sin x 0
§1. 非线性方程实根的对分法(二分法)
设 f (x) 在[a,b] 上连续且 [a,b] 有且仅有一个根又
xn1 (xn ) (n 0,1,L )
均收敛于x*,并有
x* xn
Ln 1 L
x1 x0
收敛充分性定理(一、2)
证:由条件(2)知(x)在[a, b]上连续。 令 (x) x (x),则 (x)在[a,b]上连续,且
(a) a (a) 0, (b) b (b) 0 故存在 [a,b],使得() 0,即 (), 所以方程x (x)在[a,b]内有根。
可先用二分法或经验确定迭代初值x0 0.5,再按牛
顿公式进行迭代。
Newton法具有收敛快,稳定性好,精度高等优点,是求 解非线性方程的有效方法之一。但它每次迭代均需计算函 数值与导数值,故计算量较大。而且当导数值提供有困难 时, Newton法无法进行。

各类非线性方程的解法

各类非线性方程的解法

各类非线性方程的解法非线性方程是一类数学方程,其中包含了一个或多个非线性项。

求解非线性方程是数学研究中的重要问题之一,它在科学、工程和经济等领域具有广泛的应用。

本文将介绍几种常见的非线性方程的解法。

1. 试-and-错误法试-and-错误法是求解非线性方程的最简单方法之一。

它基于逐步尝试的思路,通过不断试验不同的数值来逼近方程的解。

这种方法的缺点在于需要反复试验,效率较低,但对于简单的方程或近似解的求解是有效的。

2. 迭代法迭代法是一种常用的数值计算方法,可以用来求解非线性方程的近似解。

它的基本思想是通过迭代计算逐步逼近方程的解。

不同的迭代方法包括牛顿迭代法、弦截法和割线法等。

这些方法都是基于线性近似的原理,通过不断迭代计算来逼近解。

迭代法的优点是可以得到较为精确的解,适用于多种类型的非线性方程。

3. 数值优化方法数值优化方法是一种求解非线性方程的高级方法,它将问题转化为优化问题,并通过优化算法来寻找方程的最优解。

常用的数值优化方法包括梯度下降法、牛顿法和拟牛顿法等。

这些方法通过不断迭代调整变量的取值,以最小化目标函数,从而求解非线性方程。

数值优化方法的优点是可以处理复杂的非线性方程,并且具有较高的求解精度。

4. 特殊非线性方程的解法对于特殊的非线性方程,还可以使用特定的解法进行求解。

例如,对于二次方程可以使用公式法直接求解,对于三次方程可以使用卡尔达诺法等。

这些特殊解法适用于特定类型的非线性方程,并且具有快速和精确的求解能力。

综上所述,非线性方程的解法有试-and-错误法、迭代法、数值优化方法和特殊非线性方程的解法等。

根据具体的方程类型和求解要求,选择合适的方法进行求解,可以得到满意的结果。

非线性方程的求解方法

非线性方程的求解方法

非线性方程的求解方法一、引言在数学领域中,非线性方程是指未知量与其对自身的各次幂、指数以及任意函数相乘或相加得到的方程。

求解非线性方程是数学中一个重要而又具有挑战性的问题。

本文将介绍几种常见的非线性方程求解方法。

二、牛顿迭代法牛顿迭代法是一种经典的非线性方程求解方法,它利用方程的切线逼近根的位置。

设f(x)为非线性方程,在初始点x0附近取切线方程y=f'(x0)(x-x0)+f(x0),令切线方程的值为0,则可得到切线方程的解为x1=x0-f(x0)/f'(x0)。

重复这个过程直到满足精确度要求或迭代次数达到指定次数。

三、二分法二分法是一种简单而又直观的非线性方程求解方法。

它利用了连续函数的中间值定理,即若f(a)和f(b)异号,则方程f(x)=0在[a, b]之间必有根。

根据中值定理,我们可以取中点c=(a+b)/2,然后比较f(a)和f(c)的符号,若同号,则根必然在右半区间,否则在左半区间。

重复这个过程直到满足精确度要求或迭代次数达到指定次数。

四、割线法割线法是一种基于切线逼近的非线性方程求解方法,它与牛顿迭代法相似。

由于牛顿迭代法需要求解导数,而割线法不需要。

设f(x)为非线性方程,在两个初始点x0和x1附近取一条直线,该直线通过点(x0,f(x0))和(x1, f(x1)),它的方程为y=f(x0)+(f(x1)-f(x0))/(x1-x0)*(x-x0),令直线方程的值为0,则可得到直线方程的解为x2 = x1 - (f(x1)*(x1-x0))/(f(x1)-f(x0))重复这个过程直到满足精确度要求或迭代次数达到指定次数。

五、试位法试位法是一种迭代逼近的非线性方程求解方法。

它利用了函数值的变化率来逼近根的位置。

设f(x)为非线性方程,选取两个初始点x0和x1,然后计算f(x0)和f(x1)的乘积,如果结果为正,则根位于另一侧,否则根位于另一侧。

然后再选取一个新的点作为下一个迭代点,直到满足精确度要求或迭代次数达到指定次数。

非线性方程的五种解法

非线性方程的五种解法

1、问题描述用五种不同的方法解方程x-s-ulog10(x)=0,令s=1,u=2;则原方程变为x-1-2*log10(x)=0。

2、计算机性能配置描述I5 处理器、主频2.4GHz 、内存2GB、双核3、处理方法与结果分析Ⅰ、牛顿法算法描述:⒈迭代公式:x n+1=x n-f(x n)/f′(x n)反复做一下操作:⒉计算x1处的函数值为f1,导数值为f2⒊若f2=0,则显示导数为零的信息,break⒋x2=x1-f1/f2,k=k+1,err=│x2-x1│⒌若err<eps,则输入近似根x2与迭代次数k,break⒍若k=n,则显示迭代次数超限的信息,break设置精度eps=10^(-8)、设置最大迭代次数n=100。

当初始值x1=100时,方程的根root=1.00000000、花费时间timecost=8.4840s结果分析:牛顿迭代法的收敛特性依赖于初始值x1的选择。

另外,牛顿法需要求导,这无疑限制牛顿法的使用范围。

结果精度相对较高。

Ⅱ、弦截法算法描述:⒈迭代公式:x n+1=x n-f(x n)*( x n-x1)/(f(x n)-f(x1))⒉计算x1处的函数值为3.5,x2处的函数值为2反复做一下操作:⒊x k+1=x k-f(x k)*( x k-x1)/(f(x k)-f(x1)),k=k+1⒋若│x2-x1│<eps,则输出近似根x k+1,break⒌若k=n,则显示迭代次数超限的信息,break设置精度eps=10^(-8)、设置最大迭代次数n=100。

当初始值x(1) =3.5,x(2)=2时,方程的根root=1.000000026、花费时间timecost=118.0630s结果分析:不需要计算导数,但是收敛速度比较慢。

所求根的精度不是很高。

Ⅲ、快速弦截法算法描述:⒈迭代公式:x n+1=x n-f(x n)*( x n-x n-1)/(f(x n)-f(x n-1))⒉计算x1处的函数值为3.5,x2处的函数值为2反复做一下操作:⒊x3=x3-f( x2-x1)/(f(2)-f(1)),k=k+1⒋若│x3-x2│<eps,则输出近似根x3,break⒌若k=n,则显示迭代次数超限的信息,break算法描述:⒈迭代公式:x n+1=x n-f(x n)/f′(x n)⒉计算x1处的函数值为f1,导数值为f2⒊若f2=0,则显示导数为零的信息,break⒋x2=x1-f1/f2,k=k+1,err=│x2-x1│⒌若err<eps,则输入近似根x2与迭代次数k,break⒍若k=n,则显示迭代次数超限的信息,break设置精度eps=10^(-8)、设置最大迭代次数n=100。

非线性方程(组)的解法

非线性方程(组)的解法

lnim(bn
an )
lim
n
2n1
(b
a)
0
lim
n
an
lim
n
bn
x

x
cn
1 2
(an
bn
)为
x 的近似解。
7
二分法
迭代终止准则
an - bn

x - cn
bn an 2
2
8
2.2一般迭代法
2.2.1 迭代法及收敛性
对于 f (x) 0 有时可以写成 x (x) 形式 如: x3 x 1 0 x 3 x 1
12
例题
例2.2.1 试用迭代法求方程 f (x) x3 x 1 0
在区间(1,2)内的实根。 解:由 x 3 x 1建立迭代关系
xk1 3 xk 1 k=0,1,2,3…… 计算结果如下:
13
例题
精确到小数点后五位
x 1.32472 1 105
2
14
例题 但如果由x x3 1建立迭代公式
xk1 xk3 1 k 1,2,...
仍取 x0 1.5,则有 x1 2.375 ,x2 12.39 显 然结果越来越大,{xk }是发散序列
15
2.3 Newton迭代法
设x*是方程f (x) = 0的根, 又x0 为x* 附近的一个值,
将f (x) 在x0 附近做泰勒展式:
f (x)
二分法
用二分法(将区间对平分)求解。

a1
a, b1
b, c1
1 2
(a1
b1 )
若 f (a1) f (c1) 0,则[a1, c1] 为有根区间,否 则 [c1,b1]为有根区间

非线性方程的求解方法

非线性方程的求解方法

非线性方程的求解方法非线性方程是数学中的基本概念,对于许多科学领域而言,非线性方程的求解具有重要的意义。

然而,与线性方程相比,非线性方程的求解方法较为复杂,因此需要掌握一些有效的解法。

本文将介绍几种非线性方程的求解方法。

一、牛顿迭代法牛顿迭代法也叫牛顿-拉夫逊迭代法,是一种求解非线性方程的有效方法。

该方法的基本思路是,选择一个初始值,通过迭代计算不断逼近非线性方程的根。

牛顿迭代法的公式为:$$x_{n+1}=x_n-\frac{f(x_n)}{f'(x_n)}$$其中,$f(x)$表示非线性方程,$f'(x)$表示$ f(x) $的一阶导数。

牛顿迭代法的优点在于速度快,迭代次数少,但其局限性在于收敛性受初始点选取的影响较大。

二、割线法割线法(Secant method)也是一种求解非线性方程的有效方法。

与牛顿迭代法不同,割线法使用的是两个初始值,并根据两点间的连线与$ x $轴的交点来作为新的近似根。

割线法的公式为:$$x_{n+1}=x_n-\frac{f(x_n)(x_n-x_{n-1})}{f(x_n)-f(x_{n-1})}$$割线法的优势是不需要求解导数,但其缺点在于需要两次迭代才能得到下一个近似根,因此计算量较大。

三、二分法二分法(Bisection method)是求解非线性方程的另一种有效方法。

该方法的基本思路是找到非线性方程的一个区间,使函数值在该区间内的符号相反,然后通过逐步缩小区间,在区间内不断逼近非线性方程的根。

二分法的公式为:$$x_{n+1}=\frac{x_n+x_{n-1}}{2}$$其中,$x_n$和$x_{n-1}$是区间的端点。

二分法的优点在于收敛性稳定,但其缺点在于迭代次数较多,因此计算量也较大。

四、弦截法弦截法(Regula Falsi method)也是一种求解非线性方程的有效方法。

它和二分法类似,都是通过缩小根所在的区间来逼近根。

不同之处在于,弦截法不是以区间中点为迭代点,而是以区间两个端点之间的连线与$ x $轴的交点为迭代点。

高等代数中的非线性方程组 求解方法与案例

高等代数中的非线性方程组 求解方法与案例

高等代数中的非线性方程组求解方法与案例高等代数中的非线性方程组求解方法与案例一、引言非线性方程组在数学和科学工程领域中具有重要的理论和实际应用价值。

本文将介绍一些常用的非线性方程组求解方法,并通过案例来展示这些方法的应用。

二、牛顿法牛顿法是一种经典的非线性方程组求解方法。

该方法利用函数的导数信息进行迭代,通过不断逼近方程组的解。

其迭代公式如下:假设方程组为 F(x) = 0,初始解为 x_0,则迭代公式为:x_{n+1} = x_n - J_F(x_n)^{-1} * F(x_n)其中,J_F(x_n) 表示 F(x_n) 的雅可比矩阵。

三、割线法割线法是一种迭代求解非线性方程组的方法。

该方法使用方程组中两个初始解点之间的割线来逼近方程组的解。

其迭代公式如下:假设方程组为 F(x) = 0,初始解为 x_0 和 x_1,则迭代公式为:x_{n+1} = x_n - \frac{F(x_n) * (x_n - x_{n-1})}{F(x_n) - F(x_{n-1})}四、二分法二分法是一种简单且可靠的非线性方程组求解方法。

该方法利用方程组在区间两端点函数值异号的性质,在区间内部寻找解。

其迭代公式如下:假设方程组为 F(x) = 0,在区间 [a, b] 内满足 F(a) * F(b) < 0,迭代公式为:x_{n+1} = \frac{a_n + b_n}{2}五、案例分析假设有如下非线性方程组:x^2 + y^2 = 10x + y = 5我们将使用上述介绍的三种方法来求解该方程组。

1. 牛顿法求解:首先,我们需要计算方程组的雅可比矩阵:J_F(x, y) = [[2x, 2y],[1, 1]]给定初始解 x_0 = (1, 4),按照牛顿法的迭代公式进行迭代计算,直到满足收敛条件。

2. 割线法求解:给定初始解 x_0 = (1, 4) 和 x_1 = (2, 3),按照割线法的迭代公式进行迭代计算,直到满足收敛条件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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阶线性方程组。

为了评价非线性方程组不同迭代法的优劣,通常用效率作为衡量标准,其中P为迭代法的收敛阶,W为每迭代步计算函数值ƒi及偏导数值的总个数(每迭代步中求一次逆的工作量相同,均不算在W 内)。

效率e越大表示此迭代法花费代价越小,根据效率定义,牛顿法(2)的效率为。

牛顿法有很多变形,如当奇异或严重病态时,可引进阻尼因子λk,得到阻尼牛顿法,即式中I是单位矩阵。

牛顿法是局部收敛方法,因而对初始近似尣0限制较严,为放宽对尣0的要求,扩大收敛范围,通常可引进松弛因子ωk,得到牛顿下降法:(3)式中ωk的选择应使成立。

为减少解线性方程组次数,提高效率,可使用修正牛顿程序(4)这种算法也称为萨马斯基技巧,它的收敛阶为 p =m+1,由尣k计算的工作量为W=n2+m n,于是该法的效率。

当n=10,m=7时,当n =100,m=37时,,由此看到修正牛顿法(4)比牛顿法效率高,且m 越大效果越明显。

在计算机上往往采用不计算偏导数的离散牛顿法,即(5)式中,其中e j为基向量,,若取,则(5)仍具有2阶收敛速度。

其效率与牛顿法相同。

若在牛顿法(2)中解线性方程组不用直接法,而采用迭代法则得到一类解非线性方程组的双重迭代法。

按解线性方程组采用的方法不同就得到不同名称的迭代法,如牛顿-赛德尔迭代法,牛顿-SOR迭代法,牛顿-ADI迭代法,等等。

这些方法都具有超线性收敛速度,工作量也比牛顿法大,除了对某些特殊稀疏方程组外,通常用得校少。

若将解线性方程组迭代法的思想直接用于非线性方程组(1),然后把(1)化为一维方程求解,可得到另一类双重迭代法,由于采用的迭代法与解一维非线性方程的方法不同,则得到不同的双重迭代法。

如果利用SOR迭代法后再用牛顿法解一维方程则得SOR-牛顿迭代法,在牛顿法中只计算一步而不进行迭代,则得一步的SOR-牛顿迭代,其计算公式可表示为式中记号嬠iƒi表示;ω为迭代参数,当ω=1时就是赛德尔-牛顿迭代法,这类方法对解维数高的稀疏的非线性方程组是有效的。

非线性方程组数值解法 - 割线法若对方程组 (1)线性化时使用插值方法确定线性方程组(6)中的A k和b k,则可得到一类称为割线法的迭代序列。

假定已知第k步近似尣k,为确定A k和b k,可在尣k附近取n个辅助点у忋(j=1,2,…,n),使n个向量线性无关,由插值条件可知由此可求得由(6)解得以此作为方程 (1)的新近似,记作,于是得到(7)(7)称为解非线性方程组的割线法。

辅助点у忋取得不同就得到不同的割线法程序,例如取为常数(j=1,2,…,n),就得到与(5)相同的程序,由于它只依赖于尣k点的信息,故也称一点割线法,若取它依赖于点尣k及, 称为两点割线法。

其他多点割线法由于稳定性差,使用较少。

非线性方程组数值解法 - 布朗方法布朗采用对每个分量方程ƒi(尣)=0逐个进行线性化并逐个消元的步骤,即在每迭代步中用三角分解求线性方程组的解,得到了一个效率比牛顿法提高近一倍的迭代法,即式中(8)中当i=n时求得x n记作,再逐次回代,求出(i=n-1,n-2,…,1)就完成了一个迭代步。

布朗迭代程序的敛速仍保持p=2,而每一迭代步的工作量,故效率对这方法还可与牛顿法一样进行改进,得到一些效率更高的算法。

这类方法是70年代以来数值软件包中常用的求解非线性方程组的算法。

非线性方程组数值解法 - 拟牛顿法为减少牛顿法的计算量,避免计算雅可比矩阵及其逆,60年代中期出现了一类称为拟牛顿法的新算法,它有不同的形式,常用的一类是秩1的拟牛顿法,其中不求逆的程序为式中,,,称为逆拟牛顿公式。

计算时先给出尣0及B0,由(9)逐步迭代到满足精度要求为止。

每步只算n个分量函数值及O(n2)的计算量,比牛顿法一步计算量少得多。

理论上已证明,当尣0及B0选得合适时,它具有超线性收敛速度,但实践表明效率并不高于牛顿法,理论上尚无严格证明。

非线性方程组数值解法 - 最优化方法求方程组 (1)的问题等价于求目标函数为的极小问题,因此可用无约束最优化方法求问题(1)的解(见无约束优化方法)。

非线性方程组数值解法 - 连续法又称嵌入法,它可以从任意初值出发求得方程组(1)的一个足够好的近似解,是一种求出好的迭代初值的方法。

连续法的基本思想是引入参数t∈【0,b】,构造算子H(尣,t),使它满足条件:H(尣,0)=ƒ0(尣),H(尣,b)=ƒ(尣),其中ƒ0(尣)=0的解尣0是已知,方程:(10)在t∈【0,b】上有解尣=尣(t),则尣(b)=尣*就是方程(1)的解。

当b有限时,通常取b=1,例如可构造。

(11)这里尣0是任意初值,显然H(尣0,0)=0,H(尣,1)=ƒ(尣)。

为了求得(10)在t=1的解尣*=尣(1),可取分点0=t0<t1<…<t N=1在每个分点t i(i=1,2,…,N)上,求方程组H(尣,t i)=0 (i=1,2,…,N) (12)的解尣i,如果取尣i-1为初值,只要足够小,牛顿迭代就收敛,但这样做工作量较大。

已经证明,如果方程组(12)只用一步牛顿法,当t=t N=1时,再用牛顿迭代,结果仍具有2阶收敛速度。

以(11)为例,得到连续法的程序为:若H(尣,t)的偏导数H t(尣,t)及在D×【0,1】嶅R上连续。

且非奇异,则由(10)对t求导可得到等价的微分方程初值问题:(13)于是求方程(10)的解就等价于求常微初值问题(13)的解,求(13)的解可用数值方法由t=0计算到t=t N=b得到数值解。

已经证明只要N足够大,以尣N为初值再进行牛顿迭代可收敛到方程(1)的解x*,这种算法称为参数微分法。

20世纪60年代中期以后,发展了两种求解非线性方程组(1)的新方法。

一种称为区间迭代法或称区间牛顿法,它用区间变量代替点变量进行区间迭代,每迭代一步都可判断在所给区间解的存在惟一性或者是无解。

这是区间迭代法的主要优点,其缺点是计算量大。

另一种方法称为不动点算法或称单纯形法,它对求解域进行单纯形剖分,对剖分的顶点给一种恰当标号,并用一种有规则的搜索方法找到全标号单纯形,从而得到方程(1)的近似解。

这种方法优点是,不要求ƒ(尣)的导数存在,也不用求逆,且具有大范围收敛性,缺点是计算量大。

[1]非线性方程组数值解法feixianxing fangchengzu shuzhi jiefa非线性方程组数值解法numerical method of system of nonlinear equation个变量个方程( >1)的方程组表示为[198-1] (1)式中(,,…,)是定义在维欧氏空间的开域上的实函数。

若中至少有一个非线性函数,则称(1)为非线性方程组。

在R中记 [198-2]f=[198-3][198-03]则(1)简写为f()=0。

若存在[xin][kg2][kg2],使f([xin])=0,则称[xin]为非线性方程组的解。

方程组(1)可能有一个解或多个解,也可能有无穷多解或无解。

对非线性方程组解的存在性的研究远不如线性方程组那样成熟,现有的解法也不象线性方程组那样有效。

除极特殊的方程外,一般不能用直接方法求得精确解,目前主要采用迭代法求近似解。

根据不同思想构造收敛于解[xin]的迭代序列{}(=0,1,…),即可得到求解非线性方程组的各种迭代法,其中最著名的是牛顿法。

牛顿法及其变形牛顿法基本思想是将非线性问题逐步线性化而形成如下迭代程序:[198-5] (2)式中[198-6]是f()的雅可比矩阵,是方程(1)的解[xin]的初始近似。

这个程序至少具有2阶收敛速度。

由算到(的步骤为:①由算出f()及[198-7];②用直接法求线性方程组[198-8]的解;③求[198-9]。

由此看到迭代一次需计算个分量函数值和个分量偏导数值,并求解一次阶线性方程组。

为了评价非线性方程组不同迭代法的优劣,通常用效率[198-10]作为衡量标准,其中为迭代法的收敛阶,为每迭代步计算函数值及偏导数值[198-11]的总个数(每迭代步中求一次逆的工作量相同,均不算在内)效率越大表示此迭代法花费代价越小,根据效率定义,牛顿法(2)的效率为[199-1]。

牛顿法有很多变形,如当[199-2]奇异或严重病态时,可引进阻尼因子,得到阻尼牛顿法,即[199-3]式中是单位矩阵。

牛顿法是局部收敛方法,因而对初始近似限制较严,为放宽对的要求,扩大收敛范围,通常可引进松弛因子,得到牛顿下降法:[199-4] (3)式中的选择应使[199-5]成立。

为减少解线性方程组次数,提高效率,可使用修正牛顿程序[199-6] (4)这种算法也称为萨马斯基技巧,它的收敛阶为 p =+ 1,由计算 [199-44]的工作量为 =+,于是该法的效率[199-7]。

相关文档
最新文档