几种迭代计算方法

几种迭代计算方法
几种迭代计算方法

高斯-塞德尔迭代

数值计算迭代法

习题二 3、证明:当X 0=1.5时,迭代法X k+1=Xk +410和X k+1=21k X 310-都收敛于方程f(x)=x 3+4x 2-10=0在区间[1,2]内唯一实根x *,并分别用上述迭代法求满足于精度要求︱X k+1-X k ︱≤10-5的近似根。 解:证明:{先用迭代法求f(x)=x 3+4x 2-10=0的根。 (a )对x 3+4x 2-10=0变形有:4x 2=10-x 3 所以:X=21310X - 则相应的迭代公式为:X k+1=21k X 310- 取:X 0=1.5,根据计算可以看出看,我们认为得到的迭代序列是 收敛的。}(此行可忽略) { 由 f(x)=x 3+4x 2-10=0得迭代方程:X=21310X -=g (x ) 先证明在区间【1,2】上x=g (x )有实根。由于[1,2]上g ‘(x )存在,所以g (x )连续。作Q (x )=x-g(x),则Q(x)在[1,2]上也连续。由定理1条件2有:Q (1)=1-g (1)≤0,Q (,2)=1-g (2)≥0 故存在x *∈[1,2]使Q *(x )=0,即x *= Q *(x ) 又因为,x *是方程f(x)=x 3+4x 2-10=0在区间[1,2]内的唯一实根,(由定理一条件 2)对任意的x 0∈[1,2]时,X k ∈[1,2](k=0,1,2,3…) 因为:x *- X k+1=g (x *)-g (X k )=g ‘(h k )(x *- X k )故由条件1知: ︱X *-X k+1︱≤L ︱X *-X k ︱(k=0,1,2,3…)于是有:0≤︱X *-X k ︱≤L k ︱X *-X 0︱,0<L <1,立即可知:lim (k 趋于无穷)︱X *-X k ︱=0,从而lim (k 趋于无穷)X k= X *。所以当X 0=1.5时,迭代法X k+1=Xk +410和X k+1=21k X 310-都是由迭代法X k+1=g (X k )产生的迭代序列{ X k }收敛于方程f(x)=x 3+4x 2-10=0在区间[1,2]内唯一实 根x *。 正解如下: (1) (牛顿迭代法): 证明:对方程f(x)=x 3+4x 2-10=0在区间[1,2]内, (a ) f ‘(x)=3x 2+8x ,f ’‘(x)=6x+8,f ’‘(x)在区间[1,2]内连续; (b ) f (1)=-5,f (2)=14,f (1)f (2)<0; (c ) 对于任意的x ∈[1,2],都有f ‘(x)=/(不等于)0; (d ) f ’‘(x)在[1,2]上保号; 综上所述,当X 0=1.5时,迭代法X k+1=Xk +410和X k+1=21k X 310-都收敛于方程f(x)=x 3+4x 2-10=0在区间[1,2]内唯一实根x *。 (2)用牛顿迭代法求近似根。 方程f(x)=x 3+4x 2-10=0有唯一实根x *∈[1,2],容易验证,f(x)=x 3+4x 2-10在[1,2]

【良心出品】不动点迭代法matlab程序

实验四 姓名:木拉丁。尼则木丁班级:信计08-2 学号:20080803405 实验地点:新大机房 实验目的:通过本实验学习利用MATLAB不动点迭代法,抛物线法,斯特芬森迭代法解非线性方程组,及其编程实现,培养编程与上机调试能力。 实验要求:①上机前充分准备,复习有关内容,写出计算步骤,查对程序; ②完成实验后写出完整的实验报告,内容应该包括:所用的算法语言, 算法步骤陈述,变量说明,程序清单,输出计算结果,结果分析等等; ③用编好的程序在Matlab环境中执行。 迭代法 MATLAB程序: function pwxff(f,x0,x1,x2,d,n) f=inline(f); x(1)=x0; x(2)=x1; x(3)=x2; w1=(f(x(2))-f(x(3)))/(x(2)-x(3)); t1=(f(x(1))-f(x(3)))/(x(1)-x(3)); t2=(f(x(1))-f(x(2)))/(x(1)-x(2)); w2=1/(x(1)-x(2))*(t1-t2); w=w1+w2*(x(3)-x(2));

for k=3:n x(k+1)=x(k)-2*f(x(k))/(w+sqrt(w^2-4*f(x(k))*w2)); if abs(x(k+1)-x(k))

牛顿迭代法

牛顿迭代法 李保洋 数学科学学院信息与计算科学学号:060424067 指导老师:苏孟龙 摘要:牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法,即牛顿迭代法.迭代法是一种不断用变量的旧值递推新值的过程.跟迭代法相对应的是直接法或者称为一次解法,即一次性解决问题.迭代法又分为精确迭代和近似迭代.“牛顿迭代法”属于近似迭代法,本文主要讨论的是牛顿迭代法,方法本身的发现和演变和修正过程,避免二阶导数计算的Newton迭代法的一个改进,并与中国古代的算法,即盈不足术,与牛顿迭代算法的比较. 关键词:Newton迭代算法;近似求解;收敛阶;数值试验;中国古代数学; 九章算术;Duffing方程;非线性方程;收敛速度;渐进性 0 引言: 迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程,跟迭代法相对应的是直接法或者称为一次解法,即一次性解决问题.迭代法又分为精确迭代和近似迭代.“二分法”和“牛顿迭代法”属于近似迭代法. 迭代算法是用计算机解决问题的一种基本方法.它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值.具体使用迭代法求根时应注意以下两种可能发生的情况: (1)如果方程无解,算法求出的近似根序列就不会收敛,迭代过程会变成死循环,因此在使用迭代算法前应先考察方程是否有解,并在程序中对迭代的次数给予限制. (2)方程虽然有解,但迭代公式选择不当,或迭代的初始近似根选择不合理,也会导致迭代失败. 所以利用迭代算法解决问题,需要做好以下三个方面的工作: 1、确定迭代变量.在可以用迭代算法解决的问题中,至少存在一个直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量. 2、建立迭代关系式.所谓迭代关系式,指如何从变量的前一个值推出其下一个值的公式(或关系).迭代关系式的建立是解决迭代问题的关键,通常可以使用递推或倒推的方法来完成. 3、对迭代过程进行控制,在什么时候结束迭代过程?这是编写迭代程序必须考虑的问题.不能让迭代过程无休止地重复执行下去.迭代过程的控制通常可分为两种情况:一种是所需的迭代次数是个确定的值,可以计算出来;另一种是所需的迭代次数无法确定.对于前一种情况,可以构建一个固定次数的循环来实现对迭代过程的控制;对于后一种情况,需要进一步分析出用来结束迭代过程的条件. 1牛顿迭代法:

MAAB计算方法迭代法牛顿法二分法实验报告

姓名 实验报告成绩 评语: 指导教师(签名) 年 月 日 说明:指导教师评分后,实验报告交院(系)办公室保存。 实验一 方程求根 一、 实验目的 用各种方法求任意实函数方程0)(=x f 在自变量区间[a ,b]上,或某一点附近的实根。并比较方法的优劣。 二、 实验原理 (1)、二分法 对方程0)(=x f 在[a ,b]内求根。将所给区间二分,在分点 2a b x -=判断是否0)(=x f ;若是,则有根2a b x -=。否则,继续判断是否0)()(

+)(0x f 0))(('0=-x x x f 设0)('0≠x f ,则=x -0x )(') (00x f x f 。取x 作为原方程新的近似根1x ,然后将1x 作为0x 代入上式。迭代公式为:=+1 k x -0x )(')(k k x f x f 。 三、 实验设备:MATLAB 软件 四、 结果预测 (1)11x = (2)5x = (3)2x =0,09052 五、 实验内容 (1)、在区间[0,1]上用二分法求方程0210=-+x e x 的近似根,要求误差不超 过3105.0-?。 (2)、取初值00=x ,用迭代公式=+1 k x -0x )(') (k k x f x f ,求方程0210=-+x e x 的近似根。要求误差不超过3105.0-?。 (3)、取初值00=x ,用牛顿迭代法求方程0210=-+x e x 的近似根。要求误差 不超过3105.0-?。 六、 实验步骤与实验程序 (1) 二分法 第一步:在MATLAB 软件,建立一个实现二分法的MATLAB 函数文件如下: function x=agui_bisect(fname,a,b,e) %fname 为函数名,a,b 为区间端点,e 为精度 fa=feval(fname,a); %把a 端点代入函数,求fa fb=feval(fname,b); %把b 端点代入函数,求fb if fa*fb>0 error('两端函数值为同号'); end

新旧图幅编号

我国基本比例尺地形图分幅与编号的计算方法 韩丽蓉 (青海大学水电系,青海西宁 810016) 摘要:通过实例探讨了我国基本比例尺地形图分幅与编号的计算方法,此方法可以帮助使用者快速地由某点的经纬度值计算出高斯投影带带号和某比例尺地形图的图幅编号,在测绘工作中具有一定的实用性。 关键词:分幅;编号;六度带;中央子午线经度 中图分类号:K 99 文献标识码:B 文章编号:1006-8996(2006)06-0079-04 1 高斯分带投影 1.1 基本概念 在地理坐标中,经度是以经过英国格林威治天文台的子午面作为起算点(零度),自西向东逆时针至180°为东经,自东向西顺时针从0°至180°为西经,东、西经180°经线是重合的。地图投影是把不可展的 地球椭球体面上的经纬网,按照一定的数学法则转绘到平面上[1,2]。我国的8种国家基本比例尺地形图 (1:1000000~1:5000)中,除了1:1000000万地形图采用国际通用的正轴等角割圆锥投影外,其余7种国家基本比例尺地形图统一采用高斯投影。 高斯投影中限制长度变形的最有效方法是按一定经差将地球椭球面划分成若干投影带,通常投影分为六度带和三度带。分带时既要控制长度变形使其不大于测图误差,又要使带数不致过多以减少换带计算工作。我国1:500000~1:25000的比例尺地形图多采用六度带高斯投影,1:10000~1:5000的地形图采用三度带高斯投影。我国基本比例尺地形图的分幅与编号需要用到某地所在的1:1000000 地形图(经差6° )的中央子午线经度,故需计算该六度带的带号及中央子午线经度。1.2 投影带带号和中央子午线经度的计算方法 1.2.1 六度带 从格林威治零度经线起,每隔经差6°分为一个投影带,自西向东逆时针分带,全球依次编号为1,2, 3,……60,每带中间的子午线称为中央子午线[1,2]。 东半球从经度0°逆时针回算到东、西经180°,投影带号为1~30。假如知道东半球某地区的平均大地经度L 东,则其投影带带号M 东和中央子午线经度L 6东的计算公式为: M 东=[L 东Π6](取整数商)+1(有余数时);L 6东=(6M 东-3)° (东经)西半球投影带从东、西经180°逆时针回算到0°,投影带号为31~60,假如知道西半球某地区的平均大地经度L 西,则其投影带带号M 西和中央子午线经度L 6西的计算公式为: M 西=[(360°-L 西)Π6](取整数商)+1(有余数时)=[(180°-L 西)Π6](取整数商)+1(有余数时)+30;L 6西={360°-(6M 西-3)°}(西经) 1.2.2 三度带 自东经115°子午线起,每隔经差3°自西向东分带,依次编号为1,2,3,……120[1,2] 。 东半球有60个投影带,编号为1~60,假如知道东半球某地区的平均大地经度L 东,其投影带带号N 东和中央子午线经度L 3东的计算公式为: 收稿日期:2006-07-10 作者简介:韩丽蓉(1967—),女,撒拉族,青海循化人,副教授,硕士。第24卷 第6期2006年12月 青海大学学报(自然科学版)Journal of Qinghai University (Nature Science ) Vol 124No 16Dec 12006

线性方程组的迭代法及程序实现

线性方程组的迭代法及程序实现 学校代码:11517 学号:200810111217 HENAN INSTITUTE OF ENGINEERING 毕业论文 题目线性方程组的迭代法及程序实现 学生姓名 专业班级 学号 系 (部)数理科学系 指导教师职称 完成时间 2012年5月20日河南工程学院 毕业设计(论文)任务书 题目:线性方程组的迭代法及程序实现专业:信息与计算科学学号 : 姓名一、主要内容: 通过本课题的研究,学会如何运用有限元方法来解决线性代数方程组问题,特别是Gaussie-Seidel迭代法和Jacobi迭代法来求解线性方程组。进一步学会迭代方法的数学思想,并对程序代码进行解析与改进,这对于我们以后学习和研究实际问题具有重要的意义。本课题运用所学的数学专业知识来研究,有助于我们进一步掌握大学数学方面的知识,特别是迭代方法。通过这个课题的研究,我进一步掌握了迭代方法的思想,以及程序的解析与改进,对于今后类似实际问题的解决具有重要的意义。

二、基本要求: 学会编写规范论文,独立自主完成。 运用所学知识发现问题并分析、解决。 3.通过对相关资料的收集、整理,最终形成一篇具有自己观点的学术论文,以期能对线性方程组迭代法的研究发展有一定的实践指导意义。 4.在毕业论文工作中强化英语、计算机应用能力。 完成期限: 2012年月指导教师签名:专业负责人签名: 年月日 目录 中文摘要....................................................................................Ⅰ英文摘要 (Ⅱ) 1 综述 1 2 经典迭代法概述 3 2.1 Jacobi迭代法 3 2.2 Gauss?Seidel迭代法 4 2.3 SOR(successive over relaxation)迭代法 4 2.4 SSOR迭代法 5 2.5 收敛性分析5 2. 6 数值试验 6 3 matlab实现的两个例题8 3.1 例1 迭代法的收敛速度8 3.2 例 2 SOR迭代法松弛因子的选取 12致谢16参考文献17附录19

数值计算_第4章 解线性方程组的迭代法

第4章解线性方程组的迭代法 用迭代法求解线性方程组与第4章非线性方程求根的方法相似,对方程组进行等价变换,构造同解方程组(对可构造各种等价方程组, 如分解,可逆,则由得到),以此构造迭代关系式 (4.1) 任取初始向量,代入迭代式中,经计算得到迭代序列。 若迭代序列收敛,设的极限为,对迭代式两边取极限 即是方程组的解,此时称迭代法收敛,否则称迭代法发散。我们将看到,不同于非线性方程的迭代方法,解线性方程组的迭代收敛与否完全决定于迭代矩阵的性质,与迭代初始值的选取无关。迭代法的优点是占有存储空间少,程序实现简单,尤其适用于大型稀疏矩阵;不尽人意之处是要面对判断迭代是否收敛和收敛速度的问题。 可以证明迭代矩阵的与谱半径是迭代收敛的充分必要条件,其中是矩阵的特征根。事实上,若为方程组的解,则有 再由迭代式可得到

由线性代数定理,的充分必要条件。 因此对迭代法(4.1)的收敛性有以下两个定理成立。 定理4.1迭代法收敛的充要条件是。 定理4.2迭代法收敛的充要条件是迭代矩阵的谱半径 因此,称谱半径小于1的矩阵为收敛矩阵。计算矩阵的谱半径,需要求解矩阵的特征值才能得到,通常这是较为繁重的工作。但是可以通过计算矩阵的范数等方法简化判断收敛的 工作。前面已经提到过,若||A||p矩阵的范数,则总有。因此,若,则必为收敛矩阵。计算矩阵的1范数和范数的方法比较简单,其中 于是,只要迭代矩阵满足或,就可以判断迭代序列 是收敛的。 要注意的是,当或时,可以有,因此不能判断迭代序列发散。

在计算中当相邻两次的向量误差的某种范数小于给定精度时,则停止迭代计算,视为方程组的近似解(有关范数的详细定义请看3.3节。) 4.1雅可比(Jacobi)迭代法 4.1.1 雅可比迭代格式 雅可比迭代计算 元线性方程组 (4.2) 写成矩阵形式为。若将式(4.2)中每个方程的留在方程左边,其余各项移到方程右边;方程两边除以则得到下列同解方程组: 记,构造迭代形式

不动点迭代法

中国矿业大学(北京)理学院 数值分析实验报告 实验名称 不动点迭代法求方程的近似根 实验时间 201年3月20日 组长签名 龙纯鹏 班级 信息与计算 科学(1)班 学号 11107200110 成绩 组员签名 11107200101 11107200102 11107200103 11107200119 11107200120 一、实验目的,内容 二、相关背景知识介绍 三、代码 四、数值结果 五、计算结果的分析 六、计算中出现的问题,解决方法及体会 一、实验目的,内容 5、先确定方程x e x 51= 的一个收敛的有根区间[a,b], 然后用不动点迭代法求x e x 5 1=在此有根区间的近似根,初值0x 自己确定,要求根精确到510-,并求迭代次数. ,掌握二分法,会编写相关代码。 二、相关背景知识介绍 (1)算法原理或计算公式 二分法的基本思路是通过计算隔根区间的中点,逐步将隔根区间缩小,从而可得方程 的近似根数列{}n x 。ε<-≤-+1*2 k k a b x x (2)程序设计思路 二分法原理: 不妨设方程0)(=x f 在隔根区间],[b a 上.0)(,0)(>+ b a f , 隔根区间变为]2 ,[b a a +.将新区间记为[]11,b a .

解线性方程组的几种迭代算法

解线性方程组的几种迭代算法 内容摘要: 本文首先总结了分裂法解线性方程组的一些迭代算法,在此基础上分别通过改变系数矩阵A的分裂形式和对SSOR算法的改进提出了两种新的算法,并证明了这两种算法的收敛性.与其它方法相比,通过改变系数矩阵A的分裂形式得到的新算法具有更好的收敛性,改进的SSOR算法有了更快的收敛速度.最后通过数值实例验证了这两种算法在有些情况下确实可以更有效的解决问题. 关键词: 线性方程组迭代法算法收敛速度 Several kinds of solving linear equations iterative algorithm Abstract: In this paper, we firstly summarize some Iterative algorithms of Anti-secession law solution of linear equations. Based on these, two new algorithms are put forward by changing the fission form of coefficient matrix A and improving the algorithm of SSOR, and the convergence of the two algorithms is demonstrated. Compared with other methods, the new algorithm acquired by changing the fission form of coefficient matrix A is possessed of a better convergence. And the improved SSOR algorithm has a faster convergence speed. Finally, some numerical examples verify that the two algorithms can solve problems more effectively in some cases. Key words: Linear equations Iteration method algorithm Convergence speed

不动点迭代法求解非线性方程组

不动点迭代法求解非线性方程组 摘要:一般非线性方程组可以写成()0F x =的形式,其中:n m F R R →是定义在区域 n D R ?上的向量函数。把方程组()0F x =改写成与之等价的形式:(x G x =)。因此,求 方程组()0F x =的解就转化为求函数的(G x )的不动点。本文首先介绍了多变量函数()F x 的微积分性质,接着介绍了用不动点迭代法求解非线性方程组。 关键词:多变量函数;微积分;不动点 Fixed Point Iteration Method For Solving Nonlinear Equations Abstract :General nonlinear equations can be written in the form of ()F x θ=, where the vector function :n m F R R →is defined on the region n D R ?. Transform the equations ()0F x = into its equivalent form: (x G x =).Therefore, we can get the solution of ()0F x = by finding the fixed point of (G x ).In this paper, we first introduce some knowledge about multivariable calculus, then introduce the fixed point iteration method for solving nonlinear equations. Key words: multi-variable function; calculus; fixed point 1 引言 一般非线性方程组及其向量表示法:含有n 个方程的n 元非线性方程组的一般形式为 11221212(,...,)0(,...,)0......(,...,)0 n n m n f x x x f x x x f x x x =??=?? ? ?=? (1) 其中,()1,2,...,i f i n =是定义在n D R ?上的n 元实值函数,且i f 中至少有一个是非线性 函数。 令12 ...n x x x x ?? ? ?= ? ???,()()()12()...m f x f x F x f x ?? ? ? = ? ? ?? ? ,则方程组可以表示为()F x θ= (2) 其中:n m F R R →是定义在区域n D R ?上的向量函数。若存在* x D ∈,使

不动点迭代法非线性方程求解

《MATLAB 程序设计实践》课程考核 1、编程实现以下科学计算算法,并举一例应用之。(参考书籍《精通MATLAB 科学计算》,王正林等著,电子工业出版社,2009年) “不动点迭代法非线性方程求解” 2、编程解决以下科学计算问题。 7.某工厂2005年度各季度产值(单位:万元)分别为:450.6、395.9、410.2、450.9,试绘制折线图和饼图,并说明图形的实际意义。 8.根据1252 2 22=-+ a y a x 绘制平面曲线,并分析参数a 对其形状的影响。 2.按要求对指定函数进行插值和拟合。 (1)按表 6.4用3次样条方法插值计算090~0范围内整数点的正弦值和 075~0范围内整数点的正切值,然后用5次多项式拟合方法计算相同的函数值, 并将两种计算结果进行比较。 (2)按表6.5用3次多项式方法插值计算1~100之间整数的平方根。 1、不动点迭代非线性方程求解 解:

算法说明: 在Matlab中编程实现不动点迭代法的函数为StablePoint 功能:用不动点迭代法求函数的一个零点。 调用格式:[root,n]=StablePoint(f,x0,eps)。 其中,f为函数名; x0为初始迭代向量; eps为根的精度; root为求出的函数零点; n为迭代步数。 流程图: 不动点迭代法的MATLAB程序代码: function [root,n]=StablePoint(f,x0,eps) %用不动点迭代法求函数f的一个零点 %初始迭代量:x0 %根的精度:eps %求出的函数零点:root

%迭代步数:n if(nargin==2) eps=1.0e-4; end tol=1; root=x0; n=0; while(tol>eps) n=n+1; r1=root; root=subs(sym(f),findsym(sym(f)),r1)+r1; %迭代的核心公式tol=abs(root-r1); end 实例: 20 x +-=的一个根。流程图: 解:在MATLAB命令窗口中输入程序代码: >>[r,n]=StablePoint('1/sqrt(x)+x-2',0.5) 结果输出:

图幅编号的计算

图幅编号的计算 经纬度(λ,φ) ,可按下式计算出1:100万比例尺的地形图图幅编号 a=[φ/4o]+1 b=[λ/6o]+31 某点经度为121o31‘30“,纬度为31o16‘40“,计算其所在1:100万比例尺地形图图幅的编号 a=[ 121o31‘30“/4o]+1=8 b=[31o16‘40“/6o]+31=51 由a可得出,其所对应的字符码为H 故该点所在1:100万比例尺地形图图幅的编号为H51 (31+16/60+40/3600)/4=31.2778/4=7.8194 已知图幅内某点的经纬度(λ,φ) ,可按下式计算出所求比例尺地形图在1:100万比例尺的地形图图号后的行号和列号 c=4o/△φ-[(φ/4o)/△φ] d=[(λ/6o)/△λ]+1 ( )——商取余;c——所求比例尺地形图的行号; [ ]——商取整;d——所求比例尺地形图的列号; φ——图幅内某点的纬度; λ——图幅内某点的经度; △φ——所求比例尺地形图分幅的纬差; △λ——所求比例尺地形图分幅的经差; 例:某点经度为121o31‘30“,纬度为31o16‘40“,计算其所在1:1万比例尺地形图图幅的编号 根据其所在1:100万比例尺图幅及其比例尺(1:10000),编号的前四位代码为H51G,然后按1:10000的分幅纬度差和经度差: △φ=2’30’’,△λ=3’45’’ (1:50万△φ=2o△λ=3o,1:20万40’,1o,1:10万20’,30’,1:5万10’,15’,1:2.5万5’,7’30’’,1:1万2’30’’,3’45’’) 计算其行号和列号(各三位): c=4/2’30’’-[(31o16‘40“/4)/2’30’’]=018 d=[(121o31‘30“/6o)/3’45’’]+1=025 该点所在1:1万比例尺地形图图幅的编号为 H51G018025 根据图号计算图幅西南图廓点的经纬度 已知某地形图的图号X1X2X3X4X5X6X7X8X9X10, ①根据该图号的前三位代码X1X2X3按下式计算其所在1:100万比例尺地形图对应的西南图廓点的经纬度λ0、φ0 λ0=(X2X3-31)*6o φ0=(X1-1)*4o X1——此幅1:100万比例尺地形图图幅所在纬度带字符码对应的数字码;

非线性方程的简单迭代法和Steffensen迭代法

《数值计算方法》实验报告 实验名称:实验1 非线性方程的简单迭代法和Steffensen 迭代法 实验题目:分别用简单迭代法和Steffensen 迭代法求方程 010423=-+x x 在 [1, 2] 内的一个实根. 实验目的:理解并掌握简单迭代法和Steffensen 迭代法 基础理论:简单迭代法和Steffensen 迭代法 1).简单迭代法的原理:将一元非线性方程:0)(=x f 改写成等价方程:)(x x ρ= ,对此,从某个初始值x0开始,对应式)(x x ρ= 构成迭代公式 ,...1,0),(1==+k x x k k ρ ,这样就可以确定序列 {}k x (k=0,1,2…)。如果 {}k x 有极限 *lim x x k k =∞→ ,由式 ,...1,0),(1==+k x x k k ρ 两边取极限可得 )(**x x ρ= ,可知 * x 为方程0)(=x f 的近似解。 2)Steffensen 迭代法的原理: 通过把改进的Aitken 方法应用于根据不动点迭代所得到的线性收敛序列,将收敛速度加速到二阶。

()???? ?????+---===+k k k k k k k k k k k x y z x y x x y z x y 2) ()(21ρρ []x x x x x x x +---=)(2)(()()(2ρρρρψ 实验环境:操作系统:Windows 7; 实验平台:Turbo C++ 实验过程:写出算法→编写程序→调试运行程序→计算结果 1)简单迭代法的算法: Input:初始近似值x0,精度要求del,最大迭代次数N Output:近似解x 或失败信息 1. n ←1 2. While n ≤N do; 3. x ←f(x0); 4. if | x-x0|

非线性方程的不动点迭代方法研究

重庆文理学院 2011-2012下学期《数值方法》课程论文 题目:非线性方程的不动点迭代方法研究 中国﹒重庆 2012 年 06 月

通过从现实的一个球体的实际问题引出对非线性方程的不动点迭代研究,在理解迭代规则1()k k p g p +=的基础上通过对迭代法和不动点迭代法的基本思想即找()0f x =的同解变形()x g x =,然后运用初值0x 迭代,求出误差范围内的近似解1k x p +≈。运用函数连续性证明不动点的存在性和运用中值定理和均值定理证明不动点唯一性,进而推导出不动点迭代法的推导步骤。然后又用均值定理和数学归纳法证明出收敛性,并在此基础上引出误差边界。再通过对开题提出的球体问题案例的求解,进一步来加深非线性方程对不动点迭代法实证说明,由此联系到不动点迭代法在其他一些领域如物理和工程等的运用。 不动点迭代式(2.2)通常只有线性收敛,有时甚至不收敛,进而在原有的基础上拓展到加速迭代法的收敛性的讨论通常,从而对Steffensen 加速迭代和Aitken (埃特金)加速迭代的讨论。 关键字 不动点迭代; 收敛性; Steffensen 加速迭代; Aitken 加速迭代

1 问题的提出--------------------------------------------------------1 2 算法的思想--------------------------------------------------------1 2.1迭代法的基本思想----------------------------------------------1 2.2 不动点迭代法的基本思想----------------------------------------2 3 算法的推导及步骤--------------------------------------------------2 3.1 算法的推导----------------------------------------------------2 3.2 算法的步骤----------------------------------------------------3 4 算法的分析--------------------------------------------------------4 4.1 收敛性分析----------------------------------------------------4 4.2 误差性分析----------------------------------------------------6 4.3 稳定性分析----------------------------------------------------7 5 算法的实现--------------------------------------------------------7 5.1 案例----------------------------------------------------------7 5.2 求解过程------------------------------------------------------7 5.3 不动点迭代法代码及输出结果------------------------------------8 6 运用举例---------------------------------------------------------10 7 知识拓展---------------------------------------------------------10 7.1 Steffensen加速迭代-------------------------------------------10 7.2 Aitken(埃特金)加速迭代法-------------------------------------11

计算方法实验三 解线性方程组的迭代法

山西大学计算机与信息技术学院 实验报告 姓名学号专业班级 课程名称计算方法实验实验日期 成绩指导老师批改日期 实验名称实验三解线性方程组的迭代法 一、实验目的: 用雅可比和高斯—赛德尔迭代法解线性方程组A x=b,式中A为非奇异实矩阵。在给定迭代初值的情况下,进行迭代,直到满足精度要求。 二、实验方法 (1)雅可比迭代法设系数矩阵A为非奇异矩阵,且a ij0≠ ,(i=1,2,3,......,n),从第i个方程中解出 x i , 得其等价形式: ) ( 1 ,1 x a a x i n i j j ij ii i b∑ ≠ = - = ,取初始向量 ) ,...., , , ()0( )0( 3 )0( 2 )0( 1 )0(x x x x x n = ,可建立相应的 迭代公式: ) ( 1)( ,1 )1 (b x a a x i k j n i j j ij ij k i + - =∑ ≠ = + (2)高斯—赛德尔迭代法 每计算出一个新的分量便立即用它取代对应的旧分量进行迭代,可能收敛更快,据此思想课构造高斯 —赛德尔迭代法,其迭代公式为 ) ,...., 2,0 (), ( 11 11 ) ( )1 ( )1 (n i b x a x a a x j i j n i j k j ij k j ij ij k i = + - - =∑∑ - =+ = + + 三、实验内容 求使|| x x k k) ( )1 (- + ||20001 .0 ≤的近视解及相应的迭代次数。初值选为向量b。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - - = ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - - - - - - - - - - - - - - - - 6 2 5 2 5 4 1 1 1 4 1 1 1 4 1 1 1 1 4 1 1 1 4 1 1 1 4 6 5 4 3 2 1 x x x x x x 四、实验程序 雅可比迭代法代码:#include"stdio.h" #include"math.h" #define n 6 #define Nmax 100

不动点迭代总结

非线性算子不动点理论是非线性泛函分析的重要组成部分,利用迭代算法逼近非线性算子不动点的越来越广泛。从具体的空间(如p L 空间或p l 空间)到抽象空间(如Hilbert 空间,Banach 空间,赋范线性空间);从单值映象到集值映象;从一般意义的映象(如非扩张映象,严格伪压缩映象;强伪压缩映象等)到渐进意义的映象(如渐进非扩张映象,渐进伪压缩映象,k-强渐进伪压缩映象等);从迭代序列的构造(如Mann 与Ishikawa 迭代序列,具误差(或混合误差)Mann 与Ishikawa 迭代序列, Halpern 迭代序列等)到迭代序列的强(弱)收敛性,稳定性。可以说成果丰富。迭代序列构成了非线性算子不动点理论中的重要问题。在不动点理论方面,从20世纪初著名的Banach 压缩映射原理和Browder 不动点定理问世以来,特别是近30年来,由于实际需要的推动和数学工作者的不断努力,这门科学的理论及应用的研究已经取得重要的进展,并且日趋完善。 下面我们主要介绍一些近几年来不动点的迭代格式: 首先,我们先看下一算子的发展 一 算子 1 T 称为非扩张的,如果 Tx Ty x y -≤- ,,x y C ?∈。 2 T 称为压缩的,如果存在(0,1)α∈,使得 ,,Tx Ty x y x y C α-≤-?∈ :()T D T E → 3 T 称为渐进非扩张的,如果存在一序列{}[0,)n k ∈∞,lim 1n n k →∞=,使得 ,,(),1n n n T x T y k x y x y D T n -≤-∈≥ 4 T 称为渐进伪压缩的,如果存在一序列{}[0,),lim 1n n n k k →∞ ∈∞=, ,对任意给定的,()x y D T ∈存在()()j x y J x y -∈-,使得 2 ,(),1n n n T x T y j x y k x y n <-->≤-?≥ 5 T 称为严格渐进伪压缩的,如果存在一序列{}[0,),lim (0,1)n n n k k k →∞ ∈∞=∈, ,对任意给定的,()x y D T ∈存在()()j x y J x y -∈-,使得 2 ,(),1n n n T x T y j x y k x y n <-->≤-?≥

数值计算方法-简单迭代

《数值计算方法》实验2报告 班级: 学号: 姓名: 成绩: 1. 实验名称 实验2 非线性方程的迭代解法(之简单迭代法) 2. 实验题目 用简单迭代法求方程010423=-+x x 在区间[1,2]内的一个实根,取绝对误差限为410-. 3. 实验目的 掌握非线性方程的简单迭代法. 4. 基础理论 简单迭代法:将方程0)(=x f 改写成等价形式)(x x ?=,从初值0x 开始,使用迭代公式)(1k k x x ?=+可以得到一个数列,若该数列收敛,则其极限即为原方程的解.取数列中适当的项可作为近似解. 5. 实验环境 操作系统:Windows xp ; 程序设计语言:Matlab 6. 实验过程 (1)、输入初值x0,将方程改写等价形式; (2)、构造迭代公式 ,k=0,1,2.......; (3)、采用for 循环实现反复迭代; (4)、以误差410-终止循环; (5)、输出结果。 7. 结果与分析 x0=0 del=0.0001 N=100 k x(k) 0 0.000000 1 1.581139 2 1.229548

3 1.426638 4 1.331951 5 1.381756 6 1.356640 7 1.369593 8 1.362987 9 1.366376 10 1.364643 11 1.365531 12 1.365076 13 1.365309 14 1.365190 近似解=1.365251 100次迭代后未达到精度要求. 分析:计算结果与理论一致。 8. 附录:程序清单 phi=inline('0.5*sqrt((10-x^3))'); x0=input('x0='); del=input('del='); N=input('N='); n=1; fprintf('\n k x(k) '); fprintf('\n %4d %f',0,x0); while n

不动点迭代MATLAB解

核心程序: function [y] = FixedPointIter(x0,func,tol,MaxIter) % Version: 1.0 written by jbb0523 @2016-08-21 if nargin< 4 MaxIter = 100; end if nargin< 3 tol = 1e-3; end xn = x0; fprintf('Iter 0: %16.14f\n',x0); xnp1 = func(xn); fprintf('Iter 1: %16.14f\n',xnp1); criterion = abs(xnp1-xn); xn = xnp1; Iter = 1; while(criterion>tol) xnp1 = func(xn); criterion = abs(xnp1-xn); xn = xnp1; Iter = Iter + 1; fprintf('Iter %2.0d: %16.14f\n',Iter,xnp1); if Iter>=MaxIter break; end end y = xnp1; end (a) function [y] = E1(x) y= nthroot((2*x+2),3); end FixedPointIter(1,@E1,1e-8,10); 结果: Iter 0: 1.00000000000000 Iter 1: 1.58740105196820 Iter 2: 1.72967529339060

Iter 4: 1.76748506514529 Iter 5: 1.76890738000138 Iter 6: 1.76921036415447 Iter 7: 1.76927489299557 Iter 8: 1.76928863558602 Iter 9: 1.76929156229304 Iter 10: 1.76929218558142 Iter 11: 1.76929231832044 Iter 12: 1.76929234658929 Iter 13: 1.76929235260958 (b) function [y] = E1(x) y=log(7-x); end FixedPointIter(1,@E1,1e-8,20); 结果 Iter 0: 1.00000000000000 Iter 1: 1.79175946922806 Iter 2: 1.65024208870382 Iter 3: 1.67705130965908 Iter 4: 1.67202741490706 Iter 5: 1.67297078778434

相关文档
最新文档