文档库 最新最全的文档下载
当前位置:文档库 › 5_6+迭代法的收敛阶和AitKen加速方法1

5_6+迭代法的收敛阶和AitKen加速方法1

改进的牛顿迭代法

改进的牛顿迭代法求解非线性方程 摘要:牛顿法思想是将非线性方程线性化,以线性方程的解逐步逼近非线性方程的解,但是其对初值、波动和可能出现的不收敛等缺点,而牛顿下山法克服了可能出现的发散的缺点。 关键词:牛顿法、牛顿下山法、非线性方程 一、牛顿法的迭代公式 设)(x f 在其零点*x 附近一阶连续可微,且0)(≠'x f ,当*0x x →时,由Taylor 公式有: ))(()()(000x x x f x f x f -'+≈ 以方程 0))(()(000=-'+x x x f x f 近似方程0)(=x f ,其解 ) ()(0001x f x f x x '-= 可作为方程的近似解,重复上述过程,得迭代公式 ),1,0(,) ()(1 ='-=+n x f x f x x n n n n 该方法称为牛顿迭代法。 二、牛顿法的改进 由于牛顿法缺点对牛顿法进行改进,使其计算简单,无需每次迭代都去计算)(x f ',且能够更好的收敛。 2.1简化的牛顿法 牛顿法的缺点之一是每次迭代都得去计算)(k x f '。为回避该问题,常用一个固定 )(k x f '迭代若干步后再求)(k x f '。这就是简化牛顿法的基本思想。 简化牛顿法的公式为: )(1k k k x cf x x -=+

迭代函数 )()(x cf x x -=? 若 2)(0,1)(1)(<'<<'-='x f c x f c x 即?,在根*x 附近成立,则迭代法局部收敛。 显然此法简化了计算量,却降低了收敛速度。 2.2牛顿下山法 牛顿法的缺点二是其收敛依赖与初值0x 的选取,若0x 偏离所求根*x 较远,则牛顿法可能发散。为防止迭代发散,我们对迭代过程再附加一项条件,即具有单调性: )()(1k k x f x f <+ 保证函数值稳定下降,然后结合牛顿法加快收敛速度,即可达目的。将牛顿法的计算结果 ) ()(1k k k k x f x f x x '-=+ 与前一步的近似值k x 适当加权平均作为新的改进值 k k k x x x )1(11λλ-+=++ 其中,称 )10(≤<λλ为下山因子,即为: ) ()(1k k k k x f x f x x '-=+λ 称为牛顿下山法。选择下山因子λ时,从 1=λ开始逐次将λ减半进行试算,直到条件成立为止。 三 举例说明 例1 求方程013=--x x 的根 (1)取5.10=x ,用牛顿法公式: 1 32131---=-+k k k k x x x x x 计算得:32472.1,32520.1,34783.1321===x x x

迭代法的加速

6.5 迭代法的加速 一、教学目标及基本要求 通过对本节的学习,使学生掌握方程求根迭代法的加速。 二、教学内容及学时分配 本章主要介绍线性方程求根的迭代法的加速方法。要求 1.了解数值分析的研究对象、掌握误差及有关概念。 2.正确理解使用数值方法求方程的解的基本思想、数学原理、算法设计。 3.了解插值是数值逼近的重要方法之一,正确理解每一种算法的基本思想、计算公式、算法设计、程序框图设计和源程序。 4.掌握数值积分的数学原理和程序设计方法。 5.能够使用数值方法解决一阶常微分方程的初值问题。 6.理解和掌握使用数值方法对线性方程组求解的算法设计。 三、教学重点难点 1.教学重点:非线性方程迭代收敛性与迭代加速、牛顿法。 2. 教学难点:迭代的收敛性。 四、教学中应注意的问题 多媒体课堂教学为主。适当提问,加深学生对概念的理解,迭代加速的算法实现。 五、教案正文 6.1 迭代公式的加工 迭代过程收敛缓慢,计算量将很大,需要进行加速。 设k x 是根*x 的某个近似值,用迭代公式校正一次得()k k x x ?=+1,假设) ('x ?

在所考察得范围内变化不大,其估计值为L ,则有: k k k k x L L x L x x x L x x ---≈?-≈-++111)(1**1* 有迭代公式k k k x L L x L x ---=++11111 ,是比1+k x 更好的近似根。这样加工后的计算过程为: 迭代()k k x x ?=+1 改进k k k x L L x L x ---= ++11111 合并的])([111k k k Lx x L x --=+? 例3 P133 6.2 埃特金算法 上述加速方法含有导数()x '?,不便于计算。设将迭代值()k k x x ?=+1再迭代一次,又得() 11~++=k k x x ?,由于)(~1*1*++-≈-k k x x L x x 又)(*1*k k x x L x x -≈-+,消去L 得 k k k k k k k k k k x x x x x x x x x x x x x x x +---≈?--≈--++++++++112 111*1**1*1*2~)~(~~ 计算过程如下: 迭代()k k x x ?=+1 迭代()11~++=k k x x ? 改进k k k k k k k x x x x x x x +---=++++++11211112~)~(~ 小结:这节课我们主要介绍了线性方程组迭代法加速的基本思想及其常用的几种迭代方法。要求大家掌握埃特金算法及其收敛速度,收敛的阶。 作业:课后作业10-13

迭代法解一元三次方程

第一题 1、用牛顿迭代法解方程 求解任意的三次方程: ax3+bx2+cx+d=0 要求a,b,c,d从键盘输入,使用循环方法编程。 解法思路: 先把求与X轴交点坐标公式放着免得忘记了 x= x1f(x2)-x2f(x1)/f(x2)-f(x1) 之后比较x1的y1值和x2的y2值,如果两个为异号,那么两个x之间一定有方程的根 如果同号,那么继续输入直到异号为止 这个时候用求交点坐标公式求出交点坐标x,它的y值同样代入求出 再次比较y与y1值,如果异号那么x与x1之间必有方程根 如果同号那么x与x2之间必有方程根 循环以上直到y的绝对值小于一个非常小的数,也就近似为0的时候,输出x 值既为方程根...... #include #include #include float a,b,c,d; //定义外部变量,使全局可以调用 float f(float x) //x函数 { float y; y=a*x*x*x+b*x*x+c*x+d; return y;

} float xpoint(float x1,float x2) //求弦与x轴交点坐标 { float y; y=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1)); return y; } float root(float x1,float x2) //求根函数 { float x,y,y1; y1=f(x1); //y1为x1纵坐标 do { x=xpoint(x1,x2); //求x1与x2之间弦与x轴交点赋值于x y=f(x); //代入方程中求得y if(y*y1>0) //判断y与y1是否同号 { x1=x; y1=y; } else x2=x; } while(fabs(y)>=0.00001); //设定精度 return(x); } void main() //主函数 { float x1,x2,f1,f2,x; printf("请输入一元三次方程标准形式ax^3+bx^2+cx+d=0中"); printf("a b c d的值,用空格隔开\n"); scanf("%f %f %f %f",&a,&b,&c,&d); //获取abcd值并赋值 do { printf("输入x1 x2值,用空格隔开:\n"); scanf("%f %f",&x1,&x2); f1=f(x1); f2=f(x2); if(f1*f2>=0) printf("x1 x2之间无方程根,请重新输入\n"); }

解线性方程组的迭代法收敛速度

实验六 解线性方程组的迭代法收敛速度. 一、实验内容 (1)选取不同的初始向量)0(x ,在给定的迭代误差要求下,用雅可比迭代和高斯-赛德尔迭代法法求解,观察得到的序列是否收敛?若收敛,记录迭代次数,分析计算结果并得出你的结论. (2)用SOR 迭代法求上述方程组的解,松弛系数ω取1<ω<2的不同值,在给定的迭代误差要求下.记录迭代次数,分析计算结果并得出你的结论. 二、方法步骤 雅克比迭代法: (1)输入A =(a ij )n×n ,b =(b 1,b 2,…,b n )T ,维数n ,x (0)=(x 1(0),x 2(0) ,…,x n (0))T ,容许误差ε,最大容许迭代次数N. (2)对i=1,2,3,…,n,置x i =x i (0). (3)置k=1. (4)对i=1,2,3,…,n,置 y i =1a ii (b i ?∑a ij x j n j=1,j≠i ) (5)若max 1≤i≤≥n ‖y i ?x i ‖<ε输出y i (i =1,2,3,…,n),停机,否则转(6). (6)若kk,y i ==>x i (i =1,2,…,n),转(4),否则,输出失败信息,停机。 高斯-塞德尔迭代法 (1)输入A =(a ij )n×n ,b =(b 1,b 2,…,b n )T ,维数n ,,x (0)=(x 1( 0),x 2(0),…,x n (0))T ,容许 误差ε,最大容许迭代次数N. (2)对i=1,2,3,…,n,置x i =x i (0) .y i =x i . (3)置k=1. (4)对i=1,2,3,…,n,置 y i =1ii (b i ?∑a ij x j n j=1,j≠i ) (5)若max 1≤i≤≥n ‖y i ?x i ‖<ε输出y i (i =1,2,3,…,n),停机,否则转(6). (6)若kk,y i ==>x i (i =1,2,…,n),转(4),否则,输出失败信息,

十、解非线性方程(组)的迭代法和加速法

一、一般迭代法求解非线性方程组。 function [k,piancha,xdpiancha,xk]=diedai1(x0,k) x(1)=x0; for i=1:k x(i+1)=fun1(x(i)); piancha=abs(x(i+1)-x(i)); xdpiancha=piancha/(abs(x(i+1))+eps); i=i+1;xk=x(i); [(i-1) piancha xdpiancha xk] end if (piancha>1)&(xdpiancha>0.5)&(k>3) disp('此迭代序列发散,请重新输入新的迭代公式') return; end if (piancha<0.001)&(xdpiancha<0.0000005)&(k>3) disp('此迭代序列收敛,且收敛速度较快') return; end p=[(i-1) piancha xdpiancha xk]'; 1、function y=fun1(x) y=(10-x.^2)./2 >> [k,piancha,xdpiancha,xk]=diedai1(5,10) 此迭代序列发散,请重新输入新的迭代公式 k = 10 piancha = 2.4484e+271 xdpiancha = 1 xk = -2.4484e+271 2、function y=fun1(x) y=10./(x+2) >> [k,piancha,xdpiancha,xk]=diedai1(5,25) 此迭代序列收敛,且收敛速度较快 k = 25 piancha = 9.5676e-007 xdpiancha = 4.1300e-007 xk = 2.3166 二、第二种迭代法。

迭代初值及公式对迭代收敛速度影响

本科生课程设计报告实习课程数值分析 学院名称管理科学学院 专业名称 学生姓名 学生学号 指导教师 实验地点 实验成绩 二〇一六年六月

填写说明 1、专业名称填写为专业全称,有专业方向的用小括号标明; 2、格式要求:格式要求: ①用A4纸双面打印(封面双面打印)或在A4大小纸上用蓝黑色水笔书写。 ②打印排版:正文用宋体小四号,1.5倍行距,页边距采取默认形式(上下 2.54cm,左右2.54cm,页眉1.5cm,页脚1.75cm)。字符间距为默认值(缩 放100%,间距:标准);页码用小五号字底端居中。 ③具体要求: 题目(二号黑体居中); 摘要(“摘要”二字用小二号黑体居中,隔行书写摘要的文字部分,小4 号宋体); 关键词(隔行顶格书写“关键词”三字,提炼3-5个关键词,用分号隔开,小4号黑体); 正文部分采用三级标题; 第1章××(小二号黑体居中,段前0.5行) 1.1 ×××××小三号黑体×××××(段前、段后0.5行) 1.1.1小四号黑体(段前、段后0.5行) 参考文献(黑体小二号居中,段前0.5行),参考文献用五号宋体,参 照《参考文献着录规则(GB/T 7714-2005)》。 迭代初值及公式对迭代收敛速度影响 摘要 迭代收敛速度受到迭代函数和初始迭代值的影响。 本实验在于体会在非线性方程求根的迭代法中,迭代函数和初始迭代值的选取对迭代收敛性的影响,sttefensen加速的效果,并试图总结一些规律。

关键词: sttenfensen加速;迭代初值;收敛速度

目录 第1章前言............................................................... 1.1 内容及要求.......................................................................................... 1.2 研究思路及结构安排 .......................................................................... 第2章相关理论知识........................................................ 2.1 迭代法 ................................................................................................. 2.2 迭代收敛 ............................................................................................. 第3章算法分析............................................................ 3.1 单一迭代算法步骤及流程图 .............................................................. 第4章算法实现............................................................ 4.1程序总体结构....................................................................................... 4.2 源程序清单.......................................................................................... 4.3程序运行 .............................................................................................. 第5章结果分析............................................................ 参考文献...................................................................

线性方程组的迭代法应用及牛顿迭代法的改进

线性方程组的迭代法应用及牛顿迭代法的改进 摘要: 迭代解法就是通过逐次迭代逼近来得到近似解的方法。由于从不同 的问题而导出的线性代数方程组的系数矩阵不同,因此对于大型稀疏矩阵所对应线性代数方程组,用迭代法求解。本文论述了Jacobi 法,Gauss-Seidel 法,逐次超松弛法这三种迭代法,并在此基础上对牛顿型的方法进行了改进,从而使算法更为精确方便。 关键词:线性方程组,牛顿迭代法,Jacobi 法,Gauss-Seidel 法,逐次超松弛 法 1.线性方程组迭代法 1.1线性方程组的迭代解法的基本思想 迭代法求解基本思想:从某一初始向量X (0)=[x 1(0) ,x 2(0) ,……………x n (0) ]出发,按某种迭代规则,不断地对前一次近似值进行修改,形成近似解的向量{X (k)}。当近似解X (k) =[x 1(k) ,x 2(k) ,……………x n (k) ]收敛于方程组的精确解向量X* =[x 1*,x 2*,……………x n *]时,满足给定精度要求的近似解向量X (k)可作为X*的数值解。 1.2 线性方程组的迭代法主要研究的三个问题 (1) 如何构造迭代公式 (2) 向量数列{X (k)}的收敛条件 (3) 迭代的结束和误差估计 解线性方程组的迭代解法主要有简单迭代法、 Gauss-Seidel 法和SOR 法。简单迭代法又称同时代换法或Jacobi 法,是最简单的解线性方程组的迭代解法也是其他解法的基础。 1.3Jacobi 迭代法 设方程组点系数矩阵n n j A ai R ???=∈??满足条件0ii a ≠,i=0,1,2, …n 。把A 分解为 A=D+L+U

加速收敛方法概述

加速收敛方法概述 1 当地时间步长法 原理: 根据稳定性条件,对于方程的显示时间推进必须遵循Courant条件。为了增加时间步长,提高收敛效率,采用当地时间步长。当地时间步长方法就是在时间推进求解每个网格上的数值解时,采用该网格单元满足稳定性条件的最小时间步长,而不是整个计算域内的所有结点都满足稳定性条件的最小时间步长,这可以大大减少计算量。 U IJ t =R IJ U ij n+1?U ij n ?t =R ij 原来时间步长:?t~min CFL?x λ 受制于最小空间步长。边界层近壁空间网格y w+≈1 ?x~10?4 ~10?6, 因此?t也很小,计算速度慢。 当地时间步长:每点采用不同的时间步长推进 U ij n+1?U ij n (?t) ij =R ji 数值方法: S表示该网格单元面积,n表示该网格单元的边法向,c表示当地声速,CFL为Courant数。适用性: 对定常问题,收敛后不影响计算精度,可大幅加速收敛。 2多重网格方法 多重网格时近几十年来发展起来的一种加速收敛方法。它先被用于加速收敛椭圆型问题,该方法能够使得迭代矩阵的谱半径与网格间距无关。随着计算流体力学的发展,多重网格在求解欧拉方程、N-S方程过程中得到了应用:Jamson等人首先将其运用到中心差分格式中,并结合runge-kutta法加速了收敛:D.J Marviplis等人将其运用到非结构网格中,并取得了较好的效果。 多重网格算法的基本思想是引入一系列连续变粗的网格,并将其计算流场发展的部分任务转移到粗网格上进行。细网格上的低频误差在粗网格上相当于高频误差,因此用一种消除高频误差的有效方法,在各自的网格上消除相对于该网格的高频误差,但对细网格而言,就消除了一系列频率的误差。这样做的目的有两个好处: (1)在粗网格上推进一步所需要的时间要少得多,工作量小,提高计算效率; (2)在粗网格上空间步长大,推动了解的快速发展,从而使得迭代较少的步数就可能将误差推到计算域外。 这两个优点皆能加速流场的发展,使得迭代的步数较少,减少了工作量。具体的执行是在粗网格与密网格上交替进行。 多重网格的缺点之一是难以表达粗网格与密网格之间的几何关系。尤其对非结构网格,由于

研究线性方程组迭代收敛速度

研究解线性方程组迭代收敛速度 一. 实验目的 科学研究与生产实践中许多问题都可归结为线性方程组的求解,高效求解线性方程组成为了许多科学与工程计算的核心.迭代法就是用某种极限过程去逼近线性方程组精确解的方法,该方法具有对计算机的存贮单元需求少,程序计算简单,原始系数矩阵在计算过程中不变等优点,是求解大型稀疏矩阵方程组的重要方法。常用的迭代法有Jacobi 迭代法、Gauss —seidel 迭代法、逐次超松驰法(SOR 法)等。 二. 实验摘要 由迭代法平均收敛速度与渐进收敛速度的关系引入近似估计法,即通过对迭代平均收敛速度取对数,然后利用Mathematica 软件对其进行拟合,给出拟合函数,最终得到了Jacobi 迭代法、Gauss —seidel 法的平均收敛速度收敛到渐进收敛速度的近似收敛阶,以及逐次超松驰法(SOR 法)的渐进收敛速度,且该法适用于其他迭代法收敛速度的估计。 三. 迭代法原理 1.Jacobi 迭代法(J 法) 设方程组b Ax =,其中, n n n n ij R a A ??∈=)(,。n R b x ∈, A 为可逆矩阵,可分裂为,U D L A ++=其中, ??????? ???? ???? ?=-00 00 1 ,21323121 n n n n a a a a a a L ΛO O M M ??????? ????? ??? ?=-00 0,1223 11312n n n n a a a a a a U M O O ΛΛ

??????? ? ???? ??? ?=nn a a a D O O 22 11 从而由b Ax =得到, b D x A D I b D x A D D b D x U L D x 111111)()()(------+-=+-=++-= 令 A D I B J 1--=, b D f J 1-=, 由此可构造出迭代公式:J k J k f x B x +=+)()1( 令初始向量)0,...,0,0()0(=x ,即可得到迭代序列,从而逼近方程组的解 这种方法称为Jacobi 迭代法,其中J B 称为Jacobi 迭代矩阵。 2. Gauss-Seidel 迭代法(GS 法) 与Jacobi 迭代法类似,将方程组b Ax =中的系数矩阵 A 分裂为 ,U D L A ++=,其中U L D ,,与前面相同。 与Jacobi 迭代法所不同的是,Gauss-Seidel 迭代法将Jacobi 迭代公式中的 b Ux Lx Dx k k k +--=+)()()1( 改为 b Ux Lx Dx k k k +--=++)()1()1( 从而b Ax =可写成矩阵形式 b Ux x D L k k +-=++)()1()(, 若设1 )(-+D L 存在,则 b D L Ux D L x k k 1)(1)1()()(--++++-=, 其中, U D L B G 1)(-+-=,b D L f 1)(-+=, 于是Gauss —Seidel 迭代公式的矩阵形式为f x B x k G k +=+)() 1(。

数值分析实习作业不同迭代法求解(简单迭代法,艾特肯加速迭代法,牛顿法弦割法)

实习题六:用简单迭代法,艾特肯加速迭代法,牛顿法弦割法求解方程1-x-sin(x) = 0在[0,1]上的根。 简单迭代法和艾特肯加速法求解方程1-x-sin(x) = 0在[0,1]上的根。 主程序: %利用简单迭代法求解方程1-x-sin(x) = 0在[0,1]上的根 clear clc format long f = @f1; a = 0; b = 1; eps = 0.5*10^(-4); [x,time] = iteration(f,a,b,eps); disp('利用简单迭代法求解方程1-x-sin(x) = 0在[0,1]上的根') disp('方程1-x-sinx = 0的根是 x = ') disp(x) disp('迭代次数') disp (time) %% %利用艾特肯加速法求解方程1-x-sin(x) = 0在[0,1]上的根 [x,time] = iteration_aitken(f,a,b,eps); disp('利用艾特肯加速法求解方程1-x-sin(x) = 0的[0,1]上的根') disp('方程1-x-sinx = 0的根是 x = ') disp(x) disp('迭代次数') disp (time) 简单迭代法函数: function [y,time] = iteration(f,a,b,eps) x0 = (a+b)/2; D = 1; time = 0; while abs(D)>=eps x1 = feval(f,x0); D = x1-x0; x0 = x1; time = time+1; end y = x0; 艾特肯加速法函数 function [y,time] = iteration_aitken(f,a,b,eps) x0 = (a+b)/2; D = 1; t = 0; while abs(D)>=eps

数值计算课后答案

习 题 三 解 答 1、用高斯消元法解下列方程组。 (1)1231231 22314254 27x x x x x x x x -+=?? ++=??+=?①②③ 解:?4②+(-)①2,1 2 ?③+(-)①消去第二、三个方程的1x ,得: 1232323231425313222 x x x x x x x ? ?-+=? -=???-=?④⑤⑥ 再由5 2)4 ?⑥+(-⑤消去此方程组的第三个方程的2x ,得到三角方程组: 1232332314272184x x x x x x ? ?-+=? -=???-= ? 回代,得: 36x =-,21x =-,19x = 所以方程组的解为 (9,1,6)T x =-- 注意: ①算法要求,不能化简。化简则不是严格意义上的消元法,在算法设计上就多出了步骤。实际上,由于数值计算时用小数进行的,化简既是不必要的也是不能实现的。无论是顺序消元法还是选主元素消元法都是这样。 ②消元法要求采用一般形式,或者说是分量形式,不能用矩阵,以展示消元过程。 要通过练习熟悉消元的过程而不是矩阵变换的技术。 矩阵形式错一点就是全错,也不利于检查。 一般形式或分量形式: 1231231 22314254 27x x x x x x x x -+=?? ++=??+=?①②③ 矩阵形式 123213142541207x x x -?????? ??? ?= ??? ? ??? ???????

向量形式 123213142541207x x x -???????? ? ? ? ?++= ? ? ? ? ? ? ? ????????? ③必须是方程组到方程组的变形。三元方程组的消元过程要有三个方程组,不能变形出单一的方程。 ④消元顺序12x x →→L ,不能颠倒。按为支援在方程组中的排列顺序消元也是存储算法的要求。实际上,不按顺序消元是不规范的选主元素。 ⑤不能化简方程,否则系数矩阵会变化,也不利于算法设计。 (2)1231231231132323110 221x x x x x x x x x --=?? -++=??++=-? ①②③ 解:?23②+( )①11,1 11 ?③+(-)①消去第二、三个方程的1x ,得: 123232311323523569111111252414111111x x x x x x x ? --=?? ? -=? ? ? +=-??④⑤⑥ 再由25 11)5211 ?⑥+(-⑤消去此方程组的第三个方程的2x ,得到三角方程组: 123233113235235691111111932235252x x x x x x ? ?--=? ? -=?? ? =-?? 回代,得: 32122310641 ,,193193193 x x x =- ==, 所以方程组的解为 41106223(,,)193193193T x =- 2、将矩阵 1020011120110011A ?? ? ?= ?- ???

迭代加速技术

四川理工学院《数值计算方法》课程设计 题目迭代加速技术 专业数学与应用数学 班级2013级1班 姓名高尚牟庆张玉玲

一、摘要 (2) 二、应用计算方法的基本原理 (3) 2.1.Aitken加速法 (3) 2.1.1算法描述 (3) 2.2.Steffensen迭代法 (3) 2.2.1算法描述 (3) 三、例题的计算及结果 (4) 3.1.Aitken加速法迭代法在水力计算中的应用 (4) 3.1.1收缩水深的计算 (4) 3.2用Steffensen迭代法计算方程的近似解 (5) 3.2.1用Steffensen迭代法计算31 =-在0 1.5 x x x=附近的近似解 (5) 四、总结及心得体会 (6) 五、参考文献 (6)

一、摘要 本设计报告主要围绕Aitken加速法和Steffensen 迭代法展开。 在生活中面对实际问题时,常常遇到非线性方程的求解问题,为此,我们常使用迭代技术求解,但一般的迭代技术不一定收敛且收敛速度慢,带来大量的计算问题,为了提高计算效益,我们采用迭代加速技术求解此类问题,迭代加速技术有Aitken加速法和Steffensen迭代法,其中Steffensen迭代法将Aitken加速技巧与不动点迭代相结合,更易于计算。 首先根据方程构造一个迭代函数,根据基本原理中两种加速迭代格式公式进 行迭代,最终得到结果。最后我们对本次课程设计进行了总结,总结了程序的优 缺点并对本次试验过程中遇到的问题及困难进行了解答,此外我们还写出了对本 次课程设计的心得体会。

二、应用计算方法的基本原理 2.1.Aitken 加速法 2.1.1算法描述 Aitken 加速法是一个很重要的加速法,他是基于简单迭代法的迭代函数构造新的迭代函数而产生的。 设{}k x 是一个线性收敛的序列,收敛于方程()x x ?=的根*x ,因{}k x 线性收敛于根*x ,故对充分大的k ,有 )0(* * 1≠≈--+c c x x x x k k (1) c x x x x k k ≈--++* 1* 2 (2) 由上面两式得 ≈--+* *1x x x x k k *1* 2x x x x k k --++ (3) 解得 k k k k k k k k k k k k x x x x x x x x x x x x x +--- =+--≈+++++++++122122122 1 2* 2)(2 (4) 或 k k k k k k x x x x x x x +--- ≈++++122 12* 2)( (5) 把式(4)右端的值作为新的近似值k x ~,可望获得更好的近似结果,于是提 出Aitken 加速方案。 迭代: 1()k k x x ?+= (6) 在迭代: 21()k k x x ?++= (7) 加速: k k k k k k k x x x x x x x +--- ≈+++122 12)(~ (8) 2.2.Steffensen 迭代法 2.2.1算法描述 Steffensen 迭代法主要用于改善线性收敛或不收敛迭代。现在,针对一种不动点迭代函数?,其不动点为*x ,由0x 出发构建迭代公式

利用Excel电子表格解一元三次方程

利用Excel电子表格如何解一元三次方程? 比如有一个一元三次方程X3-2.35X2-10262=0,可以通过迭代法,即可以设定步长和迭代值小于一定的数值来求方程的解。请问在Excel电子表格使用的是什么函数,在单元格中设置怎么样的公式? 这类问题可以使用Excel内置的“单变量求解”模块来完成,操作步骤如下: 1、打开一个空白工作表; 2、A1单元格留空,在A2单元格里输入如下公式—— =A1^3-2.35*A1^2-10262 3、点击菜单“工具”-》“单变量求解”; 4、在弹出的设置对话框里输入: “目标单元格”:A2 “目标值”:0 “可变单元格”:A1 点确定后就大功告成了~~ 5、如果还没有得到你想要的解,在上次计算的基础上再重复步骤4应该就可以了。 一元方程线性拟合 1,选中需拟合的数据,点“插入”“图表”“XY散点图”“下一步” X、Y轴的数据区域,“完成”。 2,在出现的散点图中选择一个散点,右击“添加趋势线”。 3,若是一元一次线性方程,选“线性(L)”。 4,若是一元多次方程,选“多项式(P)”并在“阶数”栏选择相应的阶数。 5,“选项”“显示公式”“显示R平方值”处勾选,确定。 excel计算方法: 在科普园地,有人出了一道一元三次方程3x^3-82x^2-11x+70 =0,说是允许用计算器或计算机,我想了想,很快就用excel的计算功能求出了5位小数。 1、打开excel(含一个已打开的新excel文件),在B1格(即第1行第B列对应的格子)输入“=3*A1^3-82*A1^2-11*A1+70”(只输入引号内的部分,不含引号),把鼠标的光标移到这个格子右下角的黑点上,按着左键往下拉它200多行备用(也可以先拉几十格,后面要用了再拉)。 2、粗略估计,x不可能小于-100,不可能大于100,所以值的范围肯定在这个范围;在A1格输入-100,A2格输入-90,用鼠标选中A1、A2格,再往下拉A2格右下角的黑点到A21格,这样就得到了-100~100的整10的x值,B列得到对应的3*x^3-82*x^2-11*x+70的值。 3、从函数y=3x^3-82x^2-11x+70,基本上可以肯定函数值是连续的,从计算的函数值(B1~B21格的数值)可以看出,函数在(-10,0)、(0,10)、(20,30)三个定义域中各有一个值为0。 4、用第2步的操作方法在A24~A44中分别填入-10~10,在A46~A56中分别填入20~30。 5、从新的函数值可以看出,三个值在(-1,0)、(0,1)、(27,28)内,所以,在A列填入-1~1、27~28的带一位小数的所有数…… 经过几次,就可以求得三个x值分别在(-0.97496,-0.97495)、(0.87231,0.87232)、(27.43597,27.43598)定义域中。 (研究了一下,excel最多可以表示15位有效数字)

方程的加速迭代法

2013-2014(1)专业课程实践论文题目:方程的加速迭代方法

一、算法理论 Aitken 加速迭代算法基本原理: 对于收敛的迭代过程,只要迭代足够多次,就可以使结果达到任意的精度。但有时迭代过程收敛缓慢,从而使计算量变得很大,因此,迭代过程的加速是个重要的过程。 设0x 是跟*x 的某个预测值,只迭代公式校正一次)(01x f x =,而由微分中值定理有:)x (x (t)f x x **-?'=-01(其中t 介于*x 与0x 之间) 。 假定()x f '改变不大,近似的取某个近似值L ,则由)(*0*1x x L x x -?≈-得到 L x L L x x -?- -= 1101 *,可以期望按上式右端求得 ()L x x L x L L x L x x --?+ =-?--= 11101101 2是比1x 更好的近似值,将每得到一次改进值算做一步,并用k x '和k x 分别表示第K 步的校正值和改进值,则加速迭代计算方案可表述如下: 校正:1+'k x ()k x f = 改进:=+1k x ()L x x L x k k k --'?+'++111 然而上述加速公式有个缺点,由于其中含有倒数()x f '的有关信息L ,实际使用不便。 仍设已知*x 的某个猜测值为0x ,将校正值()01x f x =,再校正一次,又得 ()12x f x =。由于≈-*2x x ()*1L x x -?将它与式 = *x L x L L x -?- -1101 联立,消去未知L ,然后有 =*x ()2 102 1222x x x x x x +?--- 这样构造出的改进公式确定不再含有关于导数的

关于牛顿迭代法的课程设计实验指导共9页word资料

关于牛顿迭代法的课程设计实验指导 非线性方程(或方程组)问题可以描述为求 x 使得f (x ) = 0。在求解非线性方程的方法中,牛顿迭代法是求非线性方程(非线性方程组)数值解的一种重要的方法。牛顿是微积分创立者之一,微积分理论本质上是立足于对世界的这种认识:很多物理规律在微观上是线性的。近几百年来,这种局部线性化方法取得了辉煌成功,大到行星轨道计算,小到机械部件设计。牛顿迭代法正是将局部线性化的方法用于求解方程。 一、牛顿迭代法及其收敛速度 牛顿迭代法又称为牛顿-拉夫逊方法(Newton-Raphson method ),是一种在实数域和复数域上通过迭代计算求出非线性方程的数值解方法。方法的基本思路是利用一个根的猜测值x 0 做初始近似值,使用函数f (x )在x 0处的 泰勒级数展式的前两项做为函数f (x )的 近似表达式。由于该表达式是一个线性 函数,通过线性表达式替代方程f (x ) = 0中的f (x )求得近似解x 1。即将方程f (x ) = 0在x 0处局部线性化计算出近 似解x 1,重复这一过程,将方程f (x ) = 0在x 1处局部线性化计算出x 2,求得近似解x 2,……。详细叙述如下:假设方程的解x *在x 0附近(x 0是方程解x *的近似),函数f (x )在点x 0处的局部线化表达式为 由此得一次方程 0)()()(000='-+x f x x x f 求解,得 如图1所示,x 1比x 0更接近于x *。该方法的几何意义是:用曲线上某点(x 0, 图1 牛顿迭代法示意

y 0)的切线代替曲线,以该切线与x 轴的交点(x 1,0)作为曲线与x 轴的 交点(x *,0)的近似(所以牛顿迭代法又称为切线法)。设x n 是方程解x * 的近似,迭代格式 )()(1n n n n x f x f x x '-=+ ( n = 0,1,2,……) 就是著名的牛顿迭代公式,通过迭代计算实现逐次逼近方程的解。牛顿迭代法的最大优点是收敛速度快,具有二阶收敛。以著名的平方根算法为例,说明二阶收敛速度的意义。 例1.已知4.12≈,求2等价于求方程f (x ) = x 2 – 2 = 0的解。由于x x f 2)(='。应用牛顿迭代法,得迭代计算格式 )/2(2 11n n n x x x +=+,(n = 0,1,2,……) 取x 0= 1.4为初值,迭代计算3次的数据列表如下 其中,第三栏15位有效数是利用MATLAB 的命令sqrt(2)计算结果。观察表中数据,第一次迭代数据准确到小数点后四位,第二次迭代数据准确到小数点后八位,……。二阶收敛速度可解释为,每迭代一次,近似值的有效数位以二倍速度递增。对于计算任意正数C 的平方根,牛顿迭代法计算同样具有快速逼近的性质。 二、牛顿迭代法的收敛性 牛顿迭代法在使用受条件限制,这个限制就是通常所说的牛顿迭代法的局部收敛性。

用牛顿迭代法求方程的近似解教学设计

用牛顿迭代法求方程的近似解 一.内容与内容解析 本节课内容是人教版选修2-2第一章第二节探究与发现的内容,教学内容是用牛顿迭代法求方程的近似解。在本节课中,在学生会用二分法求方程近似解的基础上,通过探究和发现,使学生能借助导数研究函数,利用切线逼近函数,进而理解迭代法的含义和作法,培养学生逼近的思想,以直代曲的思想,同时强化算法思想。本节课通过Leonardo方程的求近似解问题,复习和巩固二分法求方程近似解的思想,步骤和算法,并借助导数和切线理解牛顿迭代法的“以直代曲”思想和逼近思想,并分析整理牛顿迭代法的步骤和算法,并用牛顿迭代法解决实际问题。在教学中,通过借助图形计算器的探究,以及问题引导的方式,培养学生分析问题,探究问题和合作解决问题的能力,借助二分法的复习培养学生类比的思想,同时体会知识的联系和应用。本节课中给出的Leonardo方程有丰富的历史背景,练习中的开普勒方程又有实际背景,通过本节课的例子可以培养学生对数学的热爱以及强烈的求知欲望,对古代数学家坚忍不拔的毅力的学习以及对数学在实际生活中的巨大作用的认识都能使学生更加肯于钻研,并产生对数学的巨大兴趣。 教学重点:牛顿迭代法的迭代思想和过程。 二、目标和目标解析 1.复习和巩固用二分法求方程的近似解 二分法求方程的近似解是高中数学必修教材中的内容,和方程与函数的零点的关系一起,作为函数的性质的应用部分,是学生联系实际的重要内容,本节课以求Leonardo方程作为引入和研究对象,联系和复习二分法是顺理成章的,也能够将学习过的内容再现和升华。 2.探究并总结牛顿迭代法求方程的近似解 牛顿迭代法是中学生能够接受的一种较简单的迭代方法,而且十分有效,但如果脱离图形计算器,也是非常困难的。本节课的核心就是通过探究和实践,使学生能够完全理解牛顿迭代法的迭代原理,并能够通过图形计算器进行实际应用,提高了学生解决实际问题的能力。 3.培养学生利用图形计算器进行复杂计算和图形功能探究解决问题的能力。

“牛顿迭代法”最新进展文献综述

“牛顿迭代法”最新进展文献综述牛顿法是一种重要的迭代法,它是逐步线性化的方法的典型代表。牛顿迭代法又称为牛顿-拉夫逊方法,它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。多数方程不存在求根公式,因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。方法使用函数f(x)的泰勒级数的前面几项来寻找方程f(x) = 0的根。牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程f(x) = 0的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根。另外该方法广泛用于计算机编程中。 介绍一下牛顿迭代法研究的前沿进展,1992年南京邮电学院基础课部的夏又生写的一篇题名一类代数方程组反问题的牛顿迭代法,对一类代数方程组反问题提出了一个可行的迭代解法。从算法上看,它是一种解正问题—迭代—解正问题迭代改善的求解过程。湖南师范大学的吴专保;徐大发表的题名堆浸工艺中浸润面的非线性问题牛顿迭代方法,为了研究堆浸工艺的机理,用牛顿迭代公式寻求浸润面的非线性方程的数值解,经过14次迭代的误差达到了,说明此算法收敛有效。浙江大学电机系的林友仰发表的牛顿迭代法在非线性电磁场解算中的限制对非线性电磁场解算中的限制做了分析,求解非线性方程组时迭代法是不可避免的。牛顿—拉斐森迭代法由于它的收敛速度快常被优先考虑。应用这个方法的主要问题是求雅可比矩阵。因为雅可比矩阵元素的计算非常费时。然而,本文要说明的是当利用以三角形为单元的有限元法求解非线性方程组时,应用牛顿法其雅可比矩阵容易求得,并且它保持了原系数的对称性和稀疏性,因而节省了时间。与此相反,若在差分法中应用牛顿迭代,并且按习惯用矩形网格进行剖分,则雅可比阵的计算很费时,而且不再保持原有对称性,这就使得存贮量和计算时间大为增加。南株洲工学院信息与计算科学系的吕勇;刘兴国发表的题名为牛顿迭代法加速收敛的一种修正格式,主要内容牛顿迭代法是求解非线性方程的一种重要的数值计算方法,在通常情况下,它具有至少平方收敛。本文利用文献[4]所建立的迭代格式xn+1=xn-αf(xfn)(x+n)f′(xn),对迭代格式中的参数α的讨论,实现了牛顿迭代法加速收敛的一种修正格式。

相关文档
相关文档 最新文档