数值分析-对分法和一般迭代法
- 格式:ppt
- 大小:1.06 MB
- 文档页数:41
第4章 非线性方程与非线性方程组的迭代解法--------学习小结一、本章学习体会本章我们主要学习了非线性方程的几种解法,主要有对分法、简单迭代法、steffensen 迭代法、Newton 法、割线法等。
这几种方法都有其思想,并且它们的思想彼此之间有一定的联系。
本章的思路大致可以理解为:1.如何选取迭代公式;2.如何判断迭代公式的收敛速度;3.如何进行迭代公式的修正,以加速收敛;4.如何选取最适合的迭代方法 。
二、本章知识梳理具体求根通常分为两步走,第一步判断根是否存在,若存在,确定根的某个初始近似值;第二步,将初始近似值逐步加工成满足精度要求的结果。
求初始近似值,即确定根的大致区间(a, b ),使(a, b )内恰有方程的一个根。
本章的学习思路:针对一种迭代方法,找出迭代公式,并判断其收敛性,一般选取收敛速度最快的迭代公式,所以自然的提出了如何使收敛加速的问题。
4.1非线性方程的迭代解法非线性方程的迭代解法有:对分法、简单迭代法、steffensen 迭代法、Newton 法、割线法等。
4.1.1对分法设()[]()()0,<∈b f a f b a C x f 且,根据连续函数的介值定理,在区间()b a ,内至少存在有一个实数s ,使()0=s f 。
现假设在()b a ,内只有一个实数s ,使()0=s f 并要把s 求出来,用对分法的过程: 令b b a a ==00, 对于M k ,....,2,1,0=执行计算2kk k b a x +=若()ηε≤≤-k f a b k k 或,则停止计算取k x s ≈否则转(3)()()k k k k k k b b a a a f x f ==<++11,,0则令()()k k k k k k b b x a a f x f ==>++11,,0则令 若M k =则输出M 次迭代不成功的信息;否则继续。
对分法的局限:对分法只能求实根,而且只能求单根和奇数重根,不能求偶数根和复数根4.1.2简单迭代法及其收敛性迭代法是一种逐次逼近法,用某个固定公式反复校正根的近似值,使之逐步精确化,最后得到满足精度要求的解。
第一章1.设x 为准确值,x*为x 的一个近似值.称e*=x*-x 为近似值的绝对误差,简称误差。
ε*=|e*|叫做近似值的误差限,e ∗x=x ∗−x x为相对误差,εr∗=ε∗|x ∗| 为相对误差限。
2.采用四舍五入原则时,值的误差不超过末位数字的半个单位(对π估计值取3.14时,误差|π-3.14|≤0.5 * 10-2). 3.ε(x 1∗±x 2∗)≤ ε(x 1∗)+ε(x 2∗) ε(x 1∗·x 2∗)≤|x 1∗|ε(x 2∗)+|x 2∗|ε(x 1∗) ε(x 1∗/x 2∗)≤|x 1∗|ε(x 2∗)+|x 2∗|ε(x 1∗)|x 2∗|24.相近数相减、大数吃小数等问题会加大误差。
T1. 已测得某场地长Ɩ的值为Ɩ*=110m ,宽d 的值为d*=80m ,已知 |Ɩ - Ɩ*| ≤ 0.2m ,|d – d*| ≤ 0.1m.试求面积s=Ɩd 的绝对误差限与相对误差限。
解:因为s= Ɩd, ðs ðƖ=d,ðsðd =Ɩ.故 ε(s∗)≈|(ðs ðl)∗|ε(l ∗)+|(ðs ðd)∗|ε(d ∗), (ðs ðl )∗=d ∗=80m (ðsðd)∗=l ∗=110m ε(l ∗)=0.2m ε(d ∗)=0.1m得绝对误差限 ε(s ∗)=27(m 2)相对误差限εr∗=ε(s ∗)|s ∗|=ε(s ∗)l ∗d ∗≈0.31%T3. 计算I n =e −1∫x n e xdx(n =0,1,…)1并估计误差。
解:由分部积分可得I n =e −1∫x n d (e x )=e −1(x n e x |01−∫e x d (x n )1)1=1−e −1n ∫x n−11e xdx =1−nI n−1 I 0=e−1∫e x10dx =1−e −1得到通式{I n =1−nI n−1 (n =1,2,…)I 0=1−e −1(1)为计算出I 0须先计算e -1,采用泰勒展开式,取k=7,使用四位小数计算。
§2简单迭代法——不动点迭代(iterate)迭代法是数值计算中的一类典型方法,被用于数值计算的各方面中。
一、简单迭代法设方程f(x)=0 (3)在[a,b]区间内有一个根*x ,把(3)式写成一个等价的隐式方程x=g(x) (4)方程的根*x 代入(4)中,则有)(**=x g x (5)称*x 为g的不动点(在映射g下,象保持不变的点),方程求根的问题就转化为求(5)式的不动点的问题。
由于方程(4)是隐式的,无法直接得出它的根。
可采用一种逐步显式化的过程来逐次逼近,即从某个[a,b]内的猜测值0x 出发,将其代入(4)式右端,可求得)(01x g x =再以1x 为猜测值,进一步得到)(12x g x =重复上述过程,用递推关系——简单迭代公式求得序列}{k x 。
如果当k →∞时*→x x k ,}{k x 就是逼近不动点的近似解序列,称为迭代序列。
称(6)式为迭代格式,g(x)为迭代函数,而用迭代格式(6)求得方程不动点的方法,称为简单迭代法,当*∞→=x x k k lim 时,称为迭代收敛。
构造迭代函数g(x)的方法:(1)=x a x x -+2,或更一般地,对某个)(,02a x c x x c -+=≠;(2)x a x /=; (3))(21xa x x +=。
取a=3,0x =2及根*x =1.732051,给出三种情形的数值计算结果见表表 032=-x 的迭代例子问题:如何构造g(x),才能使迭代序列}{k x 一定收敛于不动点?误差怎样估计?通常通过对迭代序列}{k x 的收敛性进行分析,找出g(x)应满足的条件,从而建立一个一般理论,可解决上述问题。
二、迭代法的收敛性设迭代格式为),2,1,0()(1 ==+k x g x k k而且序列}{k x 收敛于不动点*x ,即∞→→-*k x x k (0时)因而有)3,2,1(1 =-≤-*-*k xx x x k k (7)由于),(),)((11*-*-*∈-'=-x x x x g x x k k k ξξ当g(x)满足中值定理条件时有),(),)((11*-*-*∈-'=-x x x x g x x k k k ξξ (8)注意到(8)式中只要1)(<<'L g ξ时,(7)式成立.经过上述分析知道,迭代序列的收敛性与g(x)的构造相关,只要再保证迭代值全落在[a,b]内,便得:假定迭代函数g(x)满足条件(1) 映内性:对任意x ∈[a,b]时,有a ≤g(x) ≤b ;(2) 压缩性:g(x)在[a,b]上可导,且存在正数L<1,使对任意 x ∈[a,b],有L x g <')( (9)则迭代格式)(1k k x g x =+对于任意初值0x ∈[a,b]均收敛于方程x=g(x)的根,并有误差估计式011x x LL x x kk --≤-*(10)证明 :收敛性是显然的。
数值分析--第三章--迭代法迭代⼀般⽅程:本⽂实例⽅程组:⼀.jacobi迭代法从第i个⽅程组解出xi。
线性⽅程组Ax=b,先给定⼀组x的初始值,如[0,0,0],第⼀次迭代,⽤x2=0,x3=0带⼊第⼀个式⼦得到x1的第⼀次迭代结果,⽤x1=0,x3=0,带⼊第⼆个式⼦得到x2的第⼀次迭代结果,⽤x1=0,x2=0带⼊第三个式⼦得到x3的第⼀次迭代结果。
得到第⼀次的x后,重复第⼀次的运算。
转化成⼀般的形式:(其中L是A的下三⾓部分,D是A的对⾓元素部分,U 是上三⾓部分)得到迭代公式:其中的矩阵B和向量f如何求得呢?其实,矩阵B的计算也很简单,就是每⾏的元素/该⾏上的对⾓元素⼆.Gauss-Seidel迭代法【收敛速度更快】这个可以和jacobi法对⽐进⾏理解,我们以第⼆次迭代为例(这⾥的第⼀次迭代结果都⽤⼀样的,懒得去换)从上表对⽐结果可以看出,Jacobi⽅法的第⼆次迭代的时候,都是从第⼀次迭代结果中,获取输⼊值。
上⼀次迭代结果[2.5,3.0,3.0],将这个结果带⼊上⾯式⼦1,得到x1=2.88,;将[2.5,3.0,3.0]替换成[2.88,3.0,3.0]带⼊第⼆个式⼦的运算,这⾥得到x2=1.95,所以把[2.88,3.0,3.0]替换成[2.88,1.95,3.0]输⼊第三个式⼦计算X3=1.0.这就完成了这⼀次的迭代,得到迭代结果[2.88,1.95,1.0],基于这个结果,开始下⼀次迭代。
特点:jacobi迭代法,需要存储,上⼀次的迭代结果,也要存储这⼀次的迭代结果,所以需要两组存储单元。
⽽Gauss-Seidel迭代法,每⼀次迭代得到的每⼀个式⼦得到的值,替换上⼀次迭代结果中的值即可。
所以只需要⼀组存储单元。
转化成⼀般式:注意:第⼆个式⼦中的是k+1次迭代的第⼀个式⼦的值,不是第k次迭代得值。
计算过程同jacobi迭代法的类似三.逐次超松弛法SOR法上⾯仅仅通过实例说明,Jacobi和Seidel迭代的运算过程。
数值分析——二分法及迭代法数值分析是研究用数值方法解决数学问题的一门学科。
在数值分析中,二分法和迭代法是两种常用的数值求解方法。
本文将对二分法和迭代法进行详细介绍,并比较它们的特点和适用范围。
一、二分法二分法是一种通过将问题分解为两个子问题,并选择其中一个子问题进行求解的方法。
它适用于解决连续函数的求根问题。
二分法的基本思想是利用中值定理,通过不断缩小区间来逼近根的位置。
具体步骤如下:1.选取一个初始的区间[a,b],确保f(a)和f(b)的符号相反。
2.计算区间的中点c=(a+b)/23.判断f(c)的符号,并更新区间。
若f(c)与f(a)符号相反,则更新区间为[a,c];否则更新区间为[c,b]。
4.重复步骤2和步骤3,直到满足停止准则(例如满足一定精度要求,或达到最大迭代次数)。
5.最后得到的近似根为区间的中点c。
二分法的优点是收敛速度快,且能够保证收敛到根的位置。
然而,二分法的缺点是每次迭代只能减少一半的区间长度,所以其收敛速度相对较慢。
此外,二分法需要事先确定区间,并且要求f(a)和f(b)的符号相反,这对于一些问题来说可能并不容易实现。
因此,二分法主要适用于单峰函数求根问题。
二、迭代法迭代法是一种通过迭代逐步逼近解的方法。
它适用于一般的数值求解问题。
迭代法的基本思想是通过不断迭代的过程,将原始问题转化为一个具有相同解的等价问题,并通过逐步逼近来求解。
具体步骤如下:1.选取一个初始的近似解x_0。
2.根据迭代公式x_{k+1}=g(x_k),计算下一个近似解x_{k+1},其中g(x)是一个适当的函数。
3.判断迭代是否达到停止准则(例如满足一定精度要求,或达到最大迭代次数)。
若满足停止准则,则停止迭代;否则返回步骤2继续迭代。
4.最终得到的近似解为迭代过程中的最后一个近似解x_k。
迭代法的优点是适用范围广,可以求解一般的数值问题。
此外,迭代法的迭代公式可以根据具体问题的特点进行选择,使得迭代过程更加高效。
【关键字】分析数值分析实验报告(3)学院:信息学院班级:计算机0903班姓名:王明强学号:课题三线性方程组的迭代法一、问题提出1、设线性方程组=x= ( 1, -1, 0, 1, 2, 0, 3, 1, -1, 2 )2、设对称正定阵系数阵线方程组=x = ( 1, -1, 0, 2, 1, -1, 0, 2 )3、三对角形线性方程组=x= ( 2, 1, -3, 0, 1, -2, 3, 0, 1, -1 )试分别选用Jacobi 迭代法,Gauss-Seidol迭代法和SOR方法计算其解。
二、要求1、体会迭代法求解线性方程组,并能与消去法做以比较;2、分别对不同精度要求,如由迭代次数体会该迭代法的收敛快慢;3、对方程组2,3使用SOR方法时,选取松弛因子=0.8,0.9,1,1.1,1.2等,试看对算法收敛性的影响,并能找出你所选用的松弛因子的最佳者;4、给出各种算法的设计程序和计算结果。
三、目的和意义1、通过上机计算体会迭代法求解线性方程组的特点,并能和消去法比较;gauss消去法是一种规则化的加减消元法。
它的基本思想是:通过逐次消元计算把需要求求解的线性方程转化成上三角形方程组,也就是把线性方程组的系数矩阵转化为上三角矩阵,从而使一般线性方程组求解转化为等价(同解)的上三角方程组的求解。
消去法是直接方法的一种。
优点:对于简单的方程组可以很快得出结果,计算中如果没有舍入误差,在稳定的方程组中容易得到精确解,理论上可以求解任何可以求出解得方程组。
缺点:数值有的时候不稳定(可采用列主元gauss消去法),既要消去,又要回代,算法实现起来比较复杂,不适用于大规模方程组。
迭代法是从某一取定的初始向量x(0)出发,按照一个适当的迭代公式,逐次计算出向量x(1),x(2),......,使得向量序列{ x(k)}收敛于方程组的精确解,这样,对于适当大的k,可取x(k)作为方程组的近似解。
优点:算法简单,程序易于实现,特别适用求解庞大稀疏线性方程组。