数值计算方法第2章
- 格式:ppt
- 大小:646.50 KB
- 文档页数:51
数值计算1-5章数值计算⽅法第1章绪论1.1数值计算⽅法的研究对象和特点数值计算⽅法也称数值分析,它研究⽤计算机求解各种数学问题的数值⽅法及其理论。
数学学科内容⼗分⼴泛,数值计算⽅法属于计算数学的范畴,这⾥只涉及科学和⼯程计算中常见的数学问题,如函数的插值、逼近、离散数据的拟合、数值积分与数值微分、线性和⾮线性⽅程数值解法和矩阵特征值问题数值解法和微分⽅程数值解法等.由于计算机科学与技术的迅速发展,数值计算⽅法的应⽤已经普遍深⼊到各个科学领域,很多复杂和⼤规模的计算问题都可以在计算机上进⾏计算,新的、有效的数值⽅法不断出现.现在,科学与⼯程中的数值计算已经成为各门⾃然科学和⼯程技术科学研究的⼀种重要⼿段,成为与实验和理论并列的⼀个不可缺少的环节.所以,数值计算⽅法既是⼀个基础性的,同时也是⼀个应⽤性的数学学科分⽀,与其他学科的联系⼗分紧密.⽤数值⽅法求解数学问题⾸先要构造算法,即由运算规则(包括算术运算、逻辑运算和运算顺序)构成的完整的解题过程.同⼀个数学问题可能有多种数值计算⽅法,但不⼀定都有效.评价⼀个算法的好坏主要有两条标准:计算结果的精度和得到结果所付出的代价.我们⾃然应该选择代价⼩⼜能满⾜精度要求的算法.计算代价也称为计算复杂性,包括时间复杂性和空间复杂性.时间复杂性好是指节省时间,主要由运算次数决定.空间复杂性好是指节省存储量,主要由使⽤的数据量决定.⽤计算机求数学问题的数值解不是简单地构造算法,它涉及多⽅⾯的理论问题,例如,算法的收敛性和稳定性等.除理论分析外,⼀个数值⽅法是否有效,最终要通过⼤量的数值实验来检验.数值计算⽅法具有理论性、实⽤性和实践性都很强的特点.作为数值计算⽅法的基础知识,本课程不可能⾯⾯俱到.除构造算法外,各章根据内容⾃⾝的特点,讨论的问题有所侧重.学习时我们⾸先要注意掌握⽅法的基本原理和思想,要注意⽅法处理的技巧及其与计算机的结合,要重视误差分析、收敛性和稳定性的基本理论.其次,要通过例⼦,学习使⽤各种数值⽅法解决实际计算问题,熟悉数值⽅法的计算过程.最后,为了掌握本课程的内容,还应做⼀定数量的理论分析与计算练习.1.2数值计算的误差1.2.1误差的来源应⽤数学⼯具解决实际问题,⾸先,要对被描述的实际问题进⾏抽象、简化,得到实际问题的数学模型.数学模型与实际问题之间会出现的误差,我们称之为模型误差.在数学模型中,通常要包含⼀些由观测数据确定的参数.数学模型中⼀些参数观测结果⼀般不是绝对准确的.我们把观测模型参数值产⽣的误差称为观测误差.例如,设⼀根铝棒在温度t时的实际长度为Lt,在t=0时的实际长度为L0,⽤lt来表⽰铝棒在温度为t时的长度计算值,并建⽴⼀个数学模型l t =L(1+at), a≈0.0000238/℃,其中a是由实验观测得到的常数,a∈[0.0000237,0.0000239],则称Lt -lt为模型误差,a-0.0000238是a 的观测误差.在解实际问题时,数学模型往往很复杂,因⽽不易获得分析解,这就需要建⽴⼀套⾏之有效的近似⽅法和数值⽅法.我们可能⽤容易计算的问题代替不易计算的问题⽽产⽣误差,也可能⽤有限的过程代替⽆限的过程⽽产⽣误差.我们将模型的准确解与⽤数值⽅法求得的准确解之间的误差称为截断误差或⽅法误差.例如,对函数()()35721sin 13!5!7!21!n x x x xn x x n +=-+-+++-+,该式右边有⽆限多项,计算机上⽆法计算.然⽽,根据微积分学中的泰勒(Taylor )定理,当|x |较⼩时,我们若⽤前3项作为sin x 的近似值,则截断误差的绝对值不超过77!x .⽤计算机做数值计算时,⼀般也不能获得数值计算公式的准确解,需要对原始数据、中间结果和最终结果取有限位数字.我们将计算过程中取有限位数字进⾏运算⽽引起的误差称为舍⼊误差.例如,13=0.33333…,如果我们取⼩数点后4位数字,则13-0.3333=0.000033…就是舍⼊误差.在数值分析中,除了研究数学问题的算法外,还要研究计算结果的误差是否满⾜精度要求,这就是误差估计问题.在数值计算⽅法中,主要讨论的是截断误差和舍⼊误差.1.2.2 误差与有效数字定义1.1 设x 是某实数的精确值,A x 是它的⼀个近似值,则称x -A x 为近似值A x 的绝对误差,或简称误差.Ax x x-称为x A 的相对误差.当x =0时,相对误差没有意义.在实际计算中,精确值x 往往是不知道的,所以通常把AAx x x -作为A x 的相对误差.定义1.2 设x 是某实值的精确值,A x 是它的⼀个近似值,并可对A x 的绝对误差作估计|x -A x |?A ε,则称εA 是A x 的绝对误差界,或简称误差界.称AAx ε是A x 的相对误差界.例 1.1 我们知道π=3.1415926…,若取近似值πA =3.14,则π-πA =0.0015926…,可以估计绝对误差界为0.002,相对误差界为0.0006.例 1.2 测量⼀⽊板长是954 cm,问测量的相对误差界是多⼤?解因为实际问题中所截取的近似数,其绝对误差界⼀般不超过最⼩刻度的半个单位,所以当x =954 cm 时,有A ε=0.5 cm ,其相对误差界为0.50.00052410.053%954AAx ε==< .定义1.3 设A x 是x 的⼀个近似值,将A x 写成12100.,k A i x a a a =±? , (1.1) 它可以是有限或⽆限⼩数的形式,其中i a (i =1,2,…)是0,1,…,9中的⼀个数字,1a ≠0,k 为整数.如果|x -A x |?0.5×10k n -,则称A x 为x 的具有n 位有效数字的近似值.可见,若近似值A x 的误差界是某⼀位的半个单位,该位到A x 的第⼀位⾮零数字共有n 位,则A x 有n 位有效数字.通常在x 的准确值已知的情况下,若要取有限位数的数字作为近似值,就采⽤四舍五⼊的原则,不难验证,采⽤四舍五⼊得到的近似值,其绝对误差界可以取为被保留的最后数位上的半个单位.例如|π-3.14|?0.5×210-, |π-3.142|?0.5×310-.按定义,3.14和3.142分别是具有3位和4位有效数字的近似值.显然,近似值的有效数字位数越多,相对误差界就越⼩,反之也对.下⾯,我们给出相对误差界与有效数字的关系.定理1.1 设x 的近似值A x 有(1.1)式的表达式. (1) 如果A x 有n 位有效数字,则 111×102A nAx x x a --≤; (1.2)(2) 如果()111×1021A nAx x x a --≤+, (1.3)则A x ⾄少具有n 位有效数字.证由(1.1)式可得到()111--?+≤≤?k A k a x a . (1.4)所以,当A x 有n 位有效数字时11110.5101×10,×102k nA nk Ax x x a a ----?≤=即(1.2)式得证.由(1.3)式和(1.4)式有()()nk nk AAA A a a x x x x x x ---?=?+?+≤-=-105.0101211011111,即说明A x 有n 位有效数字,(2)得证.例1.30.1%,应取⼏位有效数字?解由于因此1a =4,设有n 位有效数字,则由(1.2)式,可令11110a -?≤,即410n -?18,得n ?4.故只要对4位有效数字,其相对误差就可⼩于0.1%,4.472.例1.4 已知近似数A x 的相对误差界为0.3%,问A x ⾄少有⼏位有效数字?解设A x 有n 位有效数字,由于A x 的第⼀个有效数1a 没有具体给定,⽽我们知道1a ⼀定是1,2,…,9中的⼀个,由于()12311101000210291A Ax x x --≤<=+,故由(1.3)式知n=2,即A x ⾄少有2位有效数字.1.2.3 函数求值的误差估计对⼀元函数f(x ),⾃变量x 的⼀个近似值为A x ,以f(A x )近似f(x ),其误差界记作ε(f(A x )).若f(x )具有⼆阶连续导数,f′(A x )与f″(A x )的⽐值不太⼤,则可忽略|x -A x |的⼆次项,由Taylor 展开式得到f(A x )的⼀个近似误差界ε(f(A x ))≈|f′(A x )|ε(A x ).对n 元函数f(x 1,x 2,…,x n ),⾃变量x 1,x 2,…,x n 的近似值分别为x 1A ,x 2A ,…,x n A ,则有()()()12121,,,,,,nn A A nA k kA k k Af f x x x f x x x x x x=??-≈- ∑ ,其中()12,,,A A nA k k f f x x x x x A.因此,可以得到函数值的⼀个近似误差界()()()121,,,nAA nA kA k k Af f x x x x x εε=??≈ ∑. 特别地,对f(x 1,x 2)=x 1±x 2有ε(x 1A ±x 2A )=ε(x 1A )+ε(x 2A ).同样,可以得到ε(x 1A x 2A )≈|x 1A |ε(x 2A )+|x 2A |ε(x 1A ),()()12211222A A A A A A A x x x x x x x εεε+??≈,20A x ≠例1.5 设有长为l,宽为d 的某场地.现测得l 的近似值l A =120 m,d 的近似值d A =90 m ,并已知它们的误差界为|l-l A |?0.2 m,|d-d A |?0.2 m.试估计该场地⾯积S=ld 的误差界和相对误差界.解这⾥ε(l A )=0.2,ε(d A )=0.2,并且有2,,10800A A A S S d l S l d mld====.于是有误差界()21200.2900.242A S m ε≈?+?=,相对误差界()()420.39%10800A r A AS S l dεε=≈=.例1.6 设有3个近似数a=2.31, b=1.93, c=2.24,它们都有3位有效数字.试计算p=a+bc 的误差界和相对误差界,并问p 的计算结果能有⼏位有效数字?解 p=2.31+1.93×2.24=6.6332.于是有误差界ε(p)=ε(a)+ε(bc)≈ε(a)+|b|ε(c)+|c|ε(b) =0.005+0.005(1.93+2.24)=0.02585,相对误差界εr (p)=()0.025856.6332p pε≈≈0.39%.因为ε(p)≈0.02585<0.05,所以p=6.6332能有2位有效数字.1.2.4 计算机中数的表⽰任意⼀个⾮零实数⽤(1.1)式表⽰,是规格化的⼗进制科学记数⽅法.在计算机中通常采⽤⼆进制的数系(或其变形的⼗六进制等),并且表⽰成与⼗进制类似的规格化形式,即浮点形式±2m ×0.β1β2…βt ,这⾥整数m 称为阶码,⽤⼆进制表⽰为m=±α1α2…αs , αj =0或1(j=1,2,…,s),s 是阶的位数.⼩数0.β1β2…βt 称为尾数,其中β1=1,βj =0或1(j=2,3,…,t),t 是尾数部位的位数.s 和t 与具体的机器有关.由于计算机的字长总是有限位的,所以计算机所能表⽰的数系是⼀个特殊的离散集合,此集合的数称为机器数.⽤浮点⽅式表⽰的数有⽐较⼤的取值范围.⼗进制输⼊计算机时转换成⼆进制,并对t 位后⾯的数作舍⼊处理,使得尾数为t 位,因此⼀般都有舍⼊误差.两个⼆进制数作算术运算时,对计算结果也要作类似的舍⼊处理,使得尾数为t 位,从⽽也有舍⼊误差.在实现算法时,计算的最后结果与算法的精确解之间的误差,从根本上说是由机器的舍⼊误差造成的,包括输⼊数据和算术运算的舍⼊误差.因此有必要对计算机中数的浮点表⽰⽅法和舍⼊误差有⼀个初步的了解.有时为了分析某⼀个计算⽅法可能出现的误差现象,为了适应⼈们的习惯,我们会采⽤⼗进制实数系统进⾏误差分析.1.3 数值稳定性和要注意的若⼲原则 1.3.1 数值⽅法的稳定性实际计算时,给定的数据会有误差,数值计算中也会产⽣误差,并且,这些误差在进⼀步的计算中会有误差传播.因此,尽管数值计算中的误差估计⽐较困难,我们还是应该重视计算过程中的误差分析.定义 1.4 对于某个数值计算⽅法,如果输⼊数据的误差在计算过程中迅速增长⽽得不到控制,则称该算法是数值不稳定的,否则是数值稳定的.下⾯举例说明误差传播的现象.例 1.7 计算积分值105nxdx I x =+?, n=0,1,…,6.解由于要计算系列的积分值,我们先推导In 的⼀个递推公式.由1110555n n n n x x I I dx x --++=+?111n xdx n-==,可得下⾯两个递推算法.算法1:115n n I I n-=-,n=1,2, (6)算法2:1115n n I I n -??=-,n=6,5, (1)直接计算可得0ln 6ln 5I =-.如果我们⽤4位数字计算,得I 0的近似值为0I *=0.1823.记n n n E I I *=-,I n *为In 的近似值.对算法1,有15n n E E -=-=…=()5n-E 0.按以上初始值I0的取法有|E 0|?0.5×410-,事实上|E 0|≈0.22×410-.这样,我们得到|E 6|=65|E 0|≈0.34.这个数已经⼤⼤超过了I 6的⼤⼩,所以6I *连⼀位有效数字也没有了,误差掩盖了真值.对算法2,有E k-n =15n ??-E k ,|E 0|=615??|E 6|.如果我们能够给出I 6的⼀个近似值,则可由算法2计算I n (n=5,4,…,0)的近似值.并且,即使E 6较⼤,得到的近似值的误差将较⼩.由于()()11011616551kkk xxI d d x x k k =<<=++??,因此,可取Ik 的⼀个近似值为()()11126151k I k k *=+?? ? ?++??. 对k=6有6I *=0.0262.按0I *=0.1823和6I *=0.0262,分别按算法1和算法2计算,计算结果如表1-1,其中()1n I 为算法1的计算值, ()2n I 为算法2的计算值.易知,对于任何⾃然数n,都有0表1-1n()1nI()2nInI (4位)0 0.1823 0.1823 0.18231 0.0885 0.0884 0.08842 0.0575 0.0580 0.05803 0.0458 0.0431 0.04314 0.0210 0.0344 0.03435 0.0950 0.0281 0.02856-0.3083 0.0262 0.0243当然,数值不稳定的⽅法⼀般在实际计算中不能采⽤.数值不稳定的现象属于误差危害现象.下⾯讨论误差危害现象的其他表现及如何避免问题.1.3.2 避免有效数字的损失在数值计算中,参加运算的数有时数量级相差很⼤,⽽计算机位数有限,如不注意,“⼩数”的作⽤可能消失,即出现“⼤数”吃“⼩数”的现象. 例1.8 ⽤3位⼗进制数字计算x =101+δ1+δ2+…+δ100,其中0.1?δi ?0.4,i =1,2, (100)解在计算机内计算时,要写成浮点数形式,且要对阶.如果是101与δ1相加,对阶时,101=0.101×103,δ1=0.000×103.因此,如果我们⾃左⾄右逐个相加,则所有的δi 都会被舍掉,得x ≈101.但若把所有的δi 先加起来,再与101相加,就有111=101+100×0.1?x ?101+100×0.4=141.可见,计算的次序会产⽣很⼤的影响.这是因为⽤计算机计算时,在运算中要“对阶”,对阶引起了⼤数吃⼩数的现象.⼤数吃⼩数在有些情况下是允许的,但有些情况下则会造成谬误.在数值计算中,两个相近数相减会使有效数字严重损失.例1.9 求实系数⼆次⽅程20ax bx c ++=的根,其中b 2-4ac>0,ab ≠0. 解考虑两种算法. 算法1:1,22x a=算法2:(12b sign b x a--=, 21c x ax =,其中sign 表⽰取数的符号,即()1,0,0,0,1,0.b sign b b b >??==??-对算法1,若ac b 42>>,则是不稳定的,否则是稳定的.这是因为在算法1中分⼦会有相近数相减的情形,会造成有效数字的严重损失,从⽽结果的误差很⼤.算法2不存在这个问题,在任何情况下都是稳定的.因此称算法1是条件稳定的,算法2是⽆条件稳定的.例如,对于⽅程262.10 1.0000x x ++=,⽤4位有效数字计算,结果如下:算法1:x 1=-62.08, x 2=-0.02000. 算法2:x 1=-62.08, x 2=-0.01611.准确解是x 1=-62.083892…,x 2=-0.016107237….这⾥,ac b 42>>,所以算法1不稳定,舍⼊误差对x 2的影响⼤.在进⾏数值计算时,如果遇到两相近数相减的情形,可通过变换计算公式来避免或减少有效数字的损失.例如,如果|x |≈0,有变换公式1cos sin sin 1cos x x xx-=+.如果x 1≈x 2,有变换公式1122lg lg lgx x x x -=.如果x 〉〉1,有变换公式.此外,⽤绝对值很⼩的数作除数时,舍⼊误差会很⼤,可能对计算结果带来严重影响.因此,要避免除数绝对值远远⼩于被除数绝对值的除法运算.如果⽆法改变算法,则采⽤增加有效位数进⾏计算,或在计算上采⽤双精度运算,但这要增加机器计算时间和多占内存单元.1.3.3 减少运算次数在数值计算中,要注意简化计算步骤,减少运算次数,这也是数值分析中所要研究的重要内容.同样⼀个计算问题,如果能减少运算次数,不但可节省计算机的计算时间,还能减少误差的积累.下⾯举例说明简化计算公式的重要性.例1.10 给定x ,计算多项式()110nn n n n P x a x a xa --=+++的值.如果我们先求ak x k ,需要进⾏k 次乘法,再相加,则总共需要()12n n +次乘法和n次加法才能得到⼀个多项式的值.如果我们将多项式写成下⾯的形式()(){}1210n n n n P x x x x a x a a a a --??=+++++?? ,则只需n 次乘法和n 次加法即可得到⼀个多项式的值,这就是著名的秦九韶算法,可描述为1,,1,2,,0,n n k k k u a u u x a k n n +=??=+=--?最后有()0n u P x =.例1.11 计算ln2的值. 解如果利⽤级数()()11ln 11nn n xx n∞+=+=-∑计算ln2,若要精确到误差的绝对值⼩于10-5,要计算10万项求和,计算量很⼤,并且舍⼊误差的积累也⼗分严重.如果改⽤级数()35211ln 213!5!21!n xx x xx x n +??+=+++++ ? ?-+??来计算ln2,取x =1,则只要计算前9项,截断误差便⼩于10-10.1.4 向量和矩阵的范数为了对矩阵计算进⾏数值分析,我们需要对向量和矩阵的“⼤⼩”引进某种度量.在解析⼏何中,向量的⼤⼩和两个向量之差的⼤⼩是⽤“长度”和“距离”的概念来度量的.在实数域中,数的⼤⼩和两个数之间的距离是通过绝对值来度量的.范数是绝对值概念的⾃然推⼴.1.4.1 向量的范数定义1.5 如果向量x ∈n R 的某个实值函数f(x )=‖x ‖满⾜ (1) 正定性:x ?0,且x =0当且仅当x =0;(2) 齐次性:对任意实数α,都有αx =|α|x ; (3) 三⾓不等式:对任意x ,y ∈R n ,都有+x y ?x +y ,则称x 为n R 上的⼀个向量范数.在n R 中,记()12,,,Tn x x x =x ,实际计算中最常⽤的向量范数有: (1) 向量的∞范数1max i i nx ∞≤≤=x;(2) 向量的1范数11nii x ==∑x;(3) 向量的2范数12221in x i ==??∑x.容易验证,向量的∞范数和1范数满⾜定义1.5中的条件.对于2范数,满⾜定义1.5中的条件(1)和(2)是显然的,对于条件(3),利⽤向量内积的Cauchy-Schwarz 不等式可以验证.更⼀般地,有如下向量的p 范数1pipn px i ==??∑x,其中p ∈ [1,+∞).容易验证1ppn∞∞≤≤xxx,由此可得如下定理.定理1.2 lim pp ∞→∞=xx.下⾯,我们利⽤向量范数的连续性来说明向量范数的重要特征.定理1.3 设给定A ∈R n ×n ,x =(x 1,x 2,…,x n )T ∈R n ,则对R n 上每⼀种向量范数,‖A x ‖都是x 1,x 2,…,x n 的n 元连续函数.证设a j 为A 的列向量,将A 写成A =(a 1,a 2,…,a n ). 则由三⾓不等式,对h =(h 1,h 2,…,h n )T ∈R n,有|‖A (x +h )‖-‖A x ‖|?‖A h ‖=‖1ni i h =∑a i ‖1ni i h =∑‖a i ‖M max|h i |,其中M=1ni =∑‖a i ‖.所以,对任意的ε>0,当max|h i |<Mε时,有|‖A (x +h )‖-‖A x ‖|<ε, 这就证明了‖A x ‖的连续性.推论1.1 ‖x ‖是x 的各分量的连续函数. 向量范数的⼀个重要特征是具有等价性.定理 1.4 R n 上的所有向量范数是彼此等价的,即对R n 上的任意两种向量范数‖x ‖s和‖x ‖t ,存在常数c 1,c 2>0,使得对任意x ,有c 1‖x ‖s ?‖x ‖t ?c 2‖x ‖s .证只要就‖x ‖s =‖x ‖∞证明上式成⽴即可,即证明存在常数c 1,c 2>0,对⼀切x ∈R n且x ≠0,有c 1‖x ‖∞?‖x ‖t ?c 2‖x ‖∞.记R n 上的有界闭集D={x :x =(x 1,x 2,…,x n )T ,‖x ‖∞=1}.由定理1.3的推论知,‖x ‖t 是D 上的n 元连续函数,所以在D 上有最⼤值c 2和最⼩值c 1,且x ∈D 时有x ≠0,故有c 2?c 1>0.现考虑x ∈R n ,且x ≠0,则有∞x x ∈D,所以有c 1?‖∞x x ‖t ?c 2, ?x ∈R n ,x ≠0.从⽽对x ≠0有c 1‖x ‖∞?‖x ‖t ?c 2‖x ‖∞.⽽x =0时上式⾃然成⽴,定理得证.由于向量范数之间具有等价性,对于范数的极限性质,我们只需对⼀种范数进⾏讨论,其余范数也都具有相似的结论.⽐如,我们可以⽅便地讨论向量序列的收敛性.定义1.6 设向量序列x (k)=()()()()12,,,Tk k k nx x x ∈R n ,k=1,2,…,若存在x *=()12 ,,,Tn x x x ***∈R n ,使得()lim k iik x x *→∞=, i =1,2,…,n,则称序列{x (k)}收敛于x *,记为()lim k ik *→∞=x x.按定义有)()lim lim 0k k k k **→∞→∞∞=?-=xx xx.⼜因为()()()12k k k c c ***∞∞-≤-≤-xxxxxx,所以有()()lim lim 0k k k k **→∞→∞=?-=xx xx.因此,若向量序列在⼀种范数下收敛,则在其他范数下也收敛.不必强调是在哪种范数意义下收敛.1.4.2矩阵的范数定义1.7 如果矩阵A ∈R n ×n 的某个实值函数f(A )=‖A ‖满⾜ (1) 正定性:‖A ‖?0,且‖A ‖=0当且仅当A =0;(2) 齐次性:对任意实数α,都有‖αA ‖=|α|‖A ‖;(3) 三⾓不等式:对任意A ,B ∈R n ×n ,都有‖A +B ‖?‖A ‖+‖B ‖; (4) 相容性:对任意A ,B ∈R n ×n ,都有‖A B ‖?‖A ‖‖B ‖;则称‖A ‖为Rn ×n上的⼀个矩阵范数.可以验证,对()ij n na ?=A ,12211Fn n a ij i j ?? ?=∑∑ ?==??A是⼀种矩阵范数,称之为Froben i us 范数,简称F 范数.由于矩阵与向量常常同时参与讨论与计算,矩阵范数与向量范数之间需要有⼀种联系. 定义1.8 对于给定的R n 上的⼀种向量范数‖x ‖和R n ×n 上的⼀种矩阵范数‖A ‖,如果满⾜‖A x ‖?‖A ‖‖x ‖,则称矩阵范数‖A ‖与向量范数‖x ‖相容.上⾯的定义1.7是矩阵范数的⼀般定义,下⾯我们通过已给的向量范数来定义与之相容的矩阵范数.定义 1.9 设x ∈R n ,A ∈R n ×n ,对给出的⼀种向量范数v x ,相应地定义⼀个矩阵的⾮负函数m axvvx v≠=A x Ax.称之为由向量范数导出的矩阵范数,也称为算⼦范数或从属范数.由定义可得vvv≤A xAx,1max vvv==xAAx.算⼦范数满⾜矩阵范数⼀般定义中的条件(1)和(2)是显然的,现验证满⾜条件(3)和(4).对任意的A ,B ∈R n ×n ,有()1maxvvv =+=+xA B x11max max v vvvvvxx==≤+=+Ax BxAB1max vvv==xABABx1max vvvvvv=≤=xABxA.因此,算⼦范数满⾜矩阵范数⼀般定义中的条件(3)和(4).由常⽤的向量范数,可以导出与其相容的矩阵算⼦范数.定理1.5 设A ∈R n ×n ,记()ij n na ?=A ,则(1)11max nij i nj a ∞≤≤==∑A,称之为矩阵A 的⾏范数;(2) 111m ax nij j ni a ≤≤==∑A ,称之为矩阵A 的列范数;(3)2=A称之为矩阵A 的2范数或谱范数,其中,()max TλA A 表⽰T A A的最⼤特征值.证这⾥只对(1)和(3)给出证明,(2)的证明同理可得. 先证明(1):设x =(x 1,x 2,…,x n )T ≠0,不妨设A ≠0,则有1111max max nnij j ij i ni nj j xa x xa ∞∞≤≤≤≤===≤∑∑A .111max max nij xi nj a ∞∞∞=≤≤===∑AAx.设矩阵A 的第p ⾏元素的绝对值之和达到最⼤,即111max nnpj ij i nj j a a ≤≤===∑∑.取向量()12,,,Tn ξξξ= ξ,其中1,0,1,0.a pj j apjξ≥??=?-显然,‖ξ‖∞=1,⽽且1111m ax m axnn∞∞=≤≤===≥==∑∑xAA xA ξ.于是(1)得证.再证明(3):显然,A TA 是对称半正定矩阵,它的全部特征值均⾮负,设为120n λλλ≥≥≥≥ .由实对称矩阵的性质,各特征值对应的特征向量必正交.设对应的标准正交特征向量为12,,,nu u u ,即T i i i λ=A Au u (i =1,2,…,n),(u i ,u j )=δi j (i ,j=1,2,…,n).对向量x ∈R n ,‖x ‖2=1,可由R n 的⼀组基u i (i =1,2,…,n)线性表⽰,即有1niii c ==∑x u ,22211nii c===∑x11nnT Ti ii i i cc λλλ====≤=∑∑A xx A A x .另⼀⽅⾯,取ξ=u 1,显然有‖ξ‖2=1,211112T T Tλλ===A ξξA A ξu u .因此,2221m ax ===xAA x得证.由定理1.5可见,计算⼀个矩阵的⾏范数和列范数是⽐较容易的,⽽矩阵的2范数计算却不⽅便,但由于它有许多好的性质,所以在理论上还是有⽤的.例1.12 设矩阵1234-??=解 {}m ax 3,77∞==A,{}1m ax 4,66==A ,10141420T-??=-A A ()21014det 3041420Tλλλλλ--==-+-I A A ,求得115λ=+215λ=-因此25.46=≈A.定义1.10 设A ∈R n ×n 的特征值为λi (i =1,2,…,n),称()1max i i nρλ≤≤=A为A 的谱半径.谱半径在⼏何上可解释为以原点为圆⼼,能包含A 的全部特征值的圆的半径中最⼩者.例1.13 计算例1.12中矩阵的谱半径.解由A 的特征⽅程()2=--=-I A得12λ=,22λ=所以() 5.372ρ=≈A .定理1.6 设A ∈R n ×n ,则有()ρ≤A A .证设A x =λx ,x ≠0,且|λ|=ρ(A ),必存在向量y ,使x y T 不是零矩阵.于是()TTTTA ρλ==≤A xyxyxyA xy,即得ρ(A )?‖A ‖.例1.14 设矩阵A 与矩阵B 是对称的,求证ρ(A +B )?ρ(A )+ρ(B ).证因T =A A ,于是有()()()222max max 2A A AA ,即‖A ‖2=ρ(A ).同理‖B ‖2=ρ(B ).由于A +B =(A +B )T,因此()()()222ρρρ+=+≤+=+A B A BABA B .定理1.7 如果‖B ‖<1,则I ±B 为⾮奇异矩阵,且()111-±≤-I B B,这⾥的矩阵范数是指矩阵的算⼦范数.证若I ±B 奇异,则存在向量x ≠0,使(I ±B )x =0,故有ρ(B )?1,这与‖B ‖<1⽭盾,所以I ±B ⾮奇异.由于()()11--±=± I B I B I B ,于是得()()11--±≤+±I B I BI B .上的任意两种矩阵范数都是等价的,即对Rn ×n上的任意两种矩阵范数sA和t A ,存在常数c 1,c 2>0,使得12stsc c ≤≤AAA.由矩阵范数的等价性,我们可以⽤矩阵的范数描述矩阵序列的极限性质.定义1.11 设矩阵序列()()()kk n nijn na ??=∈A R,k=1,2,…,若存在()n nij n na **=∈A R,使得()lim k ijijk a a *→∞()lim k k *→∞=AA.可以验证()()lim lim 0k k k k **→∞→∞=?-=AA AA.评注本章介绍了数值计算的研究对象、误差及相关概念、数值计算的稳定性及构造算法的基本原则.考虑到矩阵计算的数值分析,本章还介绍了向量范数和矩阵范数的基本概念和常⽤定理.误差分析问题是数值分析中重要⽽困难的问题.误差的基本概念和误差分析的若⼲原则,对学习本课程是很有必要的.但是,作为⼯程或科学计算的实际问题则要复杂得多,往往要根据不同问题分门别类地进⾏分析.例如,由于舍⼊误差有随机性,有⼈应⽤概率的观点研究误差规律.在⼯程计算中,常⽤⼏种不同办法(包括实验⽅法)进⾏⽐较,以确定计算结果的可靠性.20世纪60年代以来,发展了两种估计误差的理论:⼀种是J.H.W i lk i nson 等⼈针对计算机浮点算法提出了⼀套预先估计的研究误差的⽅法,使矩阵运算的舍⼊误差研究获得了新发展;另⼀种是R .E.Moore 等⼈应⽤区间分析理论估计误差,开创了研究误差的新⽅法. 关于范数⽅⾯,所述内容是为以下各章服务的⼀些初步概念和常⽤的定理,对本书够⽤就可以了.例如只讨论了R n ×n 的范数,⽽没有顾及R n ×m .⼜例如介绍了R n 和R n ×n 上范数的等价性,此性质对有限维空间都是成⽴的,⽽对于C[a,b]则没有这个性质,这些都是赋范线性空间有关的问题,详细讨论这些问题是泛函分析的内容.习题 11.1 已知e=2.71828…,问下列近似值A x 有⼏位有效数字,相对误差界是多少? (1) x =e, A x =2.7; (2) x =e, A x =2.718; (3) x =e100, A x =0.027; (4) x =e100, A x =0.02718. 1.2 设原始数据的下列近似值每位都是有效数字:1x *=1.1021, 2x *=0.031, 3x *=56.430. 试计算(1) 1x *+2x *+3x *;(2),并估计它们的相对误差界.1.3 设x 的相对误差界为δ,求n x 的相对误差界.1.4 设x >0,x 的相对误差界为δ,求ln2的绝对误差界.1.5 为了使计算球体体积时的相对误差不超过1%,问测量半径R 时的允许相对误差界是多少?1.6 三⾓函数值取4位有效数字,怎样计算1-cos2°才能保证精度? 1.7 设0Y =28,按递推公式nY=1n Y --…,计算.若取27.982(5位有效数字),试问计算Y 100将有多⼤误差?1.8 求解⽅程25610x x ++=,使其根⾄少具有4位有效数字(≈27.982).1.9 正⽅形的边长⼤约为100 cm ,应怎样测量才能使其⾯积的误差不超过21cm ? 1.10 序列{yn}满⾜递推关系1101n n y y -=-,n=1,2,….若y 0 1.41(3位有效数字),计算到y 10时的误差有多⼤?这个计算过程稳定吗?1.11 对积分11n x n I x edx -=,n=0,1,…,验证101I e-=-,11n n I nI -=-.若取e -1≈0.3679,按递推公式11n n I nI -=-,⽤4位有效数字计算I 0,I 1,…,I 9,并证明这种算法是不稳定的.1.12 反双曲正弦函数为()(ln f x x =+.如何计算f(x )才能避免有效数字的损(1) sin x -siny ; (2) arctan x -arctany ;(3)2; (4)212xe-.1.14 已知三⾓形⾯积1sin 2s ab C=,其中C 为弧度,0π,且测量a,b,C 的误差分别为Δa,Δb,ΔC ,证明⾯积的误差Δs 满⾜s a b C s ab C≤++ .1.15 设P ∈R n ×n 且⾮奇异,⼜设‖x ‖为R n 上的⼀种向量范数,定义p=xP x.试证明‖x‖P 是R n 上的⼀种向量范数.1.16 设A ∈R n ×n 为对称正定矩阵,定义()12,A=xA x x .试证明‖x‖A 为R n 上的⼀种向量范数.1.17 设矩阵0.60.50.10.3??=2F≤≤AA,并说明‖A ‖F 与‖x‖2相容.1.19 设P ∈Rn ×n且⾮奇异,⼜设‖x‖为R n上的⼀种向量范数,定义范数‖x‖P =‖P x ‖.证明对应于‖x‖P 的算⼦范数1 p-=APAP.1.20 设A 为⾮奇异矩阵,求证:11m iny ∞-≠∞∞=A y yA.。
第一章测试1.数值计算方法研究的误差有()A:截断误差;B:观测误差;C: 模型误差;D:舍入误差.答案:AD2.A:只有模型误差、截断误差与观测误差。
B: 只有舍入误差、截断误差与观测误差;C:只有模型误差、观测误差与舍入误差;D:只有模型误差、截断误差与舍入误差;答案:C3.A:4位B:5位C:3位D:2位答案:A4.对于下列表达式,用浮点数运算,精度较高是A:B:C:D:答案:A5.A:B:C:D:答案:B第二章测试1.A:0.5000B:0.6250C:0.5625D:0.6875答案:C2.A:B:C:D:答案:CD3.关于Steffensen(斯蒂芬森)迭代方法,下列命题中正确的是:A:Steffensen迭代法使得收敛的迭代格式加速收敛,发散的迭代格式更快发散。
B:Steffensen迭代法使得某些发散的迭代格式变为收敛。
C:Steffensen迭代法使得任何收敛的迭代格式加速收敛。
D:Steffensen迭代法使得某些收敛的迭代格式加速收敛。
答案:BD4.关于Newton迭代法,下列命题中正确的是:A:求解任一方程的Newton迭代法都是2阶收敛的。
B:Newton迭代格式若收敛,则一定是超线性收敛的。
C:D:Newton迭代格式可能收敛也可能发散。
答案:CD5.A:6B:3C:5D:4答案:A第三章测试1.A:若求解失败,则说明矩阵A奇异。
B:算法的计算量与近似成正比。
C:若A的对角线元素的绝对值都大于1,则求解结果的精度一定较高。
D:只要A非奇异,则求解结果的精度一定较高。
答案:B2.列主元Gauss消去法与Gauss顺序消元法相比,优点是:A:提高了稳定性,减少了误差的影响。
B:方程组的系数矩阵奇异时也可以求解。
C:能求出方程组的精确解。
D:减少了计算量。
答案:A3.A:平方根法与Gauss列主元消去法相比,提高了稳定性,但增加了计算量。
B:只要是对称正定矩阵,就可用平方根法求解。
数值计算方法教案第一章:数值计算概述1.1 数值计算的定义与特点引言:介绍数值计算的定义和基本概念数值计算的特点:离散化、近似解、误差分析1.2 数值计算方法分类直接方法:高斯消元法、LU分解法等迭代方法:雅可比迭代、高斯-赛德尔迭代等1.3 数值计算的应用领域科学计算:物理、化学、生物学等领域工程计算:结构分析、流体力学、电路模拟等第二章:误差与稳定性分析2.1 误差的概念与来源绝对误差、相对误差和有效数字误差来源:舍入误差、截断误差等2.2 数值方法的稳定性分析线性稳定性分析:特征值分析、李雅普诺夫方法非线性稳定性分析:李模型、指数稳定性分析2.3 提高数值计算精度的方法改进算法:雅可比法、共轭梯度法等增加计算精度:闰塞法、理查森外推法等第三章:线性方程组的数值解法3.1 高斯消元法算法原理与步骤高斯消元法的优缺点3.2 LU分解法LU分解的步骤与实现LU分解法的应用与优势3.3 迭代法雅可比迭代法与高斯-赛德尔迭代法迭代法的选择与收敛性分析第四章:非线性方程和方程组的数值解法4.1 非线性方程的迭代解法牛顿法、弦截法等收敛性条件与改进方法4.2 非线性方程组的数值解法高斯-赛德尔法、共轭梯度法等方程组解的存在性与唯一性4.3 非线性最小二乘问题的数值解法最小二乘法的原理与方法非线性最小二乘问题的算法实现第五章:插值与逼近方法5.1 插值方法拉格朗日插值、牛顿插值等插值公式的构造与性质5.2 逼近方法最佳逼近问题的定义与方法最小二乘逼近、正交逼近等5.3 数值微积分数值求导与数值积分的方法数值微积分的应用与误差分析第六章:常微分方程的数值解法6.1 初值问题的数值解法欧拉法、改进的欧拉法龙格-库塔法(包括单步和多步法)6.2 边界值问题的数值解法有限差分法、有限元法谱方法与辛普森法6.3 常微分方程组与延迟微分方程的数值解法解耦与耦合方程组的处理方法延迟微分方程的特殊考虑第七章:偏微分方程的数值解法7.1 偏微分方程的弱形式介绍偏微分方程的弱形式应用实例:拉普拉斯方程、波动方程等7.2 有限差分法显式和隐式差分格式稳定性分析与收敛性7.3 有限元法离散化过程与元素形状函数数值求解与误差估计第八章:优化问题的数值方法8.1 优化问题概述引言与基本概念常见优化问题类型8.2 梯度法与共轭梯度法梯度法的基本原理共轭梯度法的实现与特点8.3 序列二次规划法与内点法序列二次规划法的步骤内点法的原理与应用第九章:数值模拟与随机数值方法9.1 蒙特卡洛方法随机数与重要性采样应用实例:黑箱模型、金融衍生品定价等9.2 有限元模拟离散化与求解过程应用实例:结构分析、热传导问题等9.3 分子动力学模拟基本原理与算法应用实例:材料科学、生物物理学等第十章:数值计算软件与应用10.1 常用数值计算软件介绍MATLAB、Python、Mathematica等软件功能与使用方法10.2 数值计算在实际应用中的案例分析工程设计中的数值分析科学研究中的数值模拟10.3 数值计算的展望与挑战高性能计算的发展趋势复杂问题与多尺度模拟的挑战重点解析本教案涵盖了数值计算方法的基本概念、误差分析、线性方程组和非线性方程组的数值解法、插值与逼近方法、常微分方程和偏微分方程的数值解法、优化问题的数值方法、数值模拟与随机数值方法以及数值计算软件与应用等多个方面。
数值计算方法及其应用第一章引言数值计算方法是一种基于数学分析和计算机技术的计算方法,是概括了现代计算各个领域的一类方法。
随着计算机技术的不断进步,数值计算方法已经成为了计算机科学中的一个重要领域,涉及到计算机科学、数学、物理、工程等领域。
本文将从数值计算方法的基本概念、数值计算方法算法的分类、数值计算方法的优缺点以及数值计算方法的应用等方面加以探讨。
第二章数值计算方法的基本概念数值计算方法是使用数学方法和数值技术处理各种数学问题的一种方法。
它是一种解决数学问题的有效工具,不同于传统的数学方法,数值计算方法采用的是数值计算机计算技术,使得计算机可以精确计算、预测和模拟各种数学问题,如数值微积分、连续函数数值解、离散方程数值解等。
数值计算方法的核心概念就是数值算法,数值算法是指实现数值计算方法的算法,包括基于数学分析的算法和基于经验数据的算法。
第三章数值计算方法算法的分类数值计算方法算法可以分为以下几类:1.数值微积分算法2.解线性方程组的数值方法3.常微分方程的数值解法4.偏微分方程的数值解法5.数值优化方法6.数值统计算法7.数学模型的数值计算方法第四章数值计算方法的优缺点数值计算方法的优点:1.数值计算方法可以解决非常复杂和高度非线性的数学问题2.数值计算方法无所不能,可做大量的计算3.数值计算方法具有较高的可重复性和可验证性4.数值计算方法可以通过计算机进行高速计算,节省了人力成本和时间成本数值计算方法的缺点:1.数值计算方法的实现程序错误会导致计算结果失真2.数值计算方法对于计算精度的要求很高3.数值计算方法对于计算机硬件和软件的要求也很高第五章数值计算方法的应用数值计算方法已经被广泛应用于各个领域,如:1.科学研究:能够用计算机进行大规模复杂计算,计算机模拟得出科学研究结论,如气象学模拟,生命科学中的反应动力学分析等。
2.工程设计:例如结构力学分析、电路设计、流体力学分析和控制系统等。
3.数据科学:如数据挖掘、计算机视觉、自然语言处理、人脸识别等。
实用文档《数值计算方法》复习资料第一章数值计算方法与误差分析第二章非线性方程的数值解法第三章线性方程组的数值解法第四章插值与曲线拟合第五章数值积分与数值微分第六章常微分方程的数值解法自测题课程的性质与任务数值计算方法是一门应用性很强的基础课,在学习高等数学,线性代数和算法语言的基础上,通过本课程的学习及上机实习、使学生正确理解有关的基本概念和理论,掌握常用的基本数值方法,培养应用计算机从事科学与工程计算的能力,为以后的学习及应用打下良好基础。
第一章数值计算方法与误差分析一考核知识点误差的来源类型;绝对误差和绝对误差限,相对误差和相对误差限,有效数字;绝对误差的传播。
二复习要求1.知道产生误差的主要来源。
2.了解绝对误差和绝对误差限、相对误差和相对误差限和有效数字等概念以及它们之间的关系。
3.知道四则运算中的误差传播公式。
实用文档三例题例 1 设x*= =3.1415926⋯近似值 x=3.14 = 0.314× 101,即 m=1,它的绝对误差是- 0.001 592 6 ,⋯有即 n=3,故 x=3.14 有 3 位有效数字 .x=3.14准确到小数点后第 2 位 .又近似值 x=3.1416,它的绝对误差是0.0000074 ⋯,有即 m=1,n= 5, x=3.1416 有 5 位有效数字 .而近似值x=3.1415,它的绝对误差是0.0000926 ⋯,有即 m=1,n= 4, x=3.1415 有 4 位有效数字 .这就是说某数有s 位数,若末位数字是四舍五入得到的,那么该数有s 位有效数字;例 2指出下列各数具有几位有效数字,及其绝对误差限和相对误差限:2.000 4-0.002 009 0009 000.00解因为 x1=2.000 4= 0.200 04× 101, 它的绝对误差限 0.000 05=0.5 × 10 1―5,即m=1,n=5, 故 x=2.000 4 有 5 位有效数字 . a1=2,相对误差限x2=- 0.002 00,绝对误差限0.000 005,因为 m=-2,n=3 ,x2=- 0.002 00 有 3 位有效数字 . a1=2 ,相对误差限r ==0.002 5实用文档x3=9 000 ,绝对误差限为0.5× 100,因为 m=4, n=4, x3=9 000 有 4 位有效数字, a=9 ,相对误差限r== 0.000 056x4=9 000.00 ,绝对误差限0.005,因为 m=4, n=6, x4=9 000.00 有 6 位有效数字,相对误差限为r== 0.000 000 56由 x3与 x4可以看到小数点之后的0,不是可有可无的,它是有实际意义的.例 3 ln2=0.69314718⋯,精确到10-3的近似值是多少?解精确到 10-3= 0.001,意旨两个近似值x1,x2满足,由于近似值都是四舍五入得到的,要求满足,近似值的绝对误差限应是=0.0005,故至少要保留小数点后三位才可以。
第一章 引论(习题)2. 证明 : 记 x x f =)( ,则)()(***x x x x x xx x f E r +-=-=)(21**x E x x x x x xr ≈-⋅+=.3. 证明: 令: )()()(b a fl b a fl b a **-*=δ可估计: 1|)(|-≥*c b a fl β (c 为b a *阶码), 故: 121||--≤c t c ββδt-=121β 于是: )1()()(δ+*=*b a b a fl .4. 解 (1) )21()1(22x x x ++. (2))11(2x x x x x-++.(3) xxx x x x x cos 1sin )cos 1(sin cos 12+≈+=-.6. 解 a 的相对误差:由于 31021|)(|-⋅≤-=a x x E . x a x x E r -=)(, 221018110921)(--⋅=⨯≤x E r . (1Th ) )(a f 对于)(x f 的误差和相对误差. |11||)(|a x f E ---==()25.021011321⨯⋅≤-+---ax x a =310-33104110|)(|--⨯=-≤a f E r .9. 解 递推关系: 1101.100-+-=n n n y y y (1) 取初值 10=y , 01.01=y 计算可得: 11001.10022-⨯=-y 10001.1-=410-= 6310-=y , 8410-=y , 10510-=y , …(2) 取初值 50101-+=y , 2110-=y , 记: n n n y y -=ε,序列 {}n ε ,满足递推关系,且 5010--=ε , 01=ε1101.100-+-=n n n εεε, 于是: 5210-=ε,531001.100-⨯=ε, 55241010)01.100(---⨯=ε,55351002.20010)01.100(--⨯-⨯=ε, 可见随着 n ε 的主项 5210)01.100(--⨯n 的增长,说明该递推关系式是不稳定的.第二章 多项式插值 (习 题)1. 方法一. 由 Lagrange 插值公式)()()()()(332211003x l f x l f x l f x l f x L ⋅+⋅+⋅+⋅=)1)((31)2)()(1()1)(()(123210---=-----=x x x x x x x l , ))(1(2)1)()(1()(21221211--=--+=x x x x x x l , x x x x x x l )1()()1()1!()(2382121232--=-⋅⋅-+=, )()1(12)()1()(2121213-+=⋅⋅-+=x x x x x x x l . 可得: )21()(23-=x x x L方法二. 令:)()21()(3B Ax x x x L +-=由 23)1(3-=-L , 21)1(3=L , 定A ,B (称之为待定系数法)2. 证明(1) 由于 j i j i x l ,)(δ= 故: =)(x L n ∑=ni i k i x l x0)( ,当 j x x = 时 有: k j j n x x L =)( , n j ,,1,0 =)(x L n 也即为 kx 的插值多项式,由唯一性,有:∑==ni k i ki x x l x)( , n k ,,1,0 =证明(2):利用Newton 插值多项式)(],[)()(0100x x x x f x f x N n -+=)()(],,[100---++n n x x x x x x f )()()()()()(00101x l x x x x x x x x x f n n =----=差商表:f(x) 一阶 二阶 … n 阶差商0x 1 1x 0101x x -)()(11020x x x x --n x 0 0)()(1010n x x x x --代入)(*式有:)()()()()(1)(020*******n n n x x x x x x x x x x x x x x x N -----++--+=- . )(0x l 为n 次代数多项式,由插值多项式的唯一性:有 )()(0x N x l n ≡.4. 解 作)(x f 以b a a ,,ε+为节点的Lagrange 插值多项式,有: )()()(22x R x L x f +=, 其中:)()()()()()()()()()(2εεεεε+-+--+-----=a fb a b x a x a f b a b x a x x L)()()()()(b f a b a b a x a x εε------+,)()()(!3)()(2b x a x a x f x R ----'''=εζ , b a <<ζ 令: 0→ε 有 )()(6)()()(22b x a x f x R x R --'''=→ζ, 又:)()()()([)()(2a f a b ax a f a b a x x b x L εεεεε----+----= )]()()()()(a f a b a x a f a b a x -------+εεεε )()()()()(b f a b a b a x a x εε------+)()()2()(2a f ab a b x x b --+-→)()()()(a f a b a x x b '---+ )()()()(22x P b f a b a x =--+ 故当 0→ε 时,成立公式: )()()(x R x P x f +=.5. 解:因为34)(3'-=x x f ,2''12)(x x f =)(x f 为凹函数.又从数值表可见:当]5.0,1.0[∈x 时,)(x f 单调下降.有反函数)(1y fx -=)(y f的Newton 插值多项式:)17440.0)(10810.0)(40160.0)(70010.0(01225.0)10810.0)(40160.0)(70010.0(01531.0)40160.0)(70010.0(0096436.0)70010.0(33500.01.0)(4+---+------+--=y y y y y y y y y y y N.337.0)0(4*≈=N x7. 解 1)(37++=x x x f .有:=]2,,2,2[71f !7)()7(ξf =1, !8)(]2,,2,2[)8(810ηf f = 0=.9. 证明:(1) =⋅-⋅=⋅∆++i i i i i i g f g f g f 11)(i i i i i i i i g f g f g f g f ⋅-⋅+⋅-⋅++++1111i i i i f g g f ∆+∆=+1.(3) n x n n)1()1(-=∆!)()(nh x h x x h n ++此题可利用数学归纳法:设 k n = 成立,证明 1+=k n 成立.又 1=n 时是成立的.10. 证明: 记: 2]2/)1([)(+=n n n f ,33321)(n n g +++=有: 3)1()()1()(+=-+=∆n n f n f n f 故: ∑-=∆=10)()(n k k f n g ∑-=-+=1)]()1([n k k f k f2]2/)1([)0()(+=-=n n f n f .13. 解 作重节点差商的Newton 插值公式)1(]1,1[)1()(+--+-=x f f x P 22)1(]1,0,1,1[)1(]0,1,1[+--++--+x x f x f )1()1(]1,1,0,1,1[2-+--+x x x f 重节点差商表:i x i f 一阶 二阶 三阶 四阶10-=x 110-=x 1 201=x 1 0 -212=x 1 0 0 112=x 1 2 2 1 0得 22)1()1(2)1(21)(+++-++=x x x x x P 13+-=x x .17. 证: 取 ,00=x 211=x , 12=x , 21=h00=f , 11=f , 12=f 记: )(i i x s M ''= , 2,1,0=i有 hx x M h x x M x S 01101)(-+-=''x M x M 102)21(2+-= )21(2)1(2)(212-+-=''x M x M x S 又三弯矩方程为:( 2],,[210-=x x x f )244210-=++M M M , )24(41201M M M ++-=.分段积分:⎰⎰+''=''∆1021221)]([)]([dx x s dx x s ⎰''12221)]([dx x s ⎰+-+=21201)]21([4dx x M x M ⎰-+-121221)]21()1([4dx x M x M⎰⎰-+-+-+-=121121221201)]21()1([4)]1()21([4dxx M x M dx x M x M由于 ⎰=-1212241)21(dx x ,⎰=-1212241)1(dx x ,⎰=--121481)1()21(dx x x ,于是:⎰++++=''∆1022212110202]2[61))((M M M M M M M dx x S 又: )24(41201M M M ++-=记 =),(20M M I ⎰∆''12))((dx x S=)()24(41[6120202220M M M M M M +++-+ ])24(81220M M +++由00=∂∂M I, 02=∂∂M I . 得:⎩⎨⎧=+-=-07072020M M M M 即当: 020==M M 时, ),(20M M I 达最小故:⎰=⋅⋅≥''∆102212)24(8161))((dx x S ,由最小模原理: ⎰≥''1212)]([dx x f .20. 解 利用三弯矩方法 )(i i x s M ''= , 2,1,0=i 10=x , 22=x , 32=x⎪⎩⎪⎨⎧-=+=++=+542364622121010M M M M M M M解得: 70-=M , 201=M , 372-=M]2,1[∈x 72431729)(231-+-=x x x x s ]3,2[∈x 105229367219)(232+-+-=x x x x s .第三章 最佳逼近及其实现 (习 题)2. 解 (1) ⎰'⋅'=badx x g x f g f )()(),( 不是 ),(b a c '中的内积,事实上容易验证:),(),(f g g f = , ),(),(g f g f λλ= ),(),(),(w g w f w g f +=+但是 0),(=f f 当且仅当 0)(≡x f . 条件不满足,因为: ⎰='⋅'=badx x f x f f f 0)()(),(推出0)(≡'x f ,0)(≠=const x f . 因而 ),(g f 不是 ),(b a C '中的内积.(2) ),(g f 是 =],[10b a C {}],[)(,0)(:)(b a C x f a f x f '∈'=空间的内积,这是因为: 0),(=f f 推出 0)(='x f , C x f =)(,又],[10b a C f ∈ ,故 0)(=x f .4. 解:由于 0)(],,[2≠''∈x f b a c f ,则)(x f ''于],[b a 上保号,由定理5的推论2可知:)()(1x P x f -的交错点组恰有三个交错点,且 a x =1,b x =3,即: ⎪⎪⎩⎪⎪⎨⎧=-'='-=+-==+-==+-=0)()(,)()()(,)()()(,)()()(122210223103311011αρααρααρααx f x e x x f x e x x f x e x x f x e 故: a b a f b f x f --='=)()()(21α,2)()(2)()(220x a a b a f b f x f a f +⋅---+=α 记 c x =2 ,即证得(1).(2) 若 x x f cos )(= ,]2,0[],[π=b a此时由 ab a f b fc f --=')()()( 得:π2sin =c , )2sin(πarc c =,πα21-=πππα2)4(2120-+=2)/2sin(2ππarc ⋅+)4(212-+=πππππ)2sin(arc +. 误差估计:)()(10b f b f E -+=-=ααρ)4(212-+=πππ1)2sin(-+ππarc5. 解:选取α ,使得:=)(αI ||max 211x x x α-≤≤ ,达到极小,即要求 x x *)(*αϕ= ,于]1,0[上一致逼近于2x ,如图 应选 *α ,使得:x x x *)(2αϕ-=,于 ]1,0[ 上有两个轮流为正负偏差点,其中之一为1,另一个假设为 ζ 于是: )()1(ζϕα-=, 0)(='ζϕ , ( ζ为)(x ϕ的极值点) 得: αζζα+-=-2102=-αζ 解得:ζα2= ,0122=-+ζζ, 212,1±-=ζ取12-=ζ , 222-=α. 又: α 是唯一的.6. 证明:由最佳一致逼近的特征定理,)(*x P n 为)(x f 的最佳一致逼近多项式,则存在2+n 个点b x x x a n ≤<<<≤+110使得: )()()(*k n k k x P x f x e -==*)1(n kP f --σ.又由于 ],[)(b a C x f ∈ ,于 ),(1+i i x x 中有一个点 i η ,1+<<i i i x x η , 使得: 0)()()(*=-=i n i i P f e ηηη, n i ,,1,0 =即: )(*x P n 为)(x f 满足插值条件: )()(*i i n f P ηη= , n i ,,1,0 = 的插值多项式.7. 解:求C*,使得:C x f C I bx a R C -=≤≤∈)(max min *)(记 C x f x e -=)()(, 依最佳一致逼近的特征定理:应取 )](min )(max [21*],[],[x f x f C b a b a +=*)()(C x f x e -=于 ],[b a 才有两个轮流正负的偏差点,(即 )(x f 于],[b a 上的最大值点和最小值点)1x ,2x )(max )(],[1x f x f b a = , )(min )(],[2x f x f b a =此时: *)(m a x )1()(],[C x f x e b a ii --=σ即 *C 为)(x f 的零次最佳逼近多项式.8. 解: 436)(23+++=x x x x f 2)(34)3(62031T T T T +++=014T T ++01232112112323T T T T +++= 因为)(413x T 与零偏差最小,故: 012221121123)(T T T x P ++=421132++=x x . 为)(x f 的最佳一致逼近多项式.9. 证明:我们仅证明)(x f 是偶函数时,)(x P n 亦是偶函数.由于)(x P n 为)(x f的最佳一致逼近多项式,有:)()()(max ],[f E x P x f n n a a =--和: [,max ()()()]n n a af x P x E f ----=即: )()()(m a x ],[f E x P x f n n a a =---)(x P n -亦是)(x f 的最佳一致逼近多项式,由最佳一致逼近多项式的惟一性,有: )()(x P x P n n =-即: )(x P n 为偶函数.11. 解: 设 x a a x P 10*1)(+= , 2210*2)(x b x b b x P ++= 分别为)(x f 的一次、二次最佳平方逼近多项式。
第2章 线性方程组直接解法一、考核知识点:高斯消元法,主元消元法(列主元消元法),追赶法,矩阵的三角分解。
二、考核要求:1.了解高斯消元法、主元消元法、追赶法的基本思想和使用条件2.掌握矩阵的三角分解(LU 分解,LDU 分解)、追赶法。
3.熟练掌握用列主元消元法求解线性方程组的方法。
三、重、难点分析例1 用列主元消元法解方程组。
⎪⎩⎪⎨⎧=++=++=++53368435532321321321x x x xx x x x x注意:每次消元时主元的选取是各列中系数最大的。
解 第1列主元为3,交换第1、2方程位置后消元得, ⎪⎪⎪⎩⎪⎪⎪⎨⎧=+=-=++331351313168433232321x x x x x x x第2列主35,元为交换第2、3方程位置后消元得 ⎪⎪⎪⎩⎪⎪⎪⎨⎧=-=+=++5252331356843332321x x x x x x回代解得 2,2,1123==-=x x x例2.将矩阵A 进行三角分解(LU 分解,LDU 分解)其中⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----=1332222224A 说明:一般进行矩阵的三角分解采用紧凑格式。
即应用矩阵乘法和矩阵相等原则进行矩阵的三角分解(或代入公式求得相应元素)。
在分解时注意矩阵乘法、矩阵求逆等代数运算。
解: 9,2;1,121,21;2,2,43322123132321321232312212222113131112121131312121111=-=-=-=-==-=-====-======r r r l a l r l a r r l a r a a l a a l a r a r a r则矩阵的LU 分解为 ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡--=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----911224122112111332222224 因为对角阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=914D ,则⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡--==-111212111R D U 所以矩阵的LDU 分解为 ⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡--⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡--=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----11121211914122112111332222224。
第二章 非线性方程数值解法在科学计算中常需要求解非线性方程()0f x = (2.1)即求函数()f x 的零点.非线性方程求解没有通用的解析方法,常采用数值求解算法.数值解法的基本思想是从给定的一个或几个初始近似值出发,按某种规律产生一个收敛的迭代序列0{}k k x +∞=,使它逐步逼近于方程(2.1)的某个解.本章介绍非线性方程实根的数值求解算法:二分法、简单迭代法、Newton 迭代法及其变形,并讨论它们的收敛性、收敛速度等.§2.1 二分法一、实根的隔离定义 2.1 设非线性方程(2.1)中的()f x 是连续函数.如果有*x 使*()0f x =,则称*x 为方程(2.1)的根,或称为函数()f x 的零点;如果有*()()()m f x x x g x =-,且()g x 在*x 邻域内连续,*()0g x ≠,m 为正整数,则称*x 为方程(2.1)的m 重根.当1m =时,称*x 为方程的单根.非线性方程根的数值求解过程包含以下两步(1) 用某种方法确定有根区间.称仅存在一个实根的有根区间为非线性方程的隔根区间,在有根区间或隔根区间上任意值为根的初始近似值;(2) 选用某种数值方法逐步提高根的精度,使之满足给定的精度要求.对于第(1)步有时可以从问题的物理背景或其它信息判断出根的所在位置,特别是对于连续函数()f x ,也可以从两个端点函数值符号确定出有根区间.当函数()f x 连续时,区间搜索法是一种有效的确定较小有根区间的实用方法,其具体做法如下设[,]a b 是方程(2.1)的一个较大有根区间,选择合适的步长()/h b a n =-,k x a kh =+,(0,1,,)k n =.由左向右逐个计算()k f x ,如果有1()()0k k f x f x +<,则区间1[,]k k x x +就是方程的一个较小的有根区间.一般情况下,只要步长h 足够小,就能把方程的更小的有根区间分离出来;如果有根区间足够小,例如区间长度小于给定的精度要求,则区间内任意一点可视为方程(2.1)的根的一个近似.例2.1 确定出方程32()3430f x x x x =-+-=的一个有根区间.解 由22()3643(1)10f x x x x '=-+=-+>知()f x 为(,)-∞∞上的单调递增函数,进而()f x 在(,)-∞∞内最多只有一个实根.经计算知(0)0f <,(2)0f >,所以()0f x =在区间[0,2]内有惟一实根.如果希望将有根区间再缩小,可以取步长0.5h =,在点0.5x =,1x =, 1.5x =计算出函数值的符号,最后可知区间[1.5,2]内有一个实根. 二、二分法二分法是求非线性方程实根近似值的最简单的方法.其基本思想是将有根区间分半,通过判别函数值的符号,逐步缩小有根区间,直到充分逼近方程的根,从而得到满足一定精度要求的根的近似值.设()f x 在区间[,]a b 上连续,()()0f a f b <,且方程(2.1)在区间(,)a b 内有惟一实根*x .记1a a =,1b b =,中点111()/2x a b =+将区间11[,]a b 分为两个小区间11[,]a x 和11[,]x b ,计算函数值1()f x ,根据如下3种情况确定新的有根区间:(1) 如果1()0f x =,则1x 是所要求的根;(2) 如果11()()0f a f x <,取新的有根区间2211[,][,]a b a x =; (3) 如果11()()0f x f b <,取新的有根区间2211[,][,]a b x b =.新有根区间22[,]a b 的长度为原有根区间11[,]a b 长度的一半.对有根区间22[,]a b 施以同样的过程,即用中点222()/2x a b =+将区间22[,]a b 再分为两半,选取新的有根区间,并记为33[,]a b ,其长度为22[,]a b 的一半(如图2.1所示).图2.1 二分法示意图重复上述过程,建立如下嵌套的区间序列1122[,][,][,][,]k k a b a b a b a b =⊃⊃⊃⊃其中每个区间的长度都是前一个区间长度的一半,因此[,]k k a b 的长度为11()2k k k b a b a --=-由*[,]k k x a b ∈和()/2k k k x a b =+,得*11()()22k k k k x x b a b a -≤-=- 当k →∞时,显然,有*k x x →.总结得到如下收敛定理:定理2.1 设()f x 在隔根区间[,]a b 上连续,且()()0f a f b <,则由二分法产生的序列0{}k k x +∞=收敛于方程(2.1)在[,]a b 上的根*x ,并且有误差估计*1()(1,2,)2k kx x b a k -≤-= (2.2) 设预先给定根*x 的绝对误差限为ε,要求*k x x ε-≤,只要1()2k b a ε-≤成立,这样求得对分次数ln()ln ln 2b a k ε--≥. (2.3)取k 为大于(ln()ln )/ln 2b a ε--的最小整数.此时k x 是方程(2.1)的满足精度要求的根近似值.注:由于舍入误差和截断误差存在,利用浮点运算不可能精确计算函数值,二分法中的判断()0k f x =几乎不可能满足,取而代之为判断条件0()k f x ε<,其中0ε为根近似值的函数值允许误差限.总结以上内容,给出如下算法 算法2.1 (二分法)输入 端点,a b 、根的绝对误差限ε、根近似值的函数值允许误差限0ε; 输出 近似解c 或失败信息;Step 1 用公式(2.3)计算最大迭代次数k ; Step 2 对1,,n k =循环执行Step 3~5; Step 3 ()/2c a b =+,计算()f c ;Step 4 若0()f c ε<,则输出c ,end ;Step 5 若()()0f c f b <,则a c =,否则b c =.例 2.2 用二分法求32()4100f x x x =+-=在[1,2]上的根*x 的近似值,要求*31102k x x --<⨯. 解 由于在区间[1,2]上,(1)5f =-,(2)14f =,2()38(38)0f x x x x x '=+=+>,故()0f x =在[1,2]上有惟一实根*x .确定循环次数为11k =,利用二分法计算结果见表2.1.二分法具有如下特点(1) 优点:计算简单,对函数()f x 的光滑性要求不高,只要它连续,且在两端的函数值异号,算法收敛就可以保证;(2) 缺点:只能求单实根和奇数重实根,收敛较慢,与1/2为公比的等比级数相同. 当函数()f x '连续时,方程(2.1)的实重根可转换为()0()f x f x ='的实单根. 一般在求方程根近似值时不单独使用二分法,而常用它为其它数值方法提供初值.§2.2 简单迭代法简单迭代法是求解非线性方程根的近似值的一类重要数值方法.本节将介绍简单迭代法的基本思想、收敛条件、收敛速度以及相应的加速算法. 一、简单迭代法的基本思想简单迭代法采用逐步逼近的过程建立非线性方程根的近似值.首先给出方程根的初始近似值,然后用所构造出的迭代公式反复校正上一步的近似值,直到满足预先给出的精度要求为止.在给定的有根区间[,]a b 上,将方程(2.1)等价变形为()x x ϕ= (2.4)在[,]a b 上选取0x 作为初始近似值,用如下迭代公式1()k k x x ϕ+= (0,1,2,k =) (2.5)建立序列0{}k k x +∞=.如果有*lim k k x x →∞=,并且迭代函数()x ϕ在*x 的邻域内连续,对式(2.5)两边取极限,得**()x x ϕ=因而*x 是(2.4)的根,从而也是(2.1)的根.称()x ϕ为迭代函数,所得序列0{}k k x +∞=为迭代序列.将这种求方程根近似值的方法称为简单迭代法,简称迭代法.例2.3 试用方程3()10f x x x =--=的不同形式的变形建立迭代公式,并试求其在1.5附近根的近似值.解 利用方程的变形建立如下4种迭代公式(1) 1k x +=,(2) 311k k x x +=-(3) 1k x += (4) 3112k k k x x x ++-=取初值0 1.5x =,迭代计算,结果见表2.2.例 2.3表明非线性方程的不同等价形式对应不同的迭代过程,从某一初值出发,有的迭代收敛快,有的收敛慢,甚至不收敛.那么迭代函数()x ϕ满足什么条件时才能保证迭代序列收敛? 迭代序列0{}k k x +∞=的误差如何估计? 怎样才能建立收敛速度快的迭代公式?定理2.2 若函数()x ϕ在区间[,]a b 上具有一阶连续导数,且满足条件 ① 对任意[,]x a b ∈,有()[,]x a b ϕ∈;② 存在常数L :01L <<,使得对任意[,]x a b ∈有()x L ϕ'≤成立.则(1) 方程()x x ϕ=在[,]a b 上有惟一实根*x(2) 对任意0[,]x a b ∈,迭代公式(2.5)收敛,且*lim k k x x →∞= (3) 迭代公式(2.5)有误差估计式*11k k k Lx x x x L--≤-- (2.6)*101kk L x x x x L-≤-- (2.7)(4) **1*lim ()k k kx x x x x ϕ+→∞-'=- (2.8) 证明 (1)构造函数()()g x x x ϕ=-,由条件①知()()0g a a a ϕ=-≤,()()0g b b b ϕ=-≥,因此()0g x =在[,]a b 上至少存在一个实根,又由条件②知当[,]x a b ∈时,()1()10g x x L ϕ''=-≥->,所以()0g x =在[,]a b 内存在惟一实根,即()x x ϕ=在[,]a b 内存在惟一实根,记为*x .(2) 由0[,]x a b ∈及条件①知,[,]k x a b ∈(1,2,)k =,并且有1()k k x x ϕ+=,**()x x ϕ=,二者作差,并由微分中值定理得***1()()()()k k k k x x x x x x ϕϕϕξ+'-=-=- (1,2,)k = (2.9) 其中,k ξ介于k x 与*x 之间.结合条件②,得**1k k x x L x x +-≤- (1,2,)k = (2.10)反复递推,有**2*1*1100k k k k x x L x x L x x L x x ++-≤-≤-≤-≤≤-, (1,2,)k = 因01L <<,故*lim k k x x →∞=. (3) 由式(2.10)得***1111*1k k k k k k k k k k x x x x x x x x x x x x L x x+++++-=-+-≤-+-≤-+-从而*111k k kx x x x L+-≤-- (2.11)又由于111()()()()k k k k k k k x x x x x x ϕϕϕη+--'-=-=-1k k L x x -≤- (1,2,)k =(2.12)其中k η介于k x 和1k x -之间.综合式(2.11)及式(2.12)得误差估计*11k k k Lx x x x L--≤--由式(2.12)反复递推,得111210k k k k k x x L x x L x x -----≤-≤≤-并代入式(2.6)得误差估计*11011kk k k L L x x x x x x L L--≤-≤--- (1,2,)k =(4) 由式(2.9)得*1*()k k k x x x x ϕξ+-'=-两端取极限,并注意到()x ϕ'的连续性和*lim k k x ξ→∞=(因为k ξ介于*x 与k x 之间),得 **1*lim ()k k kx x x x x ϕ+→∞-'=-. 误差估计(2.6)称为后验误差估计,也称为误差渐进估计,误差估计(2.7)称为先验误差估计.定理 2.2条件成立时,对任意0[,]x a b ∈,迭代序列均收敛,故称定理2.2为全局收敛性定理.下面讨论*x 邻近的收敛性,即局部收敛性.定理 2.3 设存在方程()x x ϕ=根*x 的闭邻域***(,)[,](0)U x x x δδδδ=-+>以及小于1的正数L ,使得()x ϕ'连续且()1x L ϕ'≤<.则对任意*0(,)x U x δ∈,迭代1()k k x x ϕ+=收敛.证明 由()x ϕ'在*(,)U x δ内连续,且有()1x L ϕ'≤<,则对任意*(,)x U x δ∈,有****()()()()x x x x x x L ϕϕϕϕηδδ'-=-=-≤<由定理2.2知迭代过程1()k k x x ϕ+=对任意初值*0(,)x U x δ∈均收敛. 二、迭代法的收敛阶为刻画迭代法收敛速度的快慢,引进收敛序列的收敛阶概念.定义2.2 设迭代序列0{}k k x +∞=收敛到*x ,记*k k e x x =-,如果存在常数0c >和实数1p ≥,使得1limk pk ke c e +→∞= (2.13)则称序列0{}k k x +∞=是p 阶收敛的.当1p =时,称0{}k k x +∞=为线性收敛的,此时要求01c <<;1p >为超线性收敛.p 越大,序列0{}k k x +∞=收敛到*x 越快.c 称为渐进常数,c 越小,收敛越快.所以迭代法的收敛阶是对迭代法收敛速度的一种度量. 显然,由定理 2.2(4)知,当*()0x ϕ'≠时简单迭代法线性收敛,渐进常数*()c x ϕ'=.算法2.2 (简单迭代法)输入 初始值0x 、容许误差ε; 输出 近似解1x 或失败信息;Step 1 对1,,n m =循环执行Step 2~3; Step 2 10()x x ϕ=;Step 3 若10x x ε-<,则输出1x ,end ;否则01x x =,转向Step2.例2.4 求方程()2lg 70f x x x =--=的最大实根的近似值,要求绝对误差不超过31102-⨯.解 (1)确定有根区间.方程等价形式为27lg x x -=作函数27y x =-和lg y x =的图形,如图 2.2所示,知方程的最大实根在区间[3,4]内.(2)建立迭代公式,判别收敛性.将方程等价变形为1(lg 7)2x x =+ 迭代函数1()(lg 7)2x x ϕ=+,迭代公式11(lg 7)2k k x x +=+. 由11()02ln10x x ϕ'=⋅>,[3,4]x ∈,知()x ϕ在区间[3,4]内仅有一根.又(3) 3.74ϕ≈,(4) 3.80ϕ≈,所以,当[3,4]x ∈时,()[3,4]x ϕ∈.图2.2 函数27y x =-和lg y x =的图形因为 3.54max ()(3)0.07x L x ϕϕ≤≤''==≈,所以对于一切[3,4]x ∈有 ()(3)0.071x ϕϕ''≤≈<由定理2.2知,迭代法收敛.(3) 迭代计算.取0 4.0x =,有1=3.801030x ,2=3.789951x ,3=3.789317x ,4=3.789280x 因为343110 2x x --≤⨯,所以方程的最大根*4 3.789280x x ≈=. 三、迭代法的加速对于收敛的迭代序列,理论上迭代次数足够多时,就可以使计算结果满足任意给定的精度要求.但在应用中,有的迭代过程收敛极为缓慢,计算量很大,因此研究迭代格式的加速方法是非常必要的. 1. 线性收敛序列的Aitken 加速法设0{}k k x +∞=是一个线性收敛的序列,极限为*x .即有小于1的正数c 使得*1*limk k k x x c x x +→∞-=-由于它线性收敛,误差减少的速度较慢,值得采用加速技术.下面介绍Aitken 加速法.对充分大的k ,有*1*,k k x x c x x +-≈- *2*1k k x x c x x ++-≈- 由上面两式得**12**1k k k k x x x x x x x x +++--≈--解得22*2112121()22k k k k k k k k k k k k x x x x x x x x x x x x x +++++++--≈=--+-+利用上式右端的值可定义另一序列0{}k k y +∞=,即得Aitken 加速公式2121()2k k k k k k kx x y x x x x +++-=--+ (2.14)它仍然收敛到*x ,但收敛速度更快.证明请参考文献[19].2. Steffensen 迭代法Aitken 加速方案是对任意线性收敛序列0{}k k x +∞=构建的,并不限定0{}k k x +∞=如何获得.将Aitken 加速方法用于简单迭代法产生迭代序列时,得到著名的Steffensen 迭代法,具体迭代公式如下21()()(0,1,2,)()2k k k kk s x t s k s x x x t s x ϕϕ+=⎧⎪==⎪⎨-⎪=-⎪-+⎩(2.15)或者直接写成21(())(())2()k k k k k k kx x x x x x x ϕϕϕϕ+-=--+ (0,1,2,)k =可以证明Steffensen 迭代法在一定的条件下与原简单迭代法的迭代序列具有相同的极限,但Steffensen 迭代法收敛速度更快,可以达到二阶收敛.证明请参考文献[19].例 2.5 对例 2.3用Steffensen 迭代法求方程根的近似值,要求811102k k x x -+-<⨯. 解 (1) 简单迭代法 将原方程化成12(10/(4))x x =+,建立迭代公式121104k k x x +⎛⎫= ⎪+⎝⎭ 易验证该迭代公式在区间[1,2]上满足定理2.2的条件,产生的迭代序列收敛.(2) Steffensen 迭代法 加速公式为12122110410(0,1,2,)4()2k k k k k s x t k s s x x x t s x +⎧⎛⎫⎪= ⎪+⎪⎝⎭⎪⎪⎛⎫⎨==⎪⎪+⎝⎭⎪-⎪=-⎪-+⎩(1) 取初值0 1.5x =,简单迭代法和Steffensen 迭代法计算结果见表2.3. 注意:Steffensen 迭代法每一迭代步的计算量大约是原简单迭代法计算量的两倍.§2.3 Newton 迭代法Newton 迭代法是求解非线性方程根的近似值的一种重要数值方法.其基本思想是将非线性函数()f x 逐步线性化,从而将非线性方程(2.1)近似地转化为一系列线性方程来求解.下面讨论其格式的构造、收敛性、收敛速度以及有关变形. 一、Newton 迭代法的构造设k x 是方程(2.1)的某根的一个近似值,将函数()f x 在点k x 处作Taylor 展开2()()()()()()2!k k k k f f x f x f x x x x x ξ'''=+-+- 取前两项近似代替()f x ,即用线性方程()()()0k k k f x f x x x '+-=近似非线性方程(2.1).设()0k f x '≠,则用线性方程的根作为非线性方程根的新近似值,即定义1()()k k k k f x x x f x +=-' (2.16) 上式即是著名的Newton 迭代公式.它也是一种简单迭代法,其中迭代函数21()()()f x x x f x ϕ=-' Newton 迭代法具有明显的几何意义(如图2.3所示).方程()0f x =的根*x 即为曲线()y f x =与x 轴的交点的横坐标.设k x 是*x 的某个近似值,过曲线()y f x =上相应的点(,())k k x f x 作切线,其方程为()()()k k k x f x y f x x '+-=它与x 轴的交点横坐标就是1k x +.只要初值0x 取得充分靠近根*x ,序列0{}k k x ∞=就会很快收敛到*x .所以Newton 迭代法也称为切线法.图2.3 Newton 迭代法的几何意义二、收敛性定理2.4 设*x 是方程(2.1)的单根,在*x 的邻域上()f x ''连续且*()0f x '≠.则存在0δ>,当***0(,)[,]x U x x x δδδ∈=-+时,Newton 法产生的序列0{}k k x ∞=至少二阶收敛.证明 (1) Newton 法迭代函数的导数为2()()()[()]f x f x x f x ϕ'''='显然,()x ϕ'在*x 邻域上连续.又*()0x ϕ'=,一定存在*x 的某个δ闭邻域*(,)U x δ,当*(,)x U x δ∈时,有()1x L ϕ'≤< 从而Newton 法产生的序列0{}k k x ∞=收敛.(2)将()f x 在k x 处作一阶Taylor 展开***210()()()()()()2!k k k k k f x f x f x x x f x x ξ'''==+-+- (2.17) 其中k ξ介于*x 与k x 之间.又由Newton 迭代公式有10()()()k k k k f x f x x x +'=+- (2.18)式(2.17)与式(2.18)相减22**21()()2()k k k k f x x x x f x ξ+''-=--' 从而**1*2*()lim 0()2()k k kx x f x x x f x +→∞''-=≠'- (2.19) 由迭代法收敛阶的定义知,Newton 迭代法至少具有二阶收敛速度.上述定理给出了Newton 法局部收敛性,它对初值要求较高,初值必须充分靠近方程根时才可能收敛,因此在实际应用Newton 法时,常常需要试着寻找合适的初值.下面的定理则给出Newton 法在有根区间上全局收敛的一个充分条件.定理2.5 设*x 是方程(2.1)在区间[,]a b 上的根且()f x ''在[,]a b 上存在,如果(1) 对于任意[,]x a b ∈有,()0f x '≠()0f x ''≠; (2) 选取初值0[,]x a b ∈,使00()()0f x f x ''>.则Newton 法产生的迭代序列0{}k k x ∞=单调收敛于*x ,并具有二阶收敛速度.(a)(b)(c) (d)23图2.4 定理2.5的几何解释证明 满足定理条件(1)共有4种情形,如图2.4所示.下面仅以图2.4(a )情况进行证明,此时满足对任意[,]x a b ∈有,()0f x '>,()0f x ''>,初值*0x x >.首先用数学归纳法证明0{}k k x ∞=有下界*x . 当0k =时,*0x x >成立.假设k n =时,不等式*n x x >成立. 将*()f x 在n x 处作一阶Taylor 展开,得***2*()()()()()()0,(,)2!n n n n n n n f f x f x f x x x x x x x ξξ'''=+-+-=∈ 于是**2()()()()2()n n n n n n f x f x x x x f x f x ξ''=---'' 又由Newton 迭代公式,有**21()()2()n n n n f x x x x f x ξ+''=--' (2.20) 式(2.20)右端的第二项大于零,因此*1n x x +>.由数学归纳法知*k x x >,(0,1,2,)k =. 其次证明0{}k k x ∞=单调递减.由()0f x '>,*k x x >,*()0f x =知,()0k f x >,()0k f x '>,于是Newton 迭代公式(2.16)的第二项大于零,从而1k k x x +>故迭代序列0{}k k x ∞=单调减少.序列0{}k k x ∞=单调减少有下界*x ,它必有极限,记为ˆx ,它满足*0ˆx x x ≤<,进而有ˆ[,]xa b ∈.对1()()k k k k f x x x f x +=-'两端取极限,并利用()f x ,()f x '的连续性,得ˆ()f x=0.结合函数()f x 在[,]a b 上的单调性知*ˆx x =. 因此,Newton 法产生的迭代序列0{}k k x ∞=单调收敛于*x ,利用式(2.20)及式(2.19)知该Newton 迭代序列二阶收敛.算法2.3 (Newton 迭代法)输入 初始近似值0x 、 容许误差ε; 输出 近似解1x 或失败信息;Step 1 对1,,n m =循环执行Step 2~3; Step 2 1000()/()x x f x f x '=-;Step 3 若10x x ε-<,则输出1x ,end ;否则01x x =,转向step2.例 2.6 利用非线性方程230x -=的Newton的近似值,使得811102n n x x ---≤⨯,并证明对任意0(0,)x ∈+∞,该迭代法均收敛.24解 (1) 建立计算公式213213(0,1,2,)(2)k k k kk kk x x x x x x +-=-=+=其中00x >.(2) 判断收敛性在区间(0,)+∞内,()20f x x '=>,()20f x ''=>,当选取初值0)x ∈+∞时,存在足够大的M,使得0]x M ∈.由定理 2.5知,该迭代公式产生的迭代序列0{}k k x ∞=当选取初值0x ∈时,100013()2x x x x =+>> 这样,从1x 起,以后的(2)k x k ≥.故该迭代公式对任何初值00x >都收敛. (3) 取初值02x =,迭代计算,结果见表2.4.从表2.4可见,迭代4步后已经满足精度要求,精确解1.73205080756888=.三、Newton 迭代法的变形Newton 迭代格式构造容易,迭代收敛速度快,但对初值的选取比较敏感,要求初值充分接近真解,另外对重根收敛速度较慢(仅有线性收敛速度),而且当函数复杂时,导数计算工作量大.下面从不同的角度对Newton 法进行改进. 1 Newton 下山算法Newton 迭代法的收敛性依赖于初值0x 的选取,如果0x 偏离*x 较远,则Newton 迭代法有可能发散,从而在实际应用中选出较好的初值有一定难度,而Newton 下山法则是一种降低对初值要求的修正Newton 迭代法.方程(2.1)的根*x 也是()f x 的最小值点,若把()f x 看成()f x 在x 处的高度,则*x 是山谷的最低点.若序列0{}k k x ∞=满足单调性条件1()()k k f x f x +< (2.21) 则称0{}k k x ∞=为称为()f x 的下山序列.25在Newton 迭代法中引入下山因子(0,1]λ∈,将Newton 迭代公式(2.16)修正为1()(0,1,2,)()k k k k f x x x k f x λ+=-=' (2.22)适当选取下山因子λ,使得单调性条件(2.21)成立,即称为Newton 下山法.对下山因子的选取是逐步探索进行的.一般地,从1λ=开始反复将因子λ的值减半进行试算,一旦单调性条件(2.21)成立,则称“下山成功”;反之,如果在上述过程中找不到使条件(2.21)成立的下山因子λ,则称“下山失败”,这时可对k x 进行扰动或另选初值0x ,重新计算. 2 针对重根情形的加速算法假设*x 是方程的(2)m ≥重根,并且存在函数()g x ,使得有**()()(),()0m f x x x g x g x =-≠ (2.23)式中()g x 在*x 的某邻域内可导,则Newton 迭代函数***1**()()()()()()()()()()()()()()m m m f x x x g x x x g x x x x x f x m x x g x x x g x mg x x x g x ϕ---=-=-=-'''-+-+-,其导数在*x 处的值***********()()()()()()()()lim lim()1lim 11()()()x x x x x x x x g x x x x x mg x x x g x x x x x x g x m mg x x x g x ϕϕϕ→→→---'-+-'==--=-=-'+-所以*0()1x ϕ'<<,由定理2.2知Newton 迭代法此时只有线性收敛速度.为了加速收敛,可以采用如下两种方法方法一 令()()()f x x f x μ=',则*x 是方程()0x μ=的单根,将Newton 迭代函数修改为2()()()()()[()]()()x f x f x x x x x f x f x f x μψμ'=-=-''''- 因此有重根加速迭代公式12()()(0,1,2,)[()]()()k k k k k k k f x f x x x k f x f x f x +'=-='''- (2.24)它至少二阶收敛.方法二 将Newton 迭代函数改为()()()f x x x mf x ϕ=-' 这时*()0x ϕ'=,由此得到加速迭代公式1()(0,1,2,)()k k k k f x x x mk f x +=-=' (2.25)3 割线法26Newton 法每步需要计算导数值()k f x '.如果函数()f x 比较复杂时,导数的计算量比较大,此时使用Newton 法不方便.为了避免计算导数,可以改用平均变化率11()()k k k k f x f x x x ----替换Newton 迭代公式中的导数()k f x ',即使用如下公式111()()()()k k k k k k k f x x x x x f x f x +--=--- (2.26)上式即是割线法的迭代公式.割线法也具有明显的几何意义,如图2.5所示,依次用割线方程11()()()()k k k k k k f x f x y f x x x x x ---=+--的零点逐步近似曲线方程()0f x =的零点.割线法的收敛速度比Newton 法稍慢一点,可以证明其收敛阶约为1.618,证明请参考文献[4].此外在每一步计算时需要前两步的信息1,k k x x -,即这种迭代法也是两步法.两步法在计算前需要提供两个初始值0x 与1x .图2.5 割线法的几何意义例 2.7 已知方程42()440f x x x =-+=有一个二重根*x =Newton 法(2.16)和重根Newton 法(2.24)和(2.25)求其近似值,要求611102n n x x ---≤⨯解32()48,()128f x x x f x x '''=-=-,2()2()()4f x x x f x xμ-==',2m =. 由Newton 法(2.16)得221232(0,1,2,)44k k k k k kx x x x k x x +-+=-==由Newton 法(2.24) 得272122(2)4(0,1,2,)22k k kk k k k x x x x x k x x +-=-==++由Newton 法(2.25) 得22122(0,1,2,)22k k k k k kx x x x k x x +-+=-==利用上述三种迭代格式,取初值0 1.4x =,分别计算,结果见表2.5.3 10知识结构图习 题1 用二分法求方程2sin 0x e x --=在区间[0,1]内根的近似值,精确到3位有效数字.2 方程340x x +-=在区间[1,2]内有一根,试用二分法求根的近似值,使其具有5位有效数字,至少应二分多少次.基本概念 (单根、重根、收敛阶)283 已知方程3210x x --=在0 1.5x =附近有根,试判断下列迭代格式的收敛性,并用收敛的迭代公式求方程根的近似值,比较迭代次数,要求311102n n x x ---≤⨯ (1) 1211n nx x +=+;(2) 1n x +=;(3) 1n x +=.4 设有方程(1) cos 0x x -=; (2) 230x x e -=确定区间[,]a b 及迭代函数()x ϕ,使1()k k x x ϕ+=对任意初值0[,]x a b ∈均收敛,并求各方程根的近似值,要求411102n n x x ---≤⨯.5 用迭代法求50.20x x --=的正根,要求准确到小数点后5位.6 用Steffensen 迭代法求方程31x x =-在区间[1,1.5]内的根,要求准确到小数点后4位.7 用Newton 法和割线法分别求方程3310x x --=在02x =附近根的近似值,并比较迭代次数(根的准确值为* 1.87938524x =,要求准确到小数点后4位).8 Halley 法是加速Newton 法收敛的一个途径,Halley 法在()f x 的单根情况下可达到三阶收敛.Halley 迭代函数是12()()()()1()2(())f x f x f x g x x f x f x -''⎛⎫=-- ⎪''⎝⎭其中括号中的项是对Newton 迭代公式的改进.(1) 设函数2()f x x a =-,试给出Halley 迭代公式,取初值02x =求5的近似值,要求准确到小数点后10位.(2) 设函数3()32f x x x =-+,试给出Halley 迭代公式,取初值0 2.4x =计算其根的近似值.要求准确到小数点后10位.9试建立计算x Newton 迭代公式,并取初值01x =求611102n n x x ---≤⨯.10 (数值试验)用二分法和Newton 法求下列方程的惟一正根的近似值)0.50x x x =11 (数值试验)设投射体的运动方程为/15/15()9600(1)480()2400(1)t t y g t et x h t e --⎧==--⎪⎨==-⎪⎩1)求当撞击地面时的时间,精确到小数点后10位. 2)求水平飞行行程,精确到小数点后10位.12 (数值试验)试用Newton 法分别求解方程(1)0m x -=,(3,6,12m =),观察迭代序列的收敛情形,分析所发生的现象.能否改造Newton 法使得它收敛更快.。