1-2数值计算的误差
1-2 减少误差的计算原则
S 14
S 15 S 16 S 17 S 18
0. 06273108042387
0. 05903379364190 0. 05545930172957 0. 05719187059731 -0. 02945367075154
e e ) x dx 0 x e dx (max 0 0 x 1 n 1
0. 14553294057308 0. 12680235656153 0. 11238350406930 0. 10093196744559
S 14
S 15 S 16 S 17 S 18
0. 06273216394138
0. 05901754087930 0. 05571934593124 0. 05277111916899 0. 05011985495809
x n
S8
0. 10093196744509
S9
0. 09161229299417
0. 08387707005829
S 19
S 20
1. 55961974427919
-30. 19239488558378
S 10
对积分值有估计式:
9/12
算法二:
由递推公式
有 由In 的估计式
取
10/12
有 利用递推式可得20个数据如下表:
2/12
避免两个相近的数据相减
如果 y ≈ x,现分析两个数的近似数作减法所得结果的 误差. 设 z= y – x,则利用误差估计
有相对误差估计
当 y ≈ x 时,有 z≈0,计算结果的相对误差限可能很大, 导致数值计算结果的有效数字位数减少。
3/12
要防止大数“吃掉”小数
数值计算1-5章
数值计算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.。
误差怎么算的计算公式
误差怎么算的计算公式误差是指测量结果与真实值之间的差异,是评价测量结果准确度和精密度的重要指标。
在科学研究、工程技术和日常生活中,我们经常需要对数据进行测量和分析,而误差的计算是非常重要的一部分。
本文将介绍误差的计算公式及其应用。
一、误差的定义。
误差通常分为绝对误差和相对误差两种。
绝对误差是指测量结果与真实值之间的差值,通常用|Δx|表示,其中Δx表示测量结果与真实值之间的差值。
相对误差是指绝对误差与真实值的比值,通常用|Δx/x|表示,其中x表示真实值。
误差的计算是通过对测量结果与真实值进行比较来确定的,因此在进行误差计算时,需要首先确定真实值。
二、误差的计算公式。
1. 绝对误差的计算公式。
绝对误差的计算公式为:|Δx| = |测量值真实值|。
其中,|Δx|表示绝对误差,测量值表示测量结果,真实值表示真实数值。
2. 相对误差的计算公式。
相对误差的计算公式为:|Δx/x| = |(测量值真实值)/真实值|。
其中,|Δx/x|表示相对误差,测量值表示测量结果,真实值表示真实数值。
以上是误差的计算公式,通过这些公式我们可以计算出测量结果与真实值之间的差异,从而评价测量结果的准确度和精密度。
三、误差的应用。
误差的计算在科学研究、工程技术和日常生活中都有着广泛的应用。
在科学研究中,误差的计算是评价实验结果准确度和可靠性的重要手段。
在工程技术中,误差的计算是评价产品质量和性能的重要指标。
在日常生活中,误差的计算可以帮助我们评价购物时的价格优惠和商品质量。
误差的计算还可以帮助我们进行数据处理和分析。
在数据处理中,我们经常需要对测量数据进行处理和分析,而误差的计算可以帮助我们评价数据的可靠性和准确度。
在数据分析中,误差的计算可以帮助我们评价模型的拟合度和预测精度。
总之,误差的计算是科学研究、工程技术和日常生活中非常重要的一部分,通过误差的计算可以帮助我们评价测量结果的准确度和精密度,进行数据处理和分析,提高工作效率和生活质量。
计算方法与计算 实验一误差分析
% 输出的量--每次迭代次数k和迭代值xk,
%
--每次迭代的绝对误差juecha和相对误差xiangcha,
误差分析
误差问题是数值分析的基础,又是数值分析中一个困难的课题。在实际计算 中,如果选用了不同的算法,由于舍入误差的影响,将会得到截然不同的结果。 因此,选取算法时注重分析舍入误差的影响,在实际计算中是十分重要的。同时, 由于在数值求解过程中用有限的过程代替无限的过程会产生截断误差,因此算法 的好坏会影响到数值结果的精度。 一、实验目的
因为运行后输出结果为: y 1.370 762 168 154 49, yˆ =1.370 744 664 189
38, R 1.750 396 510 491 47e-005, WU= 1.782 679 830 970 664e-005 104 . 所
以, yˆ 的绝对误差为 10 4 ,故 y
③ 运行后输出计算结果列入表 1–1 和表 1-2 中。
④ 将算法 2 的 MATLAB 调用函数程序的函数分别用 y1=15-2*x^2 和
y1=x-(2*x^2+x-15)/(4*x+1)代替,得到算法 1 和算法 3 的调用函数程序,将其保
存,运行后将三种算法的前 8 个迭代值 x1, x2 ,, x8 列在一起(见表 1-1),进行
的精确解 x* 2.5 比较,观察误差的传播.
算法 1 将已知方程化为同解方程 x 15 2x2 .取初值 x0 2 ,按迭代公式
xk1 15 2xk2
计算方法(1)-数值计算中的误差
* r
(
x)
1)乘方运算结果的相对误差增大为原值 x的p倍,降低精度.
2)开方运算结果的相对误差缩小为原值
x的1/q倍,精度得到提高.
三.算例的误差分析
x
3
2 2
1 1
24
§6 算法的数值稳定性
一.算法稳定性的概念
凡一种算法的计算结果受舍入误差的影 响小者称它为数值稳定的算法.
例4 解方程 x2 (109 1)x 109 0
方程精确解: x1 10 9 , x2 1
利用求根公式
x1,2
b
b2 4ac 2a
x1 10 9 , x2 0
25
当多个数在计算机中相加时,最好从
绝对值最小的数到绝对值最大的数依次相
加,可使和的误差减小.
二.算法的改进
2 2
1 1
3
计算结 果
2 7/5
2 17 /12
1 ( 2 1)6
2 6
0.0040960
5
6
0.00523278
5
12
2 99 70 2
1
1 0.16666667
6
3
6
1
5
6
0.00523278
12 6
计算方法
1
第一章 数值计算中的误差
§1 引言 §2 误差的种类及其来源 §3 绝对误差和相对误差 §4 有效数字及其与误差的关系 §5 误差的传播与估计 §6 算法的数值稳定性
数值计算方法第一章 误差
1 10n1 2a1
所以 1 10n1 是 x* 的相对误差限。
2a1
若
r
1
2a1
1
10n1,
由式(1-4)
21
绝对误差、相对误差和有效数字
e x* x*er x* 0.a1a2 L an L 10mr
a1
1
10m1
2
1 a1
1
10n1
1 10mn 2
由式(1-6),x* 至少有n位有效数字。
1.3.1 基本运算中的误差估计
本节中所讨论的基本运算是指四则运算与 一些常用函数的计算。
由微分学,当自变量改变量(误差)很小时, 函数的微分作为函数改变量的主要线性部分可以 近似函数的改变量, 故利用微分运算公式可导出 误差运算公式。
24
数值计算中误差的传播
设数值计算中求得的解与参量(原始数据)
由以上各式还可得出
ex1 x2 ex1 ex2 ex1 ex2 (1-14)
er x1x2 er x1 er x2 er x1 er x2 (1-15)
er
x1 x2
er x1 er x2
er x1
er x2
(1-16)
29
数值计算中误差的传播
因此,和、差的误差限不超过各数的误差限之 和,积、商的相对误差限不超过各数的相对误 差限之和。
定义: 若x的某一近似值 x* 的绝对误差限是某一位 的半个单位, 则称其“准确”到这一位,且从该位直到
x* 的第一位非零数字共有q位,则称近似值 x* 有q
位有效数字。
16
绝对误差、相对误差和有效数字
例如, 2 的近似值1.414准确到小数点后第3位, 它具有4位有效数字。
第一章数值计算中的误差
用 x ± ε 表示一个近似值,这在实际计算中很不方便。当在实际运算中遇到的数的位数 很多时,如π , e 等,常常采用四舍五入的原则得到近似值,为此引进有效数字的概念。
定义 3:当近似值 x* 的误差限是其某一位上的半个单位时,我们就称其“准确”到这一位,
xn n!
&1+
x
+
x2 2!
+"+
xn n!
近似代替
ex
,这时的截断误差为
Rn
(x)
=
eξ (n +1)!
x n +1
,
ξ 介于 0 与 x 之间。
这种误差就是截断误差。
sin x = x − x3 + x5 − ...... , 用近似计算公式 sin x ≈ x - x3 + x5 截断误差估计
实际问题→数学模型→计算方法→程序设计→上机计算 由实际问题应用有关科学知识和数学理论建立数学模型这一过程,通常作为应用数学的 任务。而根据数学模型提出求解的计算方法直到编出程序上机算出结果,进而对计算结果进 行分析,这一过程则是计算数学的任务,也是数值计算方法的研究对象。 数值计算方法(也称数值分析或计算方法)是计算数学的一个主要部分,它是一门把数 学理论与计算机紧密结合起来进行研究的实用性很强的学科。它主要研究用计算机求解各种 数学问题的数值方法及其相关理论。
的绝对误差限为 0.0005
显然,误差限 ε(x)总是正数,且
ε (x) = x − x* ≤η
(1.3.3)
即
x * −η ≤ x ≤ x * +η
这个不等式,在应用上常常采用如下写法
x = x * ±η
(1.3.4) (1.3.5)
数值计算方法第01章误差
1.2 绝对误差、相对误差和有效数字
绝对误差/* Absolute error */
定义1. 设x为准确值 , x*为x的一个近似值 , 称 e(x*) x* x
为近似值x*的绝对误差 ,简称误差 ,可简记为E.
因为准确值 x 往往是未知甚至是无法 知道的
因此 E(x* ) x* x 往往也无法求出
例:计算
In
1 e
1 xne xdx ,
0
n 0,1, 2, ......
公式一:In 1 n In1
I0
1 e
1 e xdx
0
1
1 e
0.63212056
记为
I
* 0
则初始误差 E0 I0 I0* 0.5108
注意此公式精确成 立
1
e
1 0
x1=0.0315 x2=0.3015 x3=31.50 x4=5000
1.2.2 有效数字
有效数字是近似值的一种表示法。它既能表示近似值的大小,又能表示其精确程度。
若x*作为x的近似值, 其绝对误差的绝对值不 超过某一位数字的半个单位, 而该位数字到 x*的第 一位非零数字共有n位, 则称用x*近似x时具有n位 有效数字, 简称x*有n位有效数字.
1.3数值计算中误差的传播
1.3.1 基本运算中的误差估计 在数值运算中,参加运算的数若有误差,那
么一定会影响到计算结果的准确性.
例、设y=xn,求y的相对误差与x的相对误差之间的关 系。
1.3.2 算法的数值稳定性
计算一个数学问题,需要预先设计好由已知 数据计算问题结果的运算顺序,这就是算法。
且 x* x x* 准确值 x 的范围
数值计算方法第一章 误差
6
误差的来源
4.舍入误差 在计算过程中往往要对数字进行舍入。 如受机器 字长的限制,无穷小数和位数很多的数必须舍入成 一定的位数。 这样产生的误差称为“舍入误差”。 本课程只讨论截断误差与舍入误差对计算结 果的影响。
§1.2 绝对误差、相对误差和有效数字
7
绝对误差、相对误差和有效数字
1.2.1
绝对误差与相对误差
17
x* 0.a1a2 an 10m
如果
1 x x 10 m n 2
*
(1-5)
(1-6)
* x 则称近似值 有n位有效数字。
1 5 x 0 . 003400 10 例如 表示近似值0.003400准确 2
到小数点后第5位,有3位有效数字。
上面的讨论表明,可以用有效数字位数来刻划 误差限。 形如式(1-5)的数,当m一定时,其有效数字 数位n越大,则误差限越小。
但可以根据测量 能算出绝对误差 e( x*) 的准确值, 工具或计算的情况估计出它的取值范围,
8
绝对误差、相对误差和有效数字
即估计出误差绝对值的一个上界
e( x ) x x
* *
*
(1-2)
通常称 为近似值 x 的绝对误差限,简称误差限。 显然误差限不是唯一的。 有了误差限及近似值,就可以得到准确值 的范围 * * 即准确值 x
* 显然,误差限与近似值绝对值之比 * 为 x 的 一 x
个相对误差限。
例 取3.14作为 相对误差限.
的四舍五入的近似值,试求其
13
绝对误差、相对误差和有效数字
1 2 3 . 14 0 . 0016 10 解: 2 相对误差限 1 2 10 2 0.159 % * x 3.14 又如 由实验测得光速近似值为 c * 2.997925 105 km/s, 其误差限为 0.1 km/s, 于是
数值计算中的误差
p( x) a0 xn a1xn an1x an
an1 ) x an
p( x) (((a0 x a1 ) x a2 ) x
内江师范学院数学与信息科学学院 吴开腾 制作
二、误差的种类及其来源
过失误差或疏忽误差 模型误差
非过失误差 观测误差 截断误差
*
例如 3.14159265 的五、六位有 效数字分别为:
1 3.1416 , 2 3.14159
•数字的规格化形式
一般说,设有一个数 x ,其近似值 x 的规格化形式
*
x 0.1 2 n 10
*
m
(5)
1 , 2 ,, n 都是0,1,2,3,4,5,6,7,8,9中的一个数 式中: 字, 1 0 ;n是正整数;m是整数。
内江师范学院数学与信息科学学院 吴开腾 制作
(7)
计算题
绝对误差和相对误差的计算以及有效数字?
例1 当用 3.1416 来表示 它的相对误差是多少?
的近似值时,
3 ,由(7)有
1 解: 3.1416 具有五位有效数字,
* r
1 1 51 4 ( x) 10 10 23 6
内江师范学院数学与信息科学学院 吴开腾 制作
五、防止误差传播的若干方法
应选用数值稳定的计算算法,避开不稳定的算式; 注意简化计算步骤,减少运算次数; 大数“淹没”小数的现象发生;
应避免两相近数相减(变换);
绝对值太小的数不宜作为除数;
注意计算过程中误差的传播与积累。
内江师范学院数学与信息科学学院 吴开腾 制作
1 x 99 70 2
6
数值计算中的误差
数值计算中的误差数值计算过程中的误差是指由于各种原因产生的计算结果与真实结果之间的差异。
这些误差可以分为三类:截断误差、舍入误差和传播误差。
截断误差是由于计算过程中的近似方法导致的误差。
在数值计算中,通常使用有限的计算步骤来近似数值。
例如,使用泰勒级数展开式来近似一个函数,需要截断级数并且只保留有限的项。
这种近似方法会引入截断误差。
另一个例子是数值积分,将一个连续函数的积分区间离散化为有限个小区间,每个小区间的面积用一个代表性的值来近似。
这种近似方法也会引入截断误差。
舍入误差是由于计算机在进行数值计算时所产生的误差。
计算机中使用二进制来表示数字,而大多数实数是无法精确地用有限的二进制位数来表示的。
当进行数值计算时,计算机必须对数字进行舍入,即将无限位数的数字截断为有限的位数。
这种舍入操作会导致计算结果与实际结果之间产生误差。
另外,计算机在进行加减乘除等运算时,会出现舍入误差。
例如,计算机对两个非常接近的数字进行相减时(称为“减法消失现象”),由于舍入误差的累积,可能会得到一个较大的误差。
传播误差是由于数值计算中的多个步骤之间的误差传播而产生的误差。
当计算过程中的一个步骤的输出作为下一个步骤的输入时,前一步骤的误差会传播到后一步骤,从而导致误差的累积。
例如,在求解微分方程的数值方法中,每个时间步长的计算结果会成为下一个时间步长的初始值。
如果每个时间步长都具有一定的误差,误差会逐渐累积并导致整个计算过程的误差增加。
为了减小数值计算中的误差,一些方法可以采取。
例如,增加计算的精度,使用更高阶的近似方法来减小截断误差;使用更大的计算单位,避免舍入误差的累积;结合多个数值方法,控制误差传播。
此外,还可以通过数值稳定性的分析和合理的算法设计,来降低误差的产生和传播。
总之,数值计算中的误差是不可避免的,但可以通过合理的方法和技术来减小误差并提高计算结果的准确性。
对于一些关键性的计算,还可以通过数值计算的验证方法,如重复计算、精确解的对比等,来评估计算结果的可靠性和准确性。
《数值分析》第一章 数值计算中的误差
值,其绝对误差限等于该近似值末位的半个单位。
14
§2 舍入方法与有效数字
2.2 舍入方法
2.2.2四舍五入法
• 例:设a=-2.18和b=2.1200是分别由准确值x和y 经过四舍五入而得到的近似值,问: a、b的绝 对误差限、相对误差限各是多少?
解: (a) 0.005 0.5 102
(b) 0.00005 0.5104
n位
≤ 0 . 0 … 0 999... < 0 . 0 … 0 1=1×10-n
n位
n-1位
• 截断法产生的绝对误差限不超过近似数a最末位 的1个单位。
11
§2 舍入方法与有效数字
2.2 舍入方法
2.2.2四舍五入法
• 四舍情况,
A=a0 a1 … am . am+1 … am+n
• 当am+n+1 =0,1,2,3,4时,
4
§2 舍入方法与有效数字
5
§2 舍入方法与有效数字
2.1 绝对误差与相对误差
• 近似数a的绝对误差 , 简称误差 设a是精确值A的近似值,
=a-A
• 绝对误差限 ||=|a-A|<(上界)
• 由上式可推知 a- <A<a+,也可表示为A=aAFra biblioteka-a
a+
6
§2 舍入方法与有效数字
2.1 绝对误差与相对误差
• 相对误差 : 绝对误差与精确值之比 =/A。 • 实际计算/a。
代替后误差
a A 1 2
A a Aa
Aa
• 相对误差限 ||=|/a |< /|a|= (上界)
• 绝对误差是有量纲的量,相对误差没有量纲,有时 亦用百分比、千分比表示。
数值计算中的误差课件
截断误差
01
02
03
04
截断误差是由于对无限循环小 数或无穷级数进行截断而产生
的误差。
当我们使用有限项来近似表示 一个无限循环小数或无穷级数
时,就会产生截断误差。
截断误差的特点是它是一个无 界误差,可能会随着近似项的 增加而逐渐减小,但永远不会
VS
结论
根据误差分析报告,得出关于模型准确性 的结论。例如,如果误差分析结果表明模 型预测结果不够准确,那么需要进一步改 进模型或调整模型参数。
THANKS
感谢观看
数据类型
选择适当的数据类型可以减少计算过程中的误差。例如,对于精度要求较高的 计算,应使用浮点数;对于范围较大的数值,应使用定点数。
利用数值稳定性技巧
舍入策略
采用适当的舍入策略可以减少误差。例如,四舍五入或向上取整可以减少舍入误 差。
迭代收敛
通过迭代法求解方程时,应选择收敛速度较快的算法以减少误差。例如,梯度下 降法和牛顿法具有较好的收敛性能。
03
算法误差分析
迭代法与收敛性
迭代法
迭代法是一种通过不断逼近解来 求解方程的方法。常见的迭代法 有Jacobi迭代法、Gauss-Seidel
迭代法等。
收敛性
收敛性是指迭代法是否能得到准确 解的过程。一般来说,收敛速度越 快,误差越小。
误差分析
对于不同的迭代法,需要进行误差 分析,比较各种方法的优劣。
最小二乘法与回归分析
数据拟合
最小二乘法可以找到最佳 拟合数据的数据集,但可 能存在过拟合现象。
病态性
当数据集具有病态性时, 使用最小二乘法可能导致 误差增大。
数值计算中的误差
∴ n=3
r*=1/2x1 10-(n-1)=1/2*3 10-2=17%
1.3.4 有效数字与相对误差
例8 已知近似数x*有两位有效数字,试求其相
对误差限
解:已知 n=2 代入公式 r*=1/2x1 10-(n-1)得
r*=1/2x1 10-1
x*的第一位有效数字x1没有给出,可进行如下 讨论:当
e(x* ) x x* dx
er (x* )
e* x
x x* x
dx x
d ln x
1.4.2 算术运算误差
由d( x±y)=dx±dy 可得两数之和(差)的
误差等于两数的误差之和(差);
由 d ln(x y) d ln x d ln y 可得两数之积
的相对误差等于两数的相对误差之和;
定义1.2 设存在一个正数,使
e* x x* *
则称为近似值的绝对误差限,简称误差限或精度。
1.3 误差的度量
例1 设x ==3.1415926… 近似值x* =3.14,它的绝 对误差是 0.001 592 6…,有 x-x*=0.0015926… 0.002=0.210-2
一般情况,当f(x)≈f(x*)时,可用泰勒展开 f (x) f (x* ) f (x* )(x x* ) f (x) (x x* )2
由
d
ln
x y
d
ln
x
d
ln
y
可得两数商的相
对误差可看作是被除数与除数的相对误差之差
。
例12 正方形的边长约为100cm,怎样测量才能使其 面积误差不超过1cm2 ?
数值计算的误差
数值计算的误差
1
内容提要
误差 误差的来源 绝对误差与相对误差 误差限 有效数字 误差估计
误差分析与数值稳定性 数值计算中算法设计的技术 数学软件(略)
2
什么是误差
误差 是人们用来描述数值计算中近似解的精确程度,是科
学计算中的一个十分重要的概念。
误差的来源
0.5 × 10k-1 < |x*- x| ≤ 0.5 × 10k 则 x* 有 m-k+1 位有效数字。
x*有 n 位有效数字
0.5 × 10m-n < |x*- x| ≤ 0.5 × 10m-n+1
有效数字与相对误差限
定理:设近似值 x* 可表示为
x* = ± a1.a2···an ··· ×10m (a1≠0),
2
e x −=1
x
1
+
1 2
x
+
1 6
x2
+
...
例:教材第 11 至 12 页,例 7,8,9,10 (自己练习) 26
3
误差举例
∫ 例:近似计算 1 e − x2 dx 0 解:将 e−x2 作Taylor展开后再积分
∫ ∫ 1 e−x2 dx =
1
(1 −
x2
+
x4
−
x6
+
x8
−
) dx
0
0
2 ! 3! 4!
=1− 1 + 1 ×1 − 1 × 1 + 1 ×1 − 3 2! 5 3! 7 4! 9
∫ 取
∑n
ε ( f(x*) ) ≈
k =1
数值计算中的误差
数值计算中的误差误差在数值计算中是一个重要的概念,它代表了测量结果和真实值之间的差异。
在实际计算中,由于测量的限制、近似数的使用以及计算机舍入等原因,都会引入误差。
了解误差的类型和影响因素,对于数值计算的准确性和可靠性至关重要。
首先,我们来了解误差的分类。
误差可以分为绝对误差和相对误差。
绝对误差是指测量结果与真实值之间的差异。
它可以通过计算差值来得到,即绝对误差=测量结果-真实值。
绝对误差通常用于描述实际测量的准确性。
相对误差是指绝对误差与真实值之间的比例。
它可以通过计算绝对误差与真实值的比值来得到,即相对误差=绝对误差/真实值。
相对误差通常用于描述测量结果的相对准确性,尤其是在比较不同尺度或量纲的测量结果时。
1.测量误差:测量仪器的精度和灵敏度决定了测量误差的大小。
不同的测量仪器具有不同的精度和灵敏度,因此测量结果可能会受到测量误差的影响。
2.近似数的使用误差:在数值计算中,由于一些数值无法精确表达,我们常常使用近似数进行计算。
这些近似数的使用会引入近似误差。
近似误差的大小取决于近似数的选择和使用方式。
3.计算机舍入误差:计算机在进行数值计算时,会对结果进行舍入。
舍入误差是由于舍入操作引入的误差。
舍入误差的大小取决于计算机的浮点数表示方式和舍入规则。
误差的计算和评估可以通过各种方法进行。
1.绝对误差的计算:绝对误差可以通过测量结果和真实值之间的差值来计算得出。
绝对误差的大小通常用于评估测量的准确性。
2.相对误差的计算:相对误差可以通过计算绝对误差与真实值之间的比值来计算得出。
相对误差的大小通常用于评估测量结果的相对准确性。
3.误差的传递:在复合计算中,误差可以通过误差传递公式进行计算。
误差传递公式可以帮助我们估计复合计算的误差范围。
误差在数值计算中具有重要的意义。
首先,误差的存在使我们意识到测量结果或计算结果并不是绝对准确的。
通过对误差的理解和评估,我们可以提供对结果的合理解释,并根据误差范围进行相应的决策。
乘除运算中的误差分析
三、乘除运算中的误差分析前面我们提到过,“乘除运算”当中我们应该考虑“相对误差”,而这是我们误差分析最为重要的内容。
那么,如果相乘或者相除的两个数分别发生一定程度的近似,它们的乘积或者商又会发生什么样的变化呢?我们首先先给出两个重要的结论:1.两个数相乘,那么这两个数的相对误差之和,近似为总体的相对误差;2.两个数相除,那么这两个数的相对误差之差,近似为总体的相对误差。
我们先举两个相乘的例子:注:上面分析的所有误差指的都是“相对误差”,因为只有“相对误差”才能在乘除运算当中保持近似的加减关系。
四、近似误差与选项差异通过上面的分析我们知道,近似的计算会产生一定的误差,那么这种误差会不会对最后结果的判定产生影响呢?这就取决于近似误差(“近似误差”指的是数字近似后产生的相对误差,在与“选项差异”进行大小比较时,指其绝对值)与选项差异之间的相对关系了,通俗的讲就是:选项差别大,估算可大胆;选项差别小,估算需谨慎。
但我们需要的不仅仅是这样一句定性的描述,我们更加需要的是定量的结论。
首先,我们对两个数字之间的“相对差异”进行一个定义:我们以两个数字当中较大的数字为真实值,较小的数字为估算值,这样计算得到的“相对误差”的绝对值,我们称之为这两个数字之间的“相对差异”。
譬如“4”和“5”,我们以5为真实值,以4为估算值,得到的“相对误差”为“-20%”,那么我们就说“4和5之间的相对差异为20%”。
再譬如说,9和12之间的相对差异为25%,15和18之间的相对差异为16.7%等等。
然后,我们对“选项差异”进行一个定义:所谓“选项差异”,是指四个选项中任意两个数值之间的“相对差异”的最小值。
具体操作时,我们仅需要考虑相邻数字之间(是指大小相邻,非而位置相邻)的相对差异即可。
我们看下面这样的选项设置:A.20B.24C.28D.32我们考虑相邻数字之间的相对差异:20与24之间的相对差异为16.7%,24与28之间的相对差异为14.3%,28与32之间的相对差异为12.5%。
数值分析误差及分析
数值分析误差及分析数值分析是一种通过数学方法和计算机模拟来处理和解决实际问题的方法。
然而,由于计算机的运算能力和存储能力有限,以及问题本身的复杂性,数值分析往往会引入一定的误差。
误差是指数值计算结果与真实值之间的差异,它分为截断误差和舍入误差两种类型。
截断误差是由于在数值分析过程中对无限小量和无限级数的截取而产生的误差。
无限小量是指小到可以忽略不计的量,无限级数是指由无限多个项相加的数列。
在实际计算过程中,为了获得可计算的结果,人们往往只考虑有限项的计算,这就导致了截断误差的出现。
截断误差的大小与问题本身的性质以及截止条件的选择有关。
舍入误差是由于计算机内部的浮点数表示方式而引入的误差。
计算机内部使用有限的位数来表示实数,这就不可避免地导致了浮点数的精度问题。
当计算结果需要表示的位数超过了计算机所能表示的范围时,就会发生舍入误差。
舍入误差的大小与计算机的表示精度以及计算过程中的计算次数有关。
为了减小误差,提高数值分析的精度,可以采取以下方法:1.增加计算机的位数:增加计算机的位数可以扩大浮点数的表示范围,从而减小舍入误差的发生概率。
2.使用更高精度的数据类型:在一些特殊情况下,为了提高计算结果的精度,可以使用更高精度的数据类型,如使用双精度浮点数代替单精度浮点数。
3.改进算法:优化算法可以减小截断误差的影响,例如使用数值积分的自适应算法、迭代法等。
4.选择合适的截止条件:在数值分析过程中,需要选择适当的截止条件。
截止条件的选择既不应过于严格,以免造成大的截断误差,也不应过于宽松,以免在计算机内部引入较大的舍入误差。
5.进行误差分析:在数值分析过程中,应该对误差进行分析和估计。
可以通过理论方法、数值试验和统计方法等途径来估计误差的上界或下界,从而评估计算结果的可靠性。
总而言之,数值分析误差是不可避免的,但可以通过增加计算机位数、改进算法、选择合适的截止条件、使用高精度数据类型和进行误差分析等方法来减小误差,提高数值分析的精度和可靠性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3. 截断误差
当得不到数学模型的精确解时,要用 数值计算方法求它的近似解,由此产生 的误差称为截断误差或方法误差 求近似解 —— 方法误差 (截断误差) /* Truncation Error */
例如:在微积分中sinx可展开成
"Hmm," says the physicist, "You mean that some Scottish sheep are black." "No," says the mathematician, "All we know is that there is at least one sheep in Scotland, and that at least one side of that one sheep is black!"
( x1 x2 ) ( x1 ) ( x2 )
e( x1 ) e( x2 ) er ( x1 x2 ) x1 x2
r ( x1 x2 )
( x1 ) ( x2 )
x1 x2
和的误差(限)等于误差(限)之和
(2)减法运算:
( x x ) ( x x ) 1 2 1 2 e( x1 x2 ) e( x1 ) e ( 差来源的分类 数 二、误差分析的重要性 值 三、绝对误差 计 算 四、相对误差 的 五、有效数字 误 六、数值运算的误差传播 差
1.观测误差
通过测量得到模型中参数的值 —— 观测误差 /* Measurement Error */
注:通常根据测量工具的精度,可以知
道这类误差的界。
一、误差来源的类型 2.模型误差
连长对排长 : 根据营长的命令,明晚 8点,非凡的哈雷彗星将 身穿野战服在礼堂中出现。如果操场上下雨,营长将下达另一 个命令,这种命令每隔76年才会出现一次。
排长对班长 : 明晚8点,营长将带着哈雷彗星在礼堂中出现, 这是每隔 76年才有的事。如果下雨的话,营长将命令彗星穿 上野战服到操场上去。
班长对士兵: 在明晚8点下雨的时候,著名的76 岁哈雷将军将 在营长的陪同下身着野战服,开着他那“彗星”牌汽车,经过 操场前往礼堂。
五、有效数字-----数值近似中相对误差的一种实用刻画
当数值x有很多位数字时,常按照“四舍五入”原则 取前几位数字作为x的近似值。我们来考虑“四舍五入” 近似法的相对误差。
简例:设 x = π= 3.1415926··· 取x1*= 3作为π的近似值,则
0.1415 1 | e | 100 3 2
故绝对误差限为
f ( x *1 , x *2 ) f ( x *1 , x *2 ) ( y*) ( x *1 ) ( x *2 ) x1 x 2
与前面类似的推导可得多元函数的误差 估计
e( y*) y * y
f ( x *1 , x *2 ,, x *n ) e( x *1 ) x1 f ( x *1 , x *2 ,, x *n ) e ( x *n ) x n
| e( x1 ) | | e( x2 ) |
即 ( x1 x2 ) ( x1 ) ( x2 ) 则相对误差限
r ( x1 x2 ) ( x1 ) ( x2 )
x1 x2
加法的所有误差估计公式:
e( x1 x2 ) e( x1 ) e( x2 )
一般地: 设
x 1.2
x*= 1.2
nn1
n 10 p
10 的近似值为:
p
p为整数。我们易得上述“四舍五入”近似法的相对误差限 :
n 其中1 0, n n +1
n+1 4 n+1 5
x * x x*
1 101 n. 2
例:π1*= 3,π2*= 3.14,π3*= 3.140, π4*= 3.141, π5*= 3.149 作为π的近似值,则有 效数字分别有多少位? 答:1,3,3, 3, 3(相对误差为0.0023…)
(参见书p6?!)
例:精确数有多少位有效数字? 答:无穷多位有效数字
有效数字的性质 有效数字的位数可刻画近似 数的精确度。有效数字越多,则 相对误差越小。
因为 e( y*) f ( x*)e( x*)
x* er ( y*) f ( x*) er ( x*) f ( x*)
故相应的误差限估算如下
( y*) f ( x*) ( x*)
x* r ( y*) f ( x*) r ( x*) f ( x*)
(2)二元函数的函数值计算误差估计 问题:设y=f(x1, x2), x1, x2的近似值 为x1*, x2* ,则y的误差如何计算? 解 e ( y*) y * y * * f ( x1 , x2 ) f ( x1 , x2 ) df ( x *1 , x *2 )
x3 x5 x7 sin x x , x 3! 5! 7!
但在计算机中计算时,常用前几项来 代替,即抛弃了无穷级数的后段,这样就 产生了截断误差。
当|x|很小时,常用x代替sinx,其截 断误差大约为 x 3/6。
4.舍入误差
由于计算机字长有限,原始数据的输 入及浮点数运算过程中都有可能产生误 差,这样产生的误差称为舍入误差
定义
若有一个适当小的正数 ,使
*
| e( x*) || x * x | *
则
* 称为近似值 x* 的绝对误差限。
有时用 x x * 表示近似值x*的 精度或准确值的所在范围。
注:在实际问题中,绝对误差和绝对误差 限一般是有量纲的。
例如,测得某物体的长度为5m,其误 差限为0.01m
数x* 的末位的半个单 位(四舍五入)
也有把x表成形如: x 0.12 nn1 10 p ,其结果是一致的。
定义: 若用某数 x* 近似 x,对尽量大的n满足上面的 误差要求时,称用 x* 近似 x具有“ n 位有效数字”.
注1 直观地,按四舍五入近似法知:近似值x*的相 对误差限是某一位的半个单位,该位到x*的第一位 非零数字一共有n位,称近似值x*有n位有效数字, 或说x*精确到该位。 (不建议使用此说法)
(1) r
取 x2* = 3.14 作为π的近似值,则
|e
( 2) r
0.00159 1 2 | 10 3.14 2
0.00000734 1 4 | 10 3.1416 2
取 x3* = 3.1416作为π的近似值,则
|e
( 3) r
它们的相对误差都不超过所保留的末位数字位的 半个单位(四舍五入)。
f ( x *1 , x *2 ) f ( x *1 , x *2 ) e( x *1 ) e ( x *2 ) x1 x 2
f ( x , x ) f ( x , x ) 1 2 1 2 e ( y *) 由于 e( x1 ) e ( x2 ) x1 x 2 f ( x *1 , x *2 ) f ( x *1 , x *2 ) e( x *1 ) e ( x *2 ) x1 x 2
n
f ( x *1 , x *2 ,, x *n ) e ( x *i ) x
2. 加减乘除运算的估计误差 (注意:下列公式均省略了“*”) (1)加法运算:
e( x1 x2 ) e( x1 ) e( x2 )
而 | e( x1 x2 ) || e( x1 ) e( x2 ) |
四、相对误差和相对误差限
思考题: 设有两个温度计,其一测量
1000℃ 时的绝对误差限为 5℃ ,而另一个 测量100℃时的绝对误差限为5℃。 问:哪一个温度计更精确?
答:虽然两者绝对误差限的数值相同,
但第一种温度计更为精确。
决定一个量的近似值的精确度除了 要看绝对误差的大小外,还要考虑到 该量本身的大小。
机器字长有限 —— 舍入误差 /* Roundoff Error */
在数值分析课程中,主要研究
截断误差 舍入误差
统称计算误差
二、误差分析的重要性
观察如下两个方程组
x1 x2 2 x1 0.9999 x2 1.9999 x1 x2 2 x1 0.9999 x2 2.0001
定义 绝对误差与准确值之比
e ( x*) x * x e er ( x*) ,x0 x x
* r
称为x*的相对误差(relative error)
注 (1)相对误差是个无量纲量,对近似问题,可
用于刻画近似精确度;值小者精度高。
(2)由于准确值x未知,故实际问题中, 当| 较小时,常取 e| r ( x*)
e ( x*) er ( x*) x*
定义 若指定一个适当小的正数 , 使 r ( x*) | e( x*) | | er ( x*) | r ( x*) | x| 则称 r ( x*) 为近似值 x*的相对误差限 当|er ( x*)|较小时,可用下式计算 ( x*) r ( x*) |x |
而 | e( x1 x2 ) || e( x1 ) e( x2 ) |
| e( x1 ) | | e( x2 ) |
故
ε( x1 x2 ) ≤ = ε( x1 ) + ε( x2 )
注2 对于x的任一近似值x*,只要其相对误差限满足 定义中的误差要求,均称近似值x*有n位有效数字。
A mathematician, a physicist, and an engineer were traveling through Scotland when they saw a black sheep through the window of the train. "Aha," says the engineer, "I see that Scottish sheep are black."