第1章 数值计算导论
数值计算课件第一章 引论
说明:
• 学时: 授课24, 上机24 • 成绩评定:
– 期末考试(60%) – 平时成绩(40%)
• 教师: 王骄健 • 联系方式:
– E-mail: jiaojianwang@
教学大纲
《数字计算》
非线性 方程
线性 方程组
方程组 系数
微分积分 及方程
积分 微分
常微分 方程
1 2
S4 取
1
1 1 1 1 x2 e dx S , R ... 称为截断误差 4 则 4 0 4! 9 5! 11 1 1 这里 R4 0 .005 4! 9 1 1 1 S4 1 1 0 .333 0 .1 0 .024 0 .743 3 10 42
• 但误差e(x)并不足以刻划x的精度。如: x*=15±2, x=15, ε (x) =2; y*=1000±5, y=1000, ε (y)=5
因此考虑精度时除看误差大小外,还应考 虑精确值本身的大小,故引入相对误差概 念。
1.2 数值计算的误差与有效数字
• 定义1.2 设x*为某一数据的准确值,x为x*的一 个近似值,称
– 截断误差:用数值方法求解数学模型时,用简单代 替复杂,或者用有限过程代替无限过程所引起的误差; – 舍入误差:计算机表示的数的位数有限,通常用四 舍五入的办法取近似值,由此引起的误差。
1.2 数值计算的误差与有效数字
例如:
2 n x x e x 1 x ... ... 2! n!
数值计算与MATLAB
王骄健 电子科技大学生命学院
2015年9月
教材和参考书
• 教材:
– 数值分析,电子科技大学应用数学学院,钟尔杰, 黄廷祝主编,高等教育出版社
数值分析课程第五版课后习题答案(李庆扬等)
数值分析课程第五版课后习题答案(李庆扬等)数值分析课程第五版课后习题答案(李庆扬等)第一章:数值分析导论1. 解答:数值分析是一门研究如何使用计算机来解决数学问题的学科。
它包括了从数学理论到计算实现的一系列技术。
数值分析的目标是通过近似的方式求解数学问题,其结果可能不是完全精确的,但是能够满足工程或科学应用的要求。
2. 解答:数值分析在实际应用中起着重要的作用。
它可以用于求解复杂的数学方程、计算机模拟及建模、数据的统计分析等等。
数值分析是科学计算和工程计算的基础,对许多领域都有着广泛的应用,如物理学、经济学、生物学等。
3. 解答:数值方法指的是使用数值计算的方式来求解数学问题。
与解析方法相比,数值方法一般更加灵活和高效,可以处理一些复杂的数学问题。
数值方法主要包括了数值逼近、插值、数值积分、数值微分、线性方程组的求解、非线性方程的求根等。
4. 解答:计算误差是指数值计算结果与精确解之间的差异。
在数值计算中,由于计算机的有限精度以及数值计算方法本身的近似性等因素,都会导致计算误差的产生。
计算误差可以分为截断误差和舍入误差两种。
第二章:数值误差分析1. 解答:绝对误差是指实际值与精确值之间的差异。
例如,对于一个计算出的数值近似解x和精确解x_0,其绝对误差为| x - x_0 |。
绝对误差可以衡量数值近似解的精确程度,通常被用作评估数值计算方法的好坏。
2. 解答:相对误差是指绝对误差与精确解之间的比值。
对于一个计算出的数值近似解x和精确解x_0,其相对误差为| (x - x_0) / x_0 |。
相对误差可以衡量数值近似解相对于精确解的精确度,常用于评估数值计算方法的收敛速度。
3. 解答:舍入误差是由于计算机的有限精度而引起的误差。
计算机中使用的浮点数系统只能表示有限的小数位数,因此在进行数值计算过程中,舍入误差不可避免地会产生。
舍入误差会导致计算结果与精确结果之间存在差异。
4. 解答:误差限度是指对于给定的数值计算问题,所能容忍的误差范围。
第1章 计算思维-导论
或
计算机算法的特性
(1)有穷性:一个算法在执行有穷步之后必须结束。也就是 说,一个算法,它所包含的计算步骤是有限的。 (2)确定性:算法的每一个步骤必须要确切地定义。即算法 中所有有待执行的动作必须严格而不含混地进行规定,不能 有歧义性。 (3)输入:算法有零个或多个的输入,即在算法开始之前, 对算法最初给出的量。 (4)输出:算法有一个或多个的输出,即与输入有某个特定 关系的量,简单地说就是算法的最终结果。 (5)可操作性:算法上描述的操作在计算机上都是可以实现 的。
个 数
10个 2个 8个 16个 R个
进位值
10 2 8 16 R
权
(1999)10= 1×103 + 9×102 + 9× 101 + 9× 100
基数
权
(101.11)2= 1×22 + 0×21 + 1× 20 + 1× 2-1 + 1× 2-2
十进制数转换为R进制数
整数:除R取余法(先得最低位,后得最高位) 小数:乘R取整法(先得最高位,后得最低位)
三、什么是计算思维
笛卡尔(Rene Descartes):解析几何之父 我思故我在 思维是对某个问题或事物的思考过程以及产生的想法 或见解 思维是人脑对客观现实概括的和间接的反映,它反映 的是事物的本质和事物间规律性的联系
思维是与时俱进的
人类的思维水平也必然随着认识工具 的进步而逐步地由浅入深、由单纯到 复杂、由片面至全面发展 我们所使用的工具影响着我们的思维 方式和思维习惯,从而也将深刻地影 响着我们的思维能力
程序设计
程序设计(Programming)是给出解决特定问题 程序的过程,是软件构造活动中的重要组成部分。
数值计算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)式可得到()111110110--⨯+≤≤⨯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)式,可令111100.1%2na -⨯≤,即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 AAS 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 计算积分值105nnxdx 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<I n <1,并且I n 单调减.可见,算法1是不稳定的,算法2是稳定的.表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 =13,则只要计算前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 范数11pipn 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 BA B x11max max vvvvvvxx==≤+=+AxBxAB1max vvv==xABABx1max vvvvvv=≤=xABxAB.因此,算子范数满足矩阵范数一般定义中的条件(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 axnnijj pj i nj j aa ξ∞∞∞∞=≤≤===≥==∑∑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===∑x,于是有22211211nnT 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-⎛⎫=⎪-⎝⎭A , 计算A 的各种算子范数.解 {}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 的特征方程()212det 52034λλλλλ--==--=-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 2Tλλρ===⎡⎤⎣⎦AA 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 .当矩阵范数取算子范数时,‖I ‖=1.因此,定理得证.类似于向量范数,矩阵范数也具有下面的等价性. 定理1.8 Rn ×n上的任意两种矩阵范数都是等价的,即对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 *→∞=,i ,j=1,2,…,n,则称序列{A (k)}收敛于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)23x x **,并估计它们的相对误差界.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 )才能避免有效数字的损失?试计算f(30)和f(-30)(开方和对数用6位函数表).1.13 下列公式是否要作变换才能避免有效数字的损失?如何变换?(1) sin x -siny ; (2) arctan x -arctany ;(3)2; (4)212xe-.1.14 已知三角形面积1sin 2s ab C=,其中C 为弧度,0<C<2π,且测量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⎛⎫=⎪⎝⎭A . 计算A 的行范数、列范数、2范数及F 范数.1.18 证明22F≤≤AA,并说明‖A ‖F 与‖x‖2相容.1.19 设P ∈Rn ×n且非奇异,又设‖x‖为R n上的一种向量范数,定义范数‖x‖P =‖P x ‖.证明对应于‖x‖P 的算子范数1p-=APAP.1.20 设A 为非奇异矩阵,求证:11m iny ∞-≠∞∞=A y yA.1.21 设A 为n 阶方阵,U 为n 阶正交矩阵,试证:222==A UU A A , F F F==A UU AA.1.22 对算子范数,设‖B ‖<1,求证:()111-≤±+I B B.数值试验题11.1 设()f x x =,()g x =.用软件工具或自编程序计算x =1,x =105,x =1010时f(x )和g(x )的值,并对计算结果和计算方法进行分析.1.2 有下列两种方式计算e -5的近似值:(1)()9551!nnn en -=≈-∑; (2) 9505!n n en -=⎛⎫≈ ⎪⎝⎭∑.用软件工具或自编程序计算这两个表达式的值,并对计算结果和计算方法进行分析.1.3 序列{3-n }可由下列两种递推公式生成:(1)01x =, 113n n x x -=,n=1,2,…;(2) 01y =, 013y =, 125439n n n y y y --=-,n=2,3,….用软件工具或自编程序递推地计算{n x }和{n y },并对计算结果和计算方法进行分析.1.4 设p(x )=(x -1)(x -2)…(x -20),显然,该多项式的全部根为1,2,…,20共20个.取多个非常小的数ε,用软件工具解方程p(x )+19x ε =0,并对计算结果进行分析.。
《数值计算》课件
CATALOGUE
目录
引言数值计算基础线性方程组求解插值与拟合数值积分与微分优化算法数值计算的实践应用
01
引言
数值计算是计算机科学和数学的一个重要交叉领域,主要研究如何利用数学方法解决各种实际问题,特别是在处理大规模、复杂数据时。
本课程将介绍数值计算的基本原理和方法,包括线性代数、微积分、插值、拟合、数值积分、微分方程等。
多项式拟合是一种通过已知数据点来构造一个多项式,使得该多项式能够尽可能地逼近真实函数的方法。
多项式拟合的原理是利用最小二乘法或其他优化算法来求解多项式的系数,使得多项式与真实函数的误差最小。
多项式拟合的优点是适应性强、应用广泛,但缺点是当数据点较多时,多项式的次数较高,可能导致计算量大、精度降低。
梯形法
辛普森法
复合梯形法和复合辛普森法
ห้องสมุดไป่ตู้
复合差分法
复合差分法是通过将函数定义域分成若干个子区间,并在每个子区间上分别使用差商法或中心差分法进行计算,然后求和得到函数导数的近似值。
数值微分的基本概念
数值微分是一种近似计算函数导数的方法,通过选取适当的离散点,利用差分公式来逼近函数导数的值。
差商法
差商法是一种简单的数值微分方法,通过计算函数在相邻离散点之间的差商来逼近函数导数的值。
数据拟合
THANKS
感谢观看
矩阵分解法是一种将系数矩阵分解为易于处理的形式的方法,常见的有LU分解、QR分解等。
04
插值与拟合
拉格朗日插值的原理是利用已知数据点构造一个插值多项式,然后通过该多项式在未知点的取值来估计该点的数值。
拉格朗日插值法的优点是简单易懂,易于实现,但缺点是当数据点较多时,插值多项式的次数较高,可能导致计算量大、精度降低。
1 计算导论1
肯·汤普森
丹尼斯·里奇
由于在这方面的卓越贡献,汤普森和里奇在1983年获得了有“计 算机界诺贝尔奖”之称的图灵奖。。
高级语言程序设计—计算导论
C语言的诞生
操作:寄存器 BX 的内容送到 AX 中。 机器语言 : 1000100111011000 汇编语言 : MOV AX , BX C语言 :*AX=*BX;
高级语言程序设计—计算导论
编译原理和C编译环境
Microsoft Visual Studio(简称VS)是美 国微软公司的开发工具 包系列产品。VS是一个 基本完完整的开发工具 集,它包括了整个软件 生命周期中所需要的大 部分工具,如项目管理、 代码管控工具、 (IDE)
等等。
高级语言程序设计—计算导论
高级语言程序设计—计算导论
编译原理和C编译环境
调试器(debugger): 可以在被编译的程序中判定 执行是否错误的程序。运行一个带有调试程序的 程序与直接执行是不同的。这是因为,调试程序 保存有着所有或者大多数的源代码信息,它可以 在预先指定的位置(断点,break-point)暂停执 行,并提供有关信息,如函数、变量值等。
操作系统的概念
操作系统的功能:(从资源管理角度) (1)处理器管理:对CPU进行分配和控 制 (2)存储管理:对主存储器进行分配 和回收,如内存、硬盘等。 (3)文件管理:管理磁盘的存储,如 文件共享、存取和保护。 (4)设备管理:对各类输入、输出设 备进行分配回收管理
高级语言程序设计—计算导论
操作系统的概念
高级语言程序设计—计算导论
1
图灵和图灵机
2
计算机体系结构
3
操作系统的概念
4
C语言的诞生
5
数值计算 第一章 绪论
12 ! 2 3! x
4!
) dx
取 0 e
1
x2
dx S4 ,
S4
R4
/* Remainder */
1 1 1 1 由留下部分 称为截断误差 /* Truncation Error */ 4! 9 5! 11 /* included terms */ 1 1 这里 R4 引起.005 0 由截去部分 4! 9 /* excluded terms */ 1 1 1 S4 1 1 0 .333 0 .1 0 .024 0 .743 引起 3 10 42 | 舍入误差 /* Roundoff Error */ | 0.0005 2 0.001
10 ( n 1 ) 差限满足 ε r 2( a1 1)
*
2a1
,则x* 至少具有 n 位有效数字。
有效数字位数越多,相对误差限越小;反之亦然。
18 上一页 下一页 返回
π* 例:为使 的相对误差限小于0.001%,至少应取几位有效数字?
解:假设 * 取到 n 位有效数字,则其相对误差限为
上一页 下一页 返回
例 :近似计算 e
0
1
x2
dx = 0.743… …
解法之一:将 e 作Taylor展开后再积分 大家一起猜? 1 1 x4 x6 x8
x2
0
e x dx
2
0
(1 x 2
1 / e 1 1
3
1 1 e 1dx1 1 1 1 0 2! 5 3! 7 4! 9
1
下一页
返回
Instructor: PENG Yehui & FENG Heying E-mail: pengyehui@ QQ: 44680658
第1章 数值计算
4. = x p z
( p > 1)
dz ∆x = px p−1∆x = px p−1 ∆x dx
⑴绝对误差限:
ea (z) = z − z* = ∆z ≈
= px p−1 ea (x) = px p−1 εa (x)
(1.3-9)
⑵相对误差限:
z − z* ea (z) ∆z px p−1∆x ∆x er (z) = = = = =p = p er (x) ≤ pεr (x) p z z z x x
εr 为x*的相对误差限。
er ≤ εr
⑵有效数字 为了可以从近似数的有限位小数表示本身就能知道 近似数的精度,我们引入了有效数字的概念。大家熟 知,当x有很多位数字时,常按照“四舍五入” 知,当x有很多位数字时,常按照“四舍五入”原则, 取x π = 3.14159265⋯ 的前几位数字作为x的近似值 ⋯ 的前几位数字作为x, 3.1416, x*。例如: 可以表示为: 3.14 的近似值x*。例如: 等,这种表示方法的 特点是,近似数的误差限为其最末一位的半个单位。 若只取到小数后的四位数字,则得 其误差为 0.000007346⋯,误差限为 0.00005 = 1 ×10−4,此 2 时称x*准确到小数后第四位,并称由此位算起的前五 位数字 31416为x*的有效数字。
1 x −1 − x = x −1 + x
(当 x 很大时)
ϕ ϕ
(当 很小时) sin( x +ϕ) − sin x = 2cos(x + )sin 2 2 x1 (当 x2与 x1接近时) ln x1 − ln x2 = ln x2 1 (当 x 充分大时) arctg(x +1) − arctgx = arctg 1+ x(x +1)
第1章 - 数值计算的基本概念
构造性:方法的构造,解的存在唯一性的证明。
递推性:复杂计算过程转化成简单的计算过程的多次
重复(适合计算机计算)。
近似替代:在误差允许的范围内,无限次的计算用有
限次计算替代。
模拟仿真:可通过计算机的仿真实验验证实际的工程
计算。
4
§2 误差与有效数字
误差种类与来源(以计算地球表面积可以用公式 A 4 r 2 为例)
17
二、病态问题与条件数(针对问题本身)
定义:输入数据的微小变动导致输出数据的较大误差, 就被称为病态问题。 衡量是否病态的标准:条件数 不同的问题,条件数具体定义不同。 对于函数值计算问题,条件数定义为:
f ( x ) f ( x* ) Cp f ( x)
xf '( x) x x f ( x)
所以
1 10m n x * x 2 1 * r 10 ( n 1) x* a1 10m 1 2a1
1 10( n1) 2(a1 1)
有效数位越多,相 对误差越小
12
反之,则有: x * x x * r* (a1 1) 10m1
* I 9 0.06484 因此,可得新的递推公式: * 1 * I n 1 (1 I n ) n
16
由上面的递推公式,可得到下面的计算结果: n
0 0.6321
n
5 0.1455
1
2 3 4
对 比 结 论 与 分 析
0.3679
0.2643 0.2073 0.1708
计算an xn 需作n 次乘法,
计算 pn ( x )的值需作乘法次数: n (n 1) 2 1 n(n 1) ; 2 加法次数: n.
数值分析:第一章绪论PPT课件
x
*
是指对每一个 1 i
n
都有lim k
xi( k )
x
* i
可以。理解为 | |
x
(
k
)
x*
||
0
定义1.2.3
若存在常数
C1、C2
>
0
使得,
C1 || x ||B || x ||A C2 || x ||B
则称 || ·||A 和|| ·||B 等价。
可以理解为对任何
向量范数都成立。
数值分析课程中所讲述的各种数值方 法在科学与工程计算、信息科学、管理 科学、生命科学等交叉学科中有着广泛 的应用
第3页/共44页
应用问题举例
第4页/共44页
1、一个两千年前的例子
今有上禾三秉,中禾二秉,下禾一秉, 实三十九斗;
上禾二秉,中禾三秉,下禾一秉, 实三十四斗;
上禾一秉,中禾二秉,下禾三秉, 实二十六斗。 问上、中、下禾实一秉各几何? 答曰:上禾一秉九斗四分斗之一。中禾 一秉四斗四分斗之一。下禾一秉二斗四 分斗之三。-------《九章算术》
定理1.2.1 Rn 上一切范数都等价。
第27页/共44页
二. 矩阵范数
定义1.2.4
Rmn空间的矩阵范数 || ·|| 对任意A, B R满mn足: (1) || A || 0 ; || A || 0 A 0 (正定性)
(2) || A || | | || A || 对任意 C (齐次性) (3) || A B || || A|| || B || (三角不等式)
1 1
(1
I1*
)
0.63
212056
第24页/共44页
我们仅仅是幸运吗?
数值计算导论【精品-doc】
第一章 数值计算导论本章主要介绍《数值计算》这门课程的研究对象、内容、数值计算基本思想及实现方法、误差分析基础和算法的若干重要概念, 引导读者对计算数学及本课程有一个大致的直观认识和了解。
§1 数学问题与数值计算问题运用数学理论和方法解决实际问题的一般过程,包括几个阶段。
第一阶段为建立模型。
这个阶段可分成两步。
先把一个实际问题归纳、抽象、提炼为一个恰当的数学问题,这是极为关键的一步。
同一个实际问题,根据不同的研究角度和要求,可以抽象为不同的数学问题。
第二步是将提出的数学问题用合适的数学模型来描述,数学问题的提法不同,可得出不同类型的模型。
研究者的数学修养和能力在这一步常起到决定性作用。
建立模型之后,便是分析与求解该模型。
分析和求解问题常以对应的数学分支及其数学理论作为支撑,提供求解方法,由此求得的解称为理论解或解析解。
我们以前学的各门数学课程,基本上属于分析和寻求理论解的内容。
不幸的是,许多已有数学理论常常难以为求得解析解提供可接受的途径。
实践表明,求解数学模型,特别是对从实际中提炼出的问题所得到的数学模型,采用数值计算方法是求解的现实之路。
正是这个事实,成为激励和促进计算数学发展的主要动力。
进行科学计算的第一步,需要把一个数学问题转化为一个相应的数值问题(或数值计算问题),数值问题是指输入数据(即问题实例所提供的原始数据)与输出数据(即该问题要求的计算结果)之间函数关系的一个确定而无歧义的描述。
数值方法是相对于数值计算问题而言的。
有些数学问题本身就是一个数值计算问题;很多数学问题不是数值问题,但它往往可用数值问题来逼近。
所以科学计算面对的是数值计算问题。
例 1.1 解常微分方程 5)0(,22=+=y y x dx dy ,是一个数学问题,要求输出的解是连续函数)(x y y =。
许多微分方程难以直接求出函数)(x y y =,如果改为规定输出)(x y 在离散点x = h , 2h , 3h ,…., nh 处的函数近似值, 这就把原问题转化为一个数值问题。
第一章数值计算基本概念
第⼀章数值计算基本概念第1章数值计算基本概念1.1 概述关键词:CFD、微分⽅程→离散⽅程、连续解→离散点上的解1.1.1 CFD数值流体⼒学⼀般称为CFD(Computational Fluid Dynamics), 为流体⼒学的⼀个重要⽀柱。
CFD即利⽤离散⽅法(discretization method), 将微分⽅程简化成代数⽅程式,通过计算机近似求解流体微分⽅程的⽅法。
它的解是⼀些⼩的空间和时间上的区域上的解,称为离散点。
CFD 同理论、实验并列。
被⼈注⽬的理由之⼀是,它为计算机利⽤的⼒学(计算⼒学)的⼀⾯,特别是它为超级计算机的重要利⽤领域之⼀。
此外,利⽤⾼度的图形处理,可将其结果表⽰⾮常美丽的图象,对年轻⼈⾮常有魅⼒。
因此,流体的数值模拟,在许许多多的领域内得到了利⽤。
有许多⼈是在对数值计算⽅法了解的基础上,⾃⼰编程进⾏模拟。
也有相当⼀部分⼈是⽤商⽤程序进⾏模拟。
CFD包括⾯很⼴泛,从采⽤良好的⼯程设计⽅法,到详细求解Navier-Stokes ⽅程;从简单流动到⾮常复杂的流动。
简单的可能在⼏秒时间内就能完成,复杂的需要在最⼤的超级计算机上⽤⼏百个⼩时才能完成。
完美的CFD应满⾜以下条件:适⽤任何问题计算速度快能得到精度⾼且可信度⾼的结果程序简单,谁都能简单使⽤记忆容量少其实不然,以上的要求相互⽭盾,⾄今⽆⼀程序能满⾜。
提醒:连续介质→Navier-Stokes, ⾮连续介质→Boltzman1.1.2 微分⽅程的求解⽅法将连续的数据⽤离散的数据来记录,称为离散化(discretization)。
在离散的点之间⽤光滑曲线通过内插来连接。
这样,即使对于假的离散数据,只要在头脑内想象成连续的函数即可认为在对微分⽅程进⾏求解。
这样,只要已知现在的时间和空间,就可根据这些离散数据对想象进⾏预测。
数值流体⼒学的问题⼀般是要了解每时每刻流场的变化过程。
即对⽀配⽅程式进⾏积分求解。
实际上是求空间离散点(⽹格)上的压⼒、速度等物理量。
数值计算第1章
只要做n次乘法和n次加法即可。
6
数值稳定性问题
对于小型问题,计算的速度和占用计算机内存的多寡似乎意义 不大。 对于复杂的大型问题而言,却是起着决定性作用。算法取得不恰 当,不仅影响到计算的速度和效率,还会由于计算机计算的近似 性和误差的传播、积累直接影响到计算结果的精度甚至直接影响 到计算的成败。 不合适的算法会导致计算误差达到不能容许的地步,而使计算最 终失败,这就是算法的数值稳定性问题。
绝对误差还不能完全评价近似值的精确度。如测量10米 的长度时产生1厘米的误差与测量1米的长度时产生1厘 米的绝对误差相同,但前一种测量比后一种要精确得多。
25
3.2 相对误差和相对误差限
误差衡量还须考虑该量本身的大小,这就需要相对误差 的概念。 定义绝对误差与真值之比,即
2.1 模型误差
在建模(建立数学模型)过程中,欲将复杂的物理现象抽象、 归纳为数学模型,往往只得忽略一些次要因素的影响,而对问题作 某些必要的简化。这样建立起来的数学模型实际上必定只是所研究 的复杂客观现象的一种近似的描述,它与真正客观存在的实际问题 之间有一定的差别,这种误差称为“模型误差”。
15
3 ) Karmarker 方法是求解线性规划的另一个多项式算法,从理论 上说,Karmarker算法的阶比椭球法有所降低,从实际效果来说也好 得多,因而引起了学术界的广泛注意。
14
§2
误差的种类及其来源
数值计算中,除了可以避免的过失误差外,还有不少来源不同 而又无法避免的非过失误差存在于数值计算过程中,主要有如下几 种:
§2 误差的种类及其来源
导数数值计算课件
增加计算步长
在计算过程中,适当减小步长可以提高计算精度 。
3
使用外推法
通过已知的几个点的函数值,利用外推法可以得 到更高精度的结果。
实际应用中注意事项
避免大数吃小数
在进行数值计算时,要注意避免 大数吃小数现象的出现,可以通 过规范化处理等方法来避免。
03 插值多项式法
CHAPTER
拉格朗日插值多项式法
定义
通过构造拉格朗日插值基函数,利用 插值节点上的函数值进行插值的方法 。
优点
缺点
当插值节点增加或减少时,需要重新 计算插值基函数,计算量较大;在节 点附近可能出现Runge现象。
公式简单明了,易于编程实现;插值 多项式唯一。
牛顿插值多项式法
防止溢出
对于可能会产生溢出的计算,可 以采用分段计算或者引入缩放因 子等方法来防止溢出。
06 总结与展望
CHAPTER
本节课重点内容回顾
导数定义与性质
回顾了导数的定义、性 质以及计算方法,加深 对导数概念的理解。
数值计算方法
学习了导数的数值计算 方法,如差分法、插值 法等,掌握了实际计算 中导数的近似求解方法 。
分结果的近似表示。
02
复合辛普森公式
通过将积分区间划分为多个小区间,并在每个小区间上应用辛普森公式
,推导得到复合辛普森公式,进一步提高数值积分的精度。
03
误差分析
分析复合辛普森公式的误差来源,讨论如何通过增加小区间数以及选择
合适的奇数项和偶数项权重来减小误差,并给出误差估计的公式。
高斯求积公式简介
后向差分法原理及实现
原理
后向差分法也是一种通过已知函数值计算导数的数值方法,它采用函数在某一点处的函数值与相邻点处的函数值 之差来近似该点的导数,但是计算方向与前向差分法相反。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5. 1957 年,美国 IBM 公司的 J. Backus 领导开发的 Fortran 最优编译器算法; 6. 1959-1961 年,英国伦敦 Ferranti 公司的 J. Francis 发现的计算矩阵特征值的稳定算法,
纯数学
纯科学
经过发展、融合,形成“数值计算”方向 的过程. 为了突出数值计算在各种科学
应用数学 实验/工程科学
与工程问题中的应用,以及它作为计算机
学科一部分的重要性,近年来也将它称为 科学计算(scientific computing).
计算数学 计算科学与工程
与数值计算联系紧密的一个研究方
向是高性能计算,它的研究对象包括高性 能的计算机硬件体系结构及其应用,包括
2. 1947 年,美国兰德(RAND)公司的 G. Dantzig 创造的解线性规划问题的单纯型算法 (Simplex 算法);
3. 1950 年,美国国家标准局数值分析研究所的 M. Hestenes, E. Stiefel 和 C. Lanczos 开创 的 Krylov(克雷洛夫)子空间迭代法;
名称 CMLIB
FMM
HSL
IMSL
NAG NAPACK
Netlib NR NUMERALGO MATLAB PORT SLATEC SOL
TOMS
表 1-1 重要的数值计算软件、程序包的网络资源
内容说明
商业/免费
网址
美国国家标准技术协会(NIST)的数学与 免费
1.1.2 数值计算的问题与策略
数值计算的问题来自各个科学和工程分支,可归纳为下述三种情况: 1. 没有解析解的数学问题. 一个简单的例子是五次或更高次一元代数方程的求解,如:
������5 + 2������4 − 3������3 + 4������2 + 5������ − 6 = 0 . 根据阿贝尔定理②我们知道,五次以及更高次代数方程没有通用的求根公式. 因此,只能采 用数值算法得到其近似解.
–2–
3. 通过计算机程序或软件实现这个算法; 4. 在计算机上运行软件进行数值模拟; 5. 将计算结果用较直观的方式输出,例如使用计算机可视化技术; 6. 解释并确认计算结果,如果需要,调整参数后重复上面的某些或全部步骤. 上述步骤中的第 2、3 两步是数值计算研究的主要内容,而数值计算的有关知识对设计好其 他各步都有帮助. 应该强调的是,上述各步骤相互间紧密关联,最终计算结果的准确性和效 率受这些步骤整体的影响. 此外,问题的实际背景和要求也左右着各步骤中方法的选择. 数值计算处理的问题还应当是适定的. 如果一个数学问题的解存在、唯一,且连续地依 赖于问题的数据,则称这个问题是适定的(well-posed, well-defined). 这里“连续地依赖于 问题的数据”指,问题数据的微小改变不会造成问题解的剧烈变化. 这个条件对于数值计算 是极其重要的,因为数值计算以有限字长的计算机为工具,计算过程中数据的扰动总不可避 免. 当然,绝大多数科学与工程问题也满足适定条件,只有少数例外情况,比如地震问题的 计算模型. 在各种适定的数值计算问题中,仍有一些问题的解对数据扰动是比较敏感的. 关 于问题敏感性的定义和讨论,将在后面的第 1.2.3 小节详细介绍. 求解数值计算问题的一般策略是将复杂或困难的问题用解相同或相近的简单问题代替, 这种近似过程通常包括下述几种: 用有限维空间代替无限维空间; 用有限的过程代替无限的过程; 用代数方程代替微分方程; 用线性问题代替非线性问题; 用低阶系统代替高阶系统; 用简单函数代替复杂函数; 用简单结构的矩阵代替一般的矩阵; 例如,在函数逼近问题中就是用有限维子空间近似无限维的函数空间;在计算无穷级数 或积分时,就是将无限的过程近似为有限的过程;求解微分方程的基本方法是将其转化为代 数方程;求解非线性方程通常将它转化为一系列线性方程的求解;非线性方程的线性化也可 看成是将高阶系统变为低阶系统;任何复杂函数的计算都需近似为简单函数,因为计算机最 终只能进行加、减、乘、除等基本运算;用简单结构的矩阵代替复杂结构的矩阵往往能以很 小的精度损失换取较大的计算效率提升. 在本书后续章节的内容中,对各种数值方法的介绍 将充分体现这些策略. 实际的求解过程常包括两步:在保证问题的解不变、或变化不大的前提下将给定问题转 化为另一个容易求解的问题,以及对简化后得到的问题进行求解. 因此,好的数值算法应具 备两方面特点:一方面要计算效率高(计算时间短、占用内存少等);另一方面还要尽可能 地准确、可靠,也就是说,在出现各种近似的前提下还能得到尽可能准确的结果.
量. 同时,数值计算涉及的问题很多都是连续数学问题(例如涉及求导数、积分或非线性方
程等等),理论上不可能通过有限步计算出准确的结果,因此求解过程往往需要做近似,并
通过有限的迭代步得到“充分接近准确解”的近似解. 由于计算机不能精确表示所有的实数,
数值计算的每一步几乎都存在近似,因此估计、分析计算结果的准确度非常重要. 可以将数
来在我国高等教育培养体系中受到重视,讲授数值计算有关知识的“数值分析”、“计算方法”
课也逐渐成为各专业的必修课或重要选修课. 近些年来,计算机科学与技术发展迅速,计算
机业已成为日常工作、生活中不可缺少的工具. 在这种情况下,数值计算与计算机的联系变
得更为密切,其应用也日益广泛.
数值计算是横跨计算数学与计算机 学科的交叉学科. 图 1-1 显示了多个学科
① the Institute of Electrical and Electronics Engineers, 电器与电子工程师学会,是世界上最大的专业学术组织.
–1–
1. 1946 年,美国 Los Alamos 国家实验室的 John von Neumann(冯诺伊曼), S. Ulam 和 N. Metropolis 编写的 Metropolis 算法,即蒙特卡洛(Monte Carlo)方法;
2. 有解析解的数学问题,但解析公式的计算很复杂. 容易想到的例子是涉及到������������, sin������ 等函数的计算问题③,因为将这些函数的计算转化为加、减、乘、除运算时涉及到无穷级数, 因此需采用数值计算中的近似、截断等技术加以处理.
3. 在科学与工程研究中模拟难以形成的实验条件. 这是最常见、也是最贴近应用的情况, 被称为数值模拟(simulation)或计算机仿真. 例如在天体物理研究中,有些过程是不能直接 或者通过实验再现的,因此只能用计算机建立有关物理方程的模型,然后通过数值求解这些 方程进行模拟实验. 除了处理这种用其他手段无法解决的问题外,数值计算还被大量用于解 决“常规”实验可以解决的问题,其好处是降低时间和金钱的成本,而且更安全. 例如,用 数值计算模拟汽车碰撞实验、集成电路芯片投产前的性能模拟等等.
通过数值计算解决问题的过程通常包括以下几步: 1. 根据相关学科的背景知识建立数学模型,通常是某种类型的方程; 2. 研究数值求解这个方程的算法;
② 1824 年,Abel(阿贝尔)证明了次数大于四次的多项式并不都有用初等运算及系数表示的求根公式. ③ 在计算机高级编程语言中,已将常用函数的计算编制成库函数提供给用户,因此一般用户往往忽视了其 内部的技术细节.
即 QR 算法; 7. 1962 年,英国伦敦 Elliott Brothers 公司的 T. Hoare 提出快速排序算法,即 Quicksort
算法; 8. 1965 年,美国 IBM 公司 Watson 研究中心的 J. Cooley 和普林斯顿大学及 AT&T 公司
贝尔实验室的 J. Tukey 共同提出的快速傅立叶变换算法,即 FFT 算法; 9. 1977 年,美国 Brigham Young 大学的 H. Ferguson 和 R. Forcade 提出的整数关系检测
值计算的研究目标归纳为:寻找一个能迅速完成的(迭代)算法,同时估计计算结果的准确度.
数值计算研究的核心内容是数值算法的设计与分析. 在计算机界有句名言:“计算机程
序 = 数据结构 + 算法”,从中可见算法的重要性. 算法又可分为“数值算法”和“非数值
算法”,两者有着明显的区别. 数值算法用途广泛,发展迅速,具有跨学科的特点,而“非
数值算法”的研究主要限于计算机科学的范围内. 自从计算机问世以来,算法对科学与工程
发展的推动作用有目共睹. 在二十一世纪即将到来之际,IEEE①主办的“科学与工程中的计算”
杂志(Computing in Science & Engineering)开展了一次评选,选出在二十世纪对科学和工程
的发展与实践影响最大的十个算法,它们按时间顺序依次为:
在介绍一些具体的数值软件之前,先列出高质量数学软件应具有的特点[6]: 可靠:对一般的问题总能正确运行;
–3–
准确:根据问题和输入数据产生精确的结果,并能对达到的准确度进行评估; 高效率:求解问题所用的时间和存储空间尽可能地小; 方便使用:具有方便、友好的用户界面; 可移植:在各种计算机平台下都(或经少量修改后)能使用; 可维护:程序易于理解和修改(开放源代码的软件); 适用面广:可求解的问题广泛; 鲁棒:能解决大部分问题,偶尔失败的情况下能输出提示信息、及时地终止. 事实上,满足所有这些特点的软件几乎是不存在的. 它们只是作为使用者挑选软件考虑 的因素,同时也为数值算法软件开发者提出了努力的目标. 表 1-1 列出了一些重要的数值软件、程序包的来源,其中很多能通过互联网免费获得. 这 些免费程序代码通常由 Fortran 语言编写,也有的使用的是 C 语言、C++语言. CMLIB, Netlib 和 NR 是三个重要资源,它们都汇集了来自不同渠道的各种程序包,这些程序源代码可以被 用户编写的程序调用,或者嵌入到用户自己开发的应用程序中. 另外,CMLIB 还具有方便的 检索、查找功能. 更多的数值软件资源参见[1],或通过互联网进行搜索.