计算⽅法(c语⾔版)靳天飞答案,《数值分析教程》PPT课
件.ppt
《《数值分析教程》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《数值分析教程》PPT课件.ppt(47页珍藏版)》请在装配图⽹上搜索。
c语言大学教程
1、计 算 ⽅ 法,第⼀章 引论,⼀、数值分析的概念、地位和特点,1 数值分析的研究对象(课程简介),3,先看两个例⼦。 例1 求⽅程
x2=2sinx,在区间(1,2)内的根。 理论上可知显然不出根的解析式,即⽆法求出精确解。 例2 ⽤Cramer法则求解n元线性⽅程组。 显然理论上可⾏,且有精确表达式。实际计算时会出现什么问题呢?,若记,则有,n阶线性代数⽅程组:,克莱姆算法,若A是⾮奇异矩阵,则⽅程组有唯⼀解。记D = detA,应⽤Cramer法则可得,即,其中,利⽤Cramer法则求解⽅程组需要进⾏的乘法和除法的次数为:,利⽤计算机⾼速的简单运算(加、减、乘、除)去实现各种复杂的功能。。
2、,数值分析的本质,科学计算 的核⼼内容是以现代化的计算机及数学软件(Matlab, Mathematica, Maple, MathCAD etc. )为⼯具,以数学模型为基础进⾏模拟研究。,现代科学的三个组成部分: 科学理论, 科学实验, 科学计算,2. 数值分析的地位,促使⼀些边缘学科的相继出现:计算数学,计算物理学,计
算⼒学,计算化学,计算⽣物学, 计算地质学,计算经济学,等等,实际问题,在建⽴了数学模型之后,并不能⽴刻⽤计算机直接求解,还必须寻⽤计算机计算这些数学模型的数值⽅法,即将数学模型中的连续变量离散化,转化成⼀系列相应的算法步骤,编制出正确的计算程序,再上机计算得出满意的数。
3、值结果。,总的来看,数值分析这门课具有以下⼏个特点:,(1) 数值分析是⼀门与计算机应⽤密切结合的实⽤性很强的学科;,(2) ⾯向计算机,要根据计算机的特点提供实际可⾏的有效算法;,(3) 有可靠的理论分析,能任意逼近并达到精度要求,对近似算法要保证收敛性和数值稳定性;,3. 数值分析的特点,(4) 要有好的算法复杂性,即时间复杂度和空间复杂度要⼩;,(5) 要有数值试验。,⼆、数值分析的研究内容,理论上课时数:30 上机实验时数:0,参考书: 1. 计算⽅法(c语⾔版)(第1版),靳天飞等,清华⼤学出版社 ,2010.6,教 材: 1. 数值分析(第5版),李庆扬等,清华⼤学出版社,2008。
4、.12,2 数值计算的误差,2.1 误差的来源与分类,⽤计算机解决科学计算问题时,需要经历以下⼏个环节:,数值结果是指在选择某种数值⽅法之后,编制程序正确,输⼊初始数据正确的情形下所获得的结果。,实际问题的精确解与⽤计算机计算出来的数值结果之间就有差异,这种差异在数学上称为误差。,模型误差 /* Modeling Error */ 从实际问题中抽象出数学模型时产⽣的误差,观测误差 /* Measurement Error */通过测量得到模型中参数的值 导致输⼊数据的 误差,⽅法误差 (截断误差 /* Truncation Error */ ) 近似求解时产⽣的误差,舍⼊误差 /* Roun。
5、doff Error */ 由于计算机字长有限⽽在数值运算的每⼀步所产⽣的误差,⼤家⼀起猜?,1,1 / e,解法之⼀:将 作Taylor展开后再积分,|舍⼊误差 /* Roundoff Error */ |,= 0.747 ,由截去部分 /* excluded terms */ 引起,由留下部分 /* included terms */ 引起,设 是某实数的精确值, 是它的⼀个近似值,则称 为近似值 的绝对误差,简称误差.,2.2 误差与有效数字,定义2.1 绝对误差、相对误差,称为 的相对误差,常⽤ 表⽰.,定义2.3 有效数字 /* significant digits */,⽤科学。
6、计数法,记 (其中 ). 若 (即 的截取按四舍五⼊规则),则称 为有n 位有效数字,精确到 。,注:0.2300有4位有效数字,⽽0.0023只有2位有效。12300如果写成0.123105,则表⽰只有3位有效数字. 数字末尾的0不可随意省去!,例: 设 x1=1.73, x2=1.7321,
x3=1.7320是其近似值, 问它们分别有⼏位有效数字?,3位 5位 4位,定理2.1 有效数字与相对误差的关系, 有效数字 相对误差限,已知 x* 有n 位有效数字,则其相对误差限为, 相对误差限 有效数字,解:,例,有效数字,2.3 求函数值和算术运算的误差估计,初始数据 引起计算函数值的误差。
7、,函数值 A*的绝对误差,略去⾼阶项:,基本运算中的误差估计,例 假定某长⽅形运动场的长为x,宽为y,并实地测得其长x*=100.30⽶,宽y*=80.50⽶,若x*和y*的误差限都是0.005⽶,试求其⾯积s的近似值s*的误差限和相对误差限。,由两个数的积的相对误差限估计式得,解,据题意,,由两个数的积的误差限估计式得,例 在计算球的体积时,为了使相对误差限为1%,问测量半径r时允许的
相对误差限为多少?,从⽽有,解,计算球的体积公式为,设体积,的近似值为,,半径,的近似值为,,则,得到相对误差限估计式为,这说明,测量半径r时允许的相对误差限为1/300。,3 病态问题、数值稳定性与避免误差危。
8、害,问题:对于 y = f (x),若⽤ x* 取代 x,将对y 产⽣什么影响?,3.1 病态问题与条件数,条件数很⼤时,初始数据的微⼩误差可能引起结果 A 的很⼤误差.,对数学问题⽽⾔,如果输⼊数据有微⼩扰动,引起输出数据(即数学问题的解)有很⼤扰动,则称数学问题是病态问题,否则称为良态问题。,例:计算, 公式⼀:,注意此公式精确成⽴,?,?,? !,! !,What happened?!,3.2 数值⽅法的稳定性,考察第n步的误差, 公式,注意此公式与公式⼀ 在理论上等价。,⽅法:先估计⼀个IN ,再反推要求的In ( n N )。,可取,取,考察反推⼀步的误差:,以此类推,对 n N 有。
9、:,误差逐步递减, 这样的算法称为稳定的算法 /* stable algorithm */,在我们今后的讨论中,误差将不可回避,算法的 稳定性会是⼀个⾮常重要的话题。,定义:⼀个算法如果输⼊数据有扰动(即有误差),⽽计算过程中舍⼊误差不增长,则称此算法是数值稳定的,否则称此算法为不稳定的。,1. 要避免除数绝对值远远⼩于被除数绝对值的除法;,2。避免两个相近的数相减;,3. 要防⽌⼤数“吃掉”⼩数;,2。应选⽤数值稳定性的计算⽅法;,2。简化计算步骤和公式,设法减少运算次数。,避免误差危害的若⼲原则,3.3 避免误差危害的若⼲原则,避免两个相近的数相减,当遇到两个相近的数相减时,参与运算的数应。
10、当多保留⼏位有效数字或者变换原来公式以避免这种情况的发⽣ 。,由前⾯公式可知,可以看到,如果两个相近的数相减,则,⽽相对误差限就会⽐较⼤,故有效数字位会⼤⼤减少。,较⼩,,例 给定,若使⽤计算机计算有,,应如何变换公式使有效数字位增加?,,若使⽤计算器取四位有效数字计算,解,使⽤计算器计算取四位有效数字得,从⽽得到,但由于,⽽使⽤计算器取四位有效数字得,所以有,这说明变换公式后能使有效数字位由1位增加到3位。, ⼏种经验性避免⽅法:,当 | x | 1 时:,取右端的有限项近似代替左端。,要防⽌⼩数被⼤数“吃掉”⽽使有效数字位损失,例 求⼀元⼆次⽅程,在数值运算中,如果两个参与运算的数相差太⼤。
11、,则⼩数有可能被⼤数“吃掉”⽽使有效数字位损失,从⽽影响计算结果的可靠性。,的根。,远远⼤于,解,求⼀元⼆次⽅程的根可以使⽤公式,有可能,可能损失有效数字位,使计算结果出现错误。,按新的求根公式计算得到⽅程两个准确根为,例如,在只有7位有效数字的计算机系统上使⽤求根公式解⽅程,得到的两个根为,要避免这种错误的发⽣,可以修改求根公式为 ,,要注意减少运算的次数,对于⼀个计算问题,如果能减少运算次数的话,我们不仅能减少计算时间,提⾼运⾏的速度,⽽且还可以减少误差的积累。,如果把原式⼦改写为,解,按公式直接计算每⼀项后,再把每⼀项求和,就要进⾏,则计算n次多项式的算法可以是,按秦九韶算法计算n次多项。
12、式的值,只需要n次乘法和n次加法。,的值。,例 计算n次多项式,次乘法和n次加法。,例 计算 ln2 的近似值,要求误差⼩于10.,解:,计算量太⼤各项的舍⼊误差会损失和的有效数字,(b) ⽤级
数 计算,⽤前 9 项(即取 m = 8)计算就能达到精度要求:,(a) ⽤级数 计算,分母接近零的数会产⽣溢出错误,因⽽产⽣⼤的 误差, 此时可以⽤数学公式化简后再做.,避免做除数绝对值远远⼩于被除数绝对值的除法,利⽤等价变换使下列表达式计算⽐较精确.,例,答案,误差的种类,模型误差:,观测误差,截断误差,舍⼊误差,绝对误差,相对误差,误差的表⽰法,内容回顾,算法设计遵循的条件:,(5)绝对值太⼩的数不宜作为除数 。,(1)应选⽤数值稳定性的计算⽅法 ;,(2)简化计算步骤和公式,设法减少运算次数 ;,(3)合理安排运算顺序,防⽌⼤数淹没⼩数 ;,(4)避免两相近数相减。