迭代方程论文(精选7篇)
迭代方程论文 篇1
0引言
其中A, B为正规矩阵, Q为Hermite正定阵.讨论求解方程组Hermite正定解迭代的收敛性。
定理:若A, B, Q满足引理 (1) 中所有条件, 且Q>1, ||A||2 (||Q||+||A||2) m-1<1/m那么方程组 (1)
存在Hermite正定解 (X, Y) , 且满足
其中q=nm||A||2||B||2 (||Q||+||A||2) m-1 (||Q||+||B||2) n-1其中, s=0, 1, 2…由迭代 (2) 产生。
证明:对于X1, Y1, 有
由假设可知
综上, 有
至此, 序列单调且有下界。下证序列有共同极限。
摘要:讨论了求解方程组{X-A*Y-nA=Q Y-B*Y-mA=Q Hermit正定解的迭代方法。
关键词:非线性矩阵方程组,Hermit正定解,迭代,收敛
参考文献
[1]Asmaa M.Al-Dubiban.Iterative Algorithmfor Solvinga Systemof Nonlinear Matrix Equations[J].Journal of Applied Mathematics, 2012, 2012:1-15.
[2]高东杰.矩阵方程的正定解[J].信息系统工程, 2010 (11) :134-135.
[3]高东杰, 张玉海.矩阵方程的正定解[J].计算数学, 2007, 29 (1) :73-80.
迭代方程论文 篇2
一阶迭代泛函微分方程的解析解
讨论了一类迭代泛函微分方程解析解的存在性,通过构造一个辅助方程的`幂级数解来给出该方程的解析解.
作 者:刘静 LIU Jing 作者单位:滨州学院数学与信息科学系,滨州,256603;山东大学数学与系统科学院,济南,250100 刊 名:科学技术与工程 ISTIC英文刊名:SCIENCE TECHNOLOGY AND ENGINEERING 年,卷(期): 8(19) 分类号:O175 关键词:迭代泛函微分方程 解析解 复数域一阶迭代泛函微分方程的解析解 篇3
关键词:迭代泛函微分方程,解析解,复数域
文献[1]研究了迭代微分方程的解析解的存在性。文献[2]研究了迭代微分方程在a≠0,b≠0且b≥1下的解析解的存在性。本文将在复数域上讨论更一般的迭代泛函微分方程
的解析解的存在性,(1)式中x(z) 表示未知复函数, f (z) , p(z) 是已知的含复变量的复函数,且假设b≥1。
为进一步找到方程(1)的解析解,先讨论它的辅助方程
的解析解y(z) ,这里f(z) , p(z) ,β满足下列条件
(H1) f(z),p(z)在原点的某邻域内是解析的,且
(H2) 0<|β|<1;
(H3) |β|=1,但β不是单位根,且存在某正常数k ,使得ln|βn-1|-1≤klnn,n=2,3….最终将证明方程(1)在原点的邻域内有形如
的解析解。
1 辅助方程(2)的解析解
引理1[3] 若条件(H3) 满足,则存在δ> 0 ,使|βn-1|-1< (2n)δ (n=1, 2 ,…) ,且对序列d1 =1 和
dn≤Nn-1n-2δ,n=1,2…。
其中N=25δ +1。
定理1 假设条件(H1)和(H2) 成立,则对任意非平凡复数η,方程(2)在原点的某邻域内存在解析解y(z) ,使y (0)=0,y′(0) =η。
证明 因为f(z),p(z)满足(H1),于是设
则必存在ρ>0[4] ,使
下设方程(2)有一个形式幂级数解
将(4)式,(5)式和(7)式代入(2)式,并比较两边的系数得
(f0(β-p1)-b)c1=0 (8)
n=2,3,…. (10)
由条件(H1)知,
首先,当(H1), (H2) 满足时,总存在极限
定义正项序列
用数学归纳法易证:
因此函数V = V(z) 是由隐函数方程
所确定的函数。考虑到函数 F(z,V) 在原点的邻域内是连续的,且F (0,0) = 0,F′V(0,0)=1≠0。根据隐函数定理,必存在 δ>0 ,使对|z|<δ ,幂级数V=V(z) 收敛。由此可见,由式(8)、式(9)、式(10)所确定系数的幂级数(7)式就是方程(2)在原点的邻域内的解析解。证毕。
定理2 假设条件(H1) 和(H3) 成立,则对任意非平凡复数η,方程(2)在原点邻域内存在解析解y(z),使y(0)=0,y′(0)=η。
证明 如同定理1的证明,由(8)式可取c1=η≠0,而 cn(n=2,3,… )可由递推公式(9)和式(10)所确定,因此可得方程(2)的形如(7)式的形式幂级数解。现在只需证明(7)式有正的收敛半径即可。
由条件(H3),(9)式和
n=2,3…。 (11)
现在来构造(7)式的优级数。定义序列{un }∞n=1,其中
应用数学归纳法不难证明
这说明级数
利用数学归纳法,根据引理1很容易的证明
un+1≤qn+1dn+1, n=0,1… (12)
其中序列{dn}∞n=1如引理1所定义。
类似于定理1的证明,易得
所确定考虑到函数H(z,Q ) 在原点邻域内连续,且H(0,0)=0,H′Q(0,0)=1≠0。根据隐函数定理,必存在δ>0 ,使对|z|<δ,幂级数
2 主要结果
定理3 如果定理1的条件成立,则方程(1) 在原点的邻域内存在解析解
证明 由定理1能求出形如(7)式在原点邻域内的解析解y(z) ,其中系数cn(n=1,2,3,…)由(8)式,(9)式和(10)式所确定。因为y′(0)=η≠0,所以y-1 (z) 在y(0) =0的邻域内为解析的。因此有
而
所以
定理4 设定理2的条件成立 , 则方程 (1) 在原点的邻域内也存在解析解
证明 类似于定理3的证明。
注1 现在由(3)式来构造方程(1)的解析解。由于
且
通过对方程(1)两边继续求导,可得到
…,
因此对于高阶导数x(m)(z)在z=ξ = 0 的值能通过求导逐一求出,可设x(m) (ξ)=λm,于是
参考文献
[1]Mchiernan M A.The functional differential equationDf=1ff.Proc Amer Math Soc,1957;8:230—233
[2]李同荣,张吉庆,邱芳.一阶迭代泛函微分方程的解析解.数学的实践与认识,2007;37:208—212
[3]Siegel C L.Iterative of analytic function.Ann of Math,1942;43(4):607—612
迭代方程论文 篇4
由实际问题建立起来的数学模型,经过线性化处理后,可以获得一个线性方程组Ax=b。然而很多情况下,这样的线性方程组所对应的系数矩阵是病态的,而这样的方程组称之为病态线性方程组。对于病态线性方程组,A和(或)b如果存在一个小的扰动δA和(或)δb,则会对解产生比较大的误差。误差放大的倍数用系数矩阵的条件数cond(A)来衡量:cond(A)=‖A-1‖‖A‖。假定只考虑δb对解的影响,则有
式(1)中:‖‖为向量或矩阵的某种范数。从式(1)中可见,cond(A)越大,则由方程组右端项变化引起的解向量的相对误差就越大。当系数矩阵严重病态时,cond(A)>>1,则被严重放大。
针对病态线性方程组求解的收敛速度慢、数值解精度低的问题,很多研究人员提出了不同的方法予以求解,如共轭向量基算法[1]、混合算法[2]、带有预处理的遗传算法[3]、预处理共轭梯度法[4]。文献[1]提出的算法需要构造出共轭向量基以及对应系数,算法收敛速度低于共轭方向法。文献[2]提出的算法是结合了BFGS算法优良的局部搜索能力和模拟退火算法全局搜索能力的混合算法,用模拟退火过程帮助BFGS算法跳出局部极小值点而达到全局最优解,提高了数值解的精度,但是模拟退火算法收敛速度过于缓慢。文献[3]通过对病态矩阵进行预处理,寻找一个对角矩其中:Si=max|aij|(i=1,2,…,n)左乘病态矩阵,将原病态矩阵转换为相对良态矩阵。但是,根据笔者以100阶的Hilbert矩阵实算,矩阵的条件数没有明显地降低。文献[4]中提出的算法需要构造一个左预条件矩阵M,要求病态矩阵必须为对称正定,而且构造矩阵M相对比较复杂。本文采用的方法是先对病态矩阵采用主元加权预处理,降低系数矩阵的条件数,再由预处理来构成一个简单迭代公式,称之为主元加权迭代公式,根据该公式设计出主元加权迭代算法,即PEWI算法。
2 病态矩阵预处理
病态矩阵预处理的目的是降低病态矩阵的条件数,以提高算法收敛速度和数值解的精度。目前,预处理的方法主要有如下几种[5]。
2.1 对角预处理法
若A是严格对角占优的矩阵,则可以选择M=(a1 1,a2 2,…,ann)为预处理矩阵。若A是分块对角阵,则可以选择M=(A11,A22,…,Ann)为预处理矩阵。但是这种方式对收敛的速度和解的精度提高效果一般来说并不明显。
2.2 不完全分解预处理法
主要有不完全LU分解,不完全Cholesky分解和块不完全分解。
2.3 矩阵分解
此方法的基本思想是:将A分裂为A=P-Q,通过矩阵P和Q来构造预处理矩阵M。一般的做法是取线性稳定迭代法中相应的A的分裂。比如Jacobi分裂,P=diag(A),Guass-Seidel分裂,P=diag(A)-L,L是A的严格下三角部分。
本文采用主元加权方法,改善病态矩阵条件数,形式如下:
式(2)中:E为n阶单位矩阵,A为n阶正定方阵。下面讨论矩阵A+αE的条件数改善问题。
定义对于正定对称矩阵A,当α>0时,则cond(A+αE)<cond(A)。
证明设λi为矩阵A+αE其中的第i个特征值,λ'i为矩阵A的第i个特征值,则有
比较公式(3)与公式(4),则有
因为α>0,所以αE为正定阵。根据已知条件A为对称正定阵,所以A+αE亦为对称正定阵。对称正定矩阵A的条件数与A的最大特征值与最小的特征值满足如下关系[6]。
所以cond(A+αE)<cond(A)。证毕。
主元加权方法是否有效的关键是确定权因子α。如果α取值过小,对矩阵A的条件数改善效果不明显,则A仍严重病态,因而解的精度低;如果α的取值过大,收敛速度则会变慢,甚至解会失真。文献[4]中通过大量的实验,给出了经验估计公式。然而该公式只能针对具体的系数矩阵,不具有通用性。笔者也是根据文中所处理的系数矩阵,在matlab经过多次计算后确定α取2。
3 主元加权迭代算法设计
本文所处理病态线性方程组为如下形式:
式(7)中:系数矩阵A为n阶的Hilbert矩阵,其元素右端项b由给定的一组真解x=(1,1,…,1)T带入方程组(7)中所获得。将方程组(7)的主元叠加一个权值来改善条件数,则得到与方程组(7)同解的另一种形式:
由于方程组(8)两端分别含有解向量x,则可构造迭代公式(9)。
令x(k+1)=x(k)+e(k),则
显然,要想使x(k+1)收敛到方程组(7)的最优解,只需使e(k)→0,则x(k+1)→方程组(7)的最优解。实际计算时,取e(k)的2范数达到某个设定的精度即可。
4 数值实验及分析
在matlab环境中,将系数矩阵进行主元加权预处理降低系数矩阵条件数后,分别使用主元加权迭代法、雅克比迭代法、高斯-赛德尔迭代法对方程组(7)进行了求解。算法耗时和精度对比实验结果如表1所示。
观察表1得出:雅克比迭代法只能处理系数矩阵为良性的线性方程组,对于病态线性方程组,雅克比迭代法是不能求解的,因为10阶的Hilbert矩阵的条件数达到了1.6×1013,已经严重病态。高斯-赛德尔迭代法可以对病态线性方程组求解,但是解的误差要远远大于本文设计的PEWI算法。然而当系数矩阵的阶数比较大时,PEWI算法的收敛速度会快速地降低。当系数矩阵阶数等于500时,PEWI算法的运行耗时达到80.95 s,远远大于高斯-赛德尔迭代法。因此,对于高阶的系数矩阵,从算法收敛速度来衡量,PEWI算法不如高斯-赛德尔迭代法,但是数值解的精度却远远高于高斯-赛德尔迭代法。
5 结论
由于直接解法和迭代解法对严重病态线性方程组的求解所得到的数值解误差很大,甚至会失真,所以在应用算法求解之前先对病态系数矩阵进行预处理,降低其条件数,再使用某些算法求解就可以提高数值解的精度。本文使用主元加权对系数矩阵做预处理,在加权的同时就构成了一个简单迭代公式。基于此公式在matlab中对算法予以实现并进行了数值实验。通过与高斯-赛德尔迭代法和雅克比迭代法比较,PEWI算法对数值解的精度提高效果明显,只是在系数矩阵高阶时,收敛速度较慢。
参考文献
[1]郑洲顺,黄光辉.求解病态线性方程组的共轭向量基算法.山东大学学报(理学版),2008;43(10):1—5
[2]郑洲顺,黄光辉,杨晓辉.求解病态线性方程组的混合算法.贵州工业大学学报(自然科学版),2008;37(3):12—15
[3]赖鑫生,谭国律,周玉林.用遗传算法解大规模病态线性方程组.上饶师范学院学报,2006;26(6):85—88
[4]林胜良.病态线性方程组解法研究.杭州:浙江大学,2005
[5]曾光.线性方程组迭代法中的预处理技术研究.成都:电子科技大学,2008
迭代方程论文 篇5
当前教育改革和新课程的实施, 向教师提出了更高的要求, 教师不但要具备广博的知识和出色的教育教学工作能力, 还必须具有创造性的研究能力.因此具有科研能力与创新能力的师资成为师范生培养的新标准, 《关于师范教育改革和发展的若干意见》中也明确指出:“要重视培养学生的科学思维、科学方法、动手能力和创造能力”, 故而, 师范专业必须“立足师范, 突出研究”.
作为师范类数学专业的基础课, 计算方法是集理论与实践于一身的一门学科, 它主要研究运用计算机解决数学问题的方法及其理论, 其中的理论与方法不仅在其它专业课程中常常运用, 而且在解决实际问题中也常常被用到, 本课程的基础是数学分析、线性代数以及微分方程等, 其特点是既有数学高度的抽象性与严密科学性, 又更加注重方法和解决实际问题的思想.因此, 学好本门课程对师范生的数学应用能力及科研创新能力有很大的提高.
笔者在大同大学数学与应用数学专业班上尝试了计算方法课程中方程组迭代法的实践教学改革, 在教学过程中, 注重算法构造思想的研究, 引导学生对算法进行分析, 鼓励学生大胆进行算法的设计与改进, 进行研究型学习, 培养学生的创新能力和科研能力.现予以简要阐述, 愿与同行共勉.
1注重线性方程组迭代法构造的基本思想
随着计算技术的发展, 计算机的存储量日益增大, 计算速度也迅速提高, 直接法 (如Gauss消去法、平方根法等) 在计算机上可以求解的线性方程组的规模也越来越大, 但直接法大多数均需对系数矩阵A进行分解, 因而一般不能保持A的稀疏性.而实际应用中, 特别是偏微分方程的数值求解时, 常常遇到的恰恰就是大型稀疏线性方程组的求解问题, 因此, 寻求能够保持稀疏性的有效算法就成为计算方法的一个非常重要的研究课题[1].
迭代法也称辗转法, 是一种不断用变量的旧值递推新值的过程, 迭代算法是用计算机解决问题的一种基本方法.它利用计算机运算速度快、适合做重复性操作的特点, 让计算机对一组指令 (或一定步骤) 进行重复执行, 在每次执行这组指令 (或这些步骤) 时, 都从变量的原值推出它的一个新值.
线性方程组的迭代法就是用某种极限过程去逐步逼近线性方程组精确解的方法, 具有需要计算机存储较少、程序设计简单、原始系数矩阵在计算过程中始终不变等优点, 因而吸引了不少的科研人员进行这方面的研究.考虑线性方程组
迭代法就是按照某种规则构造一个n维的向量序列{xn}, 使其极限向量x*是方程组 (1) 的精确解.经典的构造迭代序列的基本思想是:先将A做一简单的分裂:
其中要求M非奇异, 且使Mx=d容易求解.然后将方程组 (1) 改写为
即求解Ax=b转化为求解x=M-1Nx+M-1b, 由此构造迭代序列:
假若其收敛, 则其极限就是方程组 (2) 的解, 进而必是方程组 (1) 的解.基于这种思想, 不同的分裂方式就可构造出不同的迭代法.
2经典的迭代法[2]
将方程组 (1) 的系数矩阵A按其对角部分D、严格的下三角部分L和严格上三角部分U分裂为
1) 若取M=D和N=L+U, 就得到了Jacobi迭代法的迭代格式:
其中B=D-1 (L+U) 称为Jacobi迭代矩阵.
2) 若取M =D-L, N=U, 就得到了Gauss-Seidel迭代法的迭代格式:
其中G= (D-L) -1U称作Gauss-Seidel迭代矩阵.
3) 若取M=1/ωD-L, N=1/ωD-D+U, 其中ω>0为可选择的松弛因子, 就得到了SOR松弛迭代法的迭代格式:
其中Lω= (D-ωL) -1[ (1-ω) D+ωU]称作SOR松弛法迭代矩阵.
3经典迭代法的简单推导
在学习了教材中介绍的几种经典迭代法的基础上, 引导学生对它们的分裂方式进行观察分析, 提示学生将 (4) 、 (5) 及 (6) 式中的L与U进行互换, 发现对于Jacobi迭代法其迭代格式没有改变, 但是对于Gauss-Seidel迭代法和SOR方法, 就可以设计出新的迭代格式:
1) 若取M =D-U, N=L, 就得到了Gauss-Seidel迭代法的另一种迭代格式:
其中G′= (D-U) -1L与经典Gauss-Seidel迭代矩阵一致.进而结合 (5) 式可以设计出一个预估-校正系统的Gauss-Seidel迭代格式:
称为对称的Gauss-Seidel (SGS) 迭代法, 其迭代矩阵为G′G.
2) 若取M=1/ωD-L, N=1/ωD-D+L, 其中ω>0为可选择的松弛因子, 就得到了SOR松弛迭代格式:
其中迭代矩阵Uω= (D-ωU) -1[ (1-ω) D+ωL].进而, 同样可以设计出预估 -校正系统的SOR迭代格式:
称为对称的SOR (SSOR) 迭代法, 其迭代矩阵为UωLω.
注意, 在设计出新的格式后, 要告知学生所设计的格式的名称, 让同学们分享成功的喜悦, 进而激发学生的学习与探索热情.
4方法的进一步研究
在小小的喜悦之后, 告知学生SOR方法的实质为Gauss-Seidel方法的加速, 进一步引导学生分析M=1/ωD-L与N=1/ωD-D+U的结构, 做一定的推导后, 可以得到:
在得到这几个格式后, 可以进一步引导学生进行相关资料的查阅, 了解预条件迭代法等, 这里不再赘述.
5收敛性的研究
最后要强调, 由于迭代法是通过逐次迭代来逼近方程组的解, 因此, 由迭代法产生的向量序列{xk}的收敛性是构造迭代法时必须考虑的问题.
定义1若n阶矩阵B的特征值为λi (i=1, 2, …, n) , 称为B的谱半径.
定理1迭代公式 (3) 收敛的充分必要条件是谱半径ρ (M-1N) <1.
推论11) Jacobi迭代收敛的充要条件是ρ[D-1 (L+U) <1];
2) Gauss-Seidel迭代收敛的充要条件是ρ (G) =ρ[ (D-L) -1U]<1;
3) SOR迭代收敛的充要条件是ρ (Lω) =ρ{ (D-ωL) -1[ (1-ω) D+ωU) ]}<1.
定义2设A= (aij) n×n.
1) 如果A的元素满足:
称A为严格对角占优矩阵;
2) 如果A的元素满足:
且上式至少有一个不等式严格成立, 则称A为弱严格对角占优矩阵.
定义3设A= (aij) n×n (n≥2) , 如果存在置换矩阵P使
其中A11为r阶方阵, A22为n-r阶方阵 (1≤r<n) , 则称A为可约矩阵, 否则, 如果不存在这样的置换矩阵P使上式成立, 则称A为不可约矩阵.
定理2[2]如果A为严格对角占优矩阵或不可约弱对角占优矩阵, 则A为非奇异矩阵.
定理3[2]设Ax=b, 如果A为严格对角占优矩阵或不可约弱对角占优矩阵, 则有:
1) Jacobi迭代法与Gauss-Seidel迭代法均收敛;
2) 当0<ω≤1时, SOR迭代法收敛.
定理4[5]设Ax=b, 如果A为正定矩阵, 则有:
1) 当2D-A正定时, Jacobi迭代法收敛;
2) Gauss-Seidel迭代法收敛;
3) 当0<ω<2时, SOR和SSOR迭代法收敛.
定理5[4]设Ax=b, 如果A为严格对角占优矩阵或不可约弱对角占优矩阵, 则当0≤γ≤1且0<ω≤1时, AOR迭代法收敛.
定义4[6]若矩阵A= (aij) ∈Rn×n满足aii>0 (i=1, 2, …, n) , 且aij≤0 (i≠j) , 则称A为L-矩阵.
定理6[4]若A为L-矩阵, 则当0≤γ≤ω≤1 (ω≠0) 时, 解方程组 (1) 的AOR迭代法收敛的充分必要条件是方程组 (1) 的Jacobi迭代法收敛.
说明1) 一般地说, Gauss-Seidel迭代的效果要比Jacobi迭代好, 但情况并不总是这样, 有时Gauss-Seidel迭代比Jacobi迭代收敛得慢;甚至可以举出Jacobi迭代收敛但Gauss-Seidel迭代反而发散的例子.
2) 在某些特殊问题中SOR迭代法不收敛, 但依然可构造出收敛的SSOR迭代法;SOR迭代法的收敛速度对松弛因子ω的选择一般来说非常敏感, 而SSOR迭代法却不敏感.
6结语
线性方程组解法的研究一直是一个长盛不衰的话题, 相关的研究非常多, 但是待解决的问题也非常多, 例如SOR方法中, 因子ω的选取能够影响收敛速度, 但是如何选取ω, 目前只有对相容次序矩阵A的最佳因子由Young (1950) 给出了计算公式:
其中B是Jacobi迭代矩阵.而对于其它矩阵, ω的选取仍是一个问题.
教学中, 教师可以设置一个个“包袱”, 逐步引导学生进行探索, 也可以向学生推荐一些相关的书籍与文章, 使他们了解目前关于方程组求解的研究状况, 激发学生的学习兴趣与研究热情, 更好的培养学生的科研能力与创新能力.
摘要:针对迭代法的特点, 强调在线性方程组的教学中要注重探讨迭代法构造的思想, 引导学生进行迭代格式的设计, 开阔学生的视野, 激发学生的探索热情, 逐步提高学生的创新能力与研究能力.
关键词:师范生,迭代法,矩阵分裂,迭代矩阵,收敛性
参考文献
[1]徐树方, 高立, 张平文.数值线性代数 (第2版) [M].北京:北京大学出版社, 2013.
[2]李庆扬, 王能超, 易大义.计算方法 (第5版) [M].北京:清华大学出版社, 2008.
[3]唐玉超.关于JOR迭代法的收敛性[J].南昌大学学报 (工科版) , 2011, 33 (3) :285-289.
[4]A.Hadjimos.Accelerated overrelaxation method[J].Math.Comp., 1978, V32:149-157.
[5]徐树方.矩阵计算的理论与方法[M].北京:北京大学出版社, 1995.
[6]R.S.Varga, Matrix Iterative Analysis[M].Prentice-Hall, New Jersey, 1981.
迭代方程论文 篇6
1.根的隔离。即找出有根区域, 使得在一些小区间中方程只有一根 (或一对共轭复根) 以便获取各根的较粗糙的近似值。
2.近似根的精确化。即用求根的数值方法, 使求得的近似根逐步精确化, 直到获得一定精度的近似根。
一、二分法和牛顿迭代法的基本思想
1. 二分法。
一般地, 对于函数f (x) , 如果存在实数c, 当x=c时, 若f (c) =0, 那么把x=c叫做函数f (x) 的零点。解方程即要求f (x) 的所有零点。假定f (x) 在区间 (x, y) 上连续, 先找到a、b属于区间 (x, y) , 使f (a) , f (b) 异号, 说明在区间 (a, b) 内一定有零点, 然后求[f (a+b) /2], 现在假设f (a) <0, f (b) >0, a<b, ①如果[f (a+b) /2]=0, 该点就是零点。如果[f (a+b) /2]<0, 则在区间 ( (a+b) /2, b) 内有零点, 注: (a+b) /2>=a, 从①开始继续使用中点函数值判断。如果[f (a+b) /2]>0, 则在区间 (a, (a+b) /2) 内有零点, 注: (a+b) /2<=b, 从①开始继续使用中点函数值判断。这样就可以不断接近零点。通过每次把f (x) 的零点所在小区间收缩一半的方法, 使区间的两个端点逐步迫近函数的零点, 以求得零点的近似值, 这种方法叫做二分法。从以上可以看出, 每次运算后, 区间长度减少一半, 是线形收敛。另外, 二分法不能计算复根和重根。
2. 牛顿迭代法。
设r是f (x) =0的根, 选取x0作为r初始近似值, 过点 (x0, f (x0) ) 做曲线y=f (x) 的切线L, L的方程为y=f (x0) +f' (x0) (x-x0) , 求出L与x轴交点的横坐标x1=x0-f (x0) /f' (x0) , 称x1为r的一次近似值。过点 (x1, f (x1) ) 作曲线y=f (x) 的切线, 并求该切线与x轴交点的横坐标x2=x1-f (x1) /f' (x1) , 称x2为r的二次近似值。重复以上过程, 得r的近似值序列, 其中x (n+1) =x (n) -f (x (n) ) /f' (x (n) ) , 称为r的n+1次近似值, 上式称为牛顿迭代公式。解非线性方程f (x) =0的牛顿法是把非线性方程线性化的一种近似方法。把f (x) 在x0点附近展开成泰勒级数f (x) =f (x0) + (x-x0) f' (x0) + (x-x0) ^2*f'' (x0) /2!+…取其线性部分, 作为非线性方程f (x) =0的近似方程, 即泰勒展开的前两项, 则有f (x0) +f' (x0) (x-x0) =0设f' (x0) ≠0则其解为x1=x0-f (x0) /f' (x0) 这样, 得到牛顿法的一个迭代序列:x (n+1) =x (n) -f (x (n) ) /f' (x (n) ) , 记为:{x (n) }。此时, 当n趋于无穷大时, x (n) 就会逐渐逼近f (x) =0的根。
二、例证分析
1.对此非线性方程x3-50x2-6610=0在单独用二分法和牛顿迭代法时的效果都不显著。
实验的结果分析:
由此可见, 牛顿迭代法是一种特殊的迭代法, 用于求非线性方程单根时具有二阶收敛速度。但是, 牛顿法也有自己的缺点。如对初值要求苛刻, 而且还要求函数的导数。
综上所述, 显然, 通过将两种方法结合起来解决非线性方程的求解问题, 取得了显著地效果。迭代次数大大减少, 极大降低了计算的复杂性, 收到了很好的效果。
如何针对不同的方程构造不同的迭代公式, 如何降低对初值的依赖性和提高收敛的速度, 都是非线性方程求根问题中经常考虑的问题。本文通过对比两种算法的优劣, 得出了牛顿迭代法和二分法各自的特点, 并把两种方法结合起来, 先通过二分法找到合适的初始值, 然后再用牛顿法进行迭代运算, 大大节约了时间, 降低了计算复杂性。这也证实了把各种方法的长处结合起来, 来解决问题往往收到不错的结果。
作者简介:张晓勇 (1987-) , 男, 河南民权人, 在读研究生, 研究方向:计算数学中的系统建模与仿真。
摘要:本文基于计算机MATLAB和C语言编程去分析两者的计算复杂性, 并深入探讨了两种方法的优缺点。最后, 通过将两种方法结合起来解决非线性方程的求解问题, 取得了显著地效果。同时, 这也再次证明了方法组合解决问题的高效性。
迭代方程论文 篇7
关键词:数值分析,MATLAB,不动点迭代法
一、引言
数值分析是理工科院校重要的一门基础课程。其中, 非线性方程的求解是数值分析中重要的一个章节。常用的求解非线性方程的经典方法是不动点迭代法。同时, MATLAB作为高性能数值计算的软件, 在数值分析中的作用越来越重要, 因为很多数值计算需要通过MATLAB软件得以实现。在数值分析-MATLAB数值实验教学过程中, 我们发现部分学生对用不动点迭代法求解非线性方程的根, 并在MATLAB上实现算法难以理解和掌握。因此, 这就需要我们在教学时尽量以学生能理解的方式和方法进行授课。下面, 我们将结合在教学过程中遇到的实际数值计算的例子来探讨我们的教学方法。
二、不动点迭代法
在数值分析中解非线性方程f (x) =0问题的时候, 我们通常将它化为解其等价方程
方程 (1) 的根称为函数g (x) 的不动点。为了求g (x) 的不动点, 我们选取一个初始近似值, 令
以产生序列{xk}。
这一类迭代法称为不动点迭代法。一般, 用不动点迭代求解方程x=g (x) 的一个解的算法表示如下:
算法1:输入:初始值x0;误差容限tol;最大迭代次数m。输出:近似解p或失败信息。
step1对k=1, 2, , m做step2-step3;
step2 p←g (x0) ;
step3若, 则输出 (p) ;停机, 否则x0←p;
step4输出 (‘Method failed’) ;停机.
下面, 我们将用不动点迭代法来求解非线性方程的一个解, 并在MATLAB上实现算法。
实例:方程f (x) =x3+2x2-4在区间[1, 2]中有唯一根, 我们求其根。首先, 我们可以将它化为如下方程:x=g (x) =x-x3-2x2+4, 下面我们将求g (x) 的不动点。在MATLAB软件具体操作如下:
输入‘Enter’键, MATLAB软件将输出方程的解。此时, 我们会向学生解释上述MAT-LAB编程代码的含义。在上述编程中我们选取的初始值为1.5, 我们设的容限为10-9。下面, 我们将启发学生思考如下问题:
1. 还能不能设置其他函数g (x) , 构造等价方程x=g (x) , 将求f (x) =0解的问题转化为求解等价方程的根?
2. 若找到函数g (x) , 构建好等价方程x=g (x) , 怎么在MATLAB软件编程, 直接求根?
3. 若找到的函数g (x) 有很多个, 那么怎么衡量哪个g (x) 最优, 使得构造的等价方程x=g (x) 的根最接近于f (x) =0的真实解?
这三个问题实际是考核学生对用不动点迭代法求解非线性方程并在MATLAB实现算法本质的掌握程度。若学生能够解决第一个问题, 说明他们对构造等价方程知识掌握的比较牢固, 这需要一定的高等数学功底。比如, 有的学生可以构造出等价方程:
下面的问题是怎么在MATLAB软件编程, 从而直接求出方程的根?这就考核学生对MATLAB编程的掌握程度。要求学生观察和分析范例中的MATLAB程序, 初始值x0和误差容限tol可以自行设置, 对于等价方程x=g1 (x) 可以设定p= (2-x0^3/2) ^ (0.5) , 那么, MATLAB编程如下:
对于第三个问题, 我们选择最优函数g (x) 的标准是从迭代步数和精确度来衡量的, 即, 如果迭代步数越少精确度越高我们倾向选择这样的g (x) , 这就是在众多函数g (x) 时我们选择的准则。
三、总结
从上述实例可以发现用不动点迭代法求解非线性方程的根, 并在MATLAB上实现算法时, 首先要寻找函数g (x) 以便构造等价方程x=g (x) , 利用不动点迭代法的原理设计迭代序列, 选取初始值{xk}, 设定误差容限tol, 根据不同的函数g (x) 设置p, 最后用MATLAB软件编程, 从而算出方程的根。在这个知识点的教学中, 我们需要引导学生思考在本文第二节提到的三个问题。因为这三个问题贯穿了用不动点迭代法求解非线性方程根, 并在MATLAB上实现算法的整个过程, 也抓住了其本质。所以, 用不动点迭代法求解非线性方程的解, 并在MATLAB软件实现算法的教学重点实际就是需要掌握第二节提到的三个问题。
参考文献
[1]Scheid F.罗亮生, 包雪松, 王国英译.数值分析.北京:科学出版社, 2002.
[2]曹志浩, 张玉德, 李瑞遐.矩阵计算和方程求根.北京:人民教育出版社, 1979.