《计算方法电子教案第一章序言误差.ppt》由会员分享,可在线阅读,更多相关《计算方法电子教案第一章序言误差.ppt(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、10/28/2022110/28/20222学习和了解科学计算的桥梁学习和了解科学计算的桥梁10/28/20223计算方法计算方法 能够做什么?序言序言10/28/20224计算机解决实际问题的步骤计算机解决实际问题的步骤建立数学模型建立数学模型选择数值方法选择数值方法编写程序编写程序上机计算上机计算10/28/202255在计算机上是否根据数学公式编在计算机上是否根据数学公式编程就能得到正确结果程就能得到正确结果?研究例子:求解线性方程组其准确解为x1=x2=x3=1如把方程组的系数舍入成两位有效数字它的解为x1=-6.222.x2=38.25 x3.10/28/20226计算方法(数值分析
2、)研究的对象计算方法(数值分析)研究的对象研究数值方法的研究数值方法的设计设计、分析分析和和有有关理论关理论基础与基础与软件实现。软件实现。计算方法又称:计算数学、数值方法、数值计算方法又称:计算数学、数值方法、数值计算方法又称:计算数学、数值方法、数值计算方法又称:计算数学、数值方法、数值分析等。分析等。分析等。分析等。计算方法的分枝有最优化方法、计算几何、计算方法的分枝有最优化方法、计算几何、计算方法的分枝有最优化方法、计算几何、计算方法的分枝有最优化方法、计算几何、计算概率统计等计算概率统计等计算概率统计等计算概率统计等10/28/20227课程性质课程性质F计算方法它属于数学的范畴,在
3、很多计算方法它属于数学的范畴,在很多大学的数学系有一个计算数学专业大学的数学系有一个计算数学专业(信息与计算科学),它二年的专业(信息与计算科学),它二年的专业课(数值代数、数值逼近、微分方程课(数值代数、数值逼近、微分方程的数值解)就浓缩为计算方法这门课。的数值解)就浓缩为计算方法这门课。F计算方法是一门抽象的理论课,同时计算方法是一门抽象的理论课,同时又是一门实用的技术课,它是数学与又是一门实用的技术课,它是数学与计算机联系起来的桥梁。计算机联系起来的桥梁。10/28/20228课程内容课程内容F连续系统的离散化连续系统的离散化F 离散性方程的数值求解离散性方程的数值求解10/28/202
4、29授课目的授课目的F 使学生掌握用计算机解决使学生掌握用计算机解决 数学问题的一般思想方法和技数学问题的一般思想方法和技术。术。计算方法是怎样产生的呢计算方法是怎样产生的呢?我?我们就得从经典数学谈起了。们就得从经典数学谈起了。10/28/202210经典数学经典数学 经典数学在实际应用中存在着一些经典数学在实际应用中存在着一些难点,下面我们举几个例子。难点,下面我们举几个例子。A.方程求根方程求根 代数方程,超越方程代数方程,超越方程 我们知道代数方程一、二次都很好求我们知道代数方程一、二次都很好求解,但当次数增加时就困难了,实际解,但当次数增加时就困难了,实际上,有人论证过,当上,有人论
5、证过,当n 4时无统一的时无统一的求根方式,这不涉及到求方程的技巧求根方式,这不涉及到求方程的技巧问题。超越方程就更是如此了。问题。超越方程就更是如此了。10/28/202211经典数学经典数学 B.方程组求解方程组求解(Axb)我们在线性代数中学过比较著名的我们在线性代数中学过比较著名的 Cramer法则,当法则,当det(A)!=0时,时,方程组有且仅有一个解。形式非常方程组有且仅有一个解。形式非常简单,但计算量非常大。这样用计简单,但计算量非常大。这样用计算机去求解时,也将花费成千上万算机去求解时,也将花费成千上万年(几十阶的方程组)更何况上百年(几十阶的方程组)更何况上百阶的方程组在生
6、产应用中也比比皆阶的方程组在生产应用中也比比皆是。是。10/28/202212经典数学经典数学 用用Laplace展开计算行列式,共需(展开计算行列式,共需(n1)n!=(n+1)!以上的乘法。对于一以上的乘法。对于一个个20阶的方程组,就需要阶的方程组,就需要21!5.1110E19以上的乘法。所以,以上的乘法。所以,在每秒作在每秒作30亿次乘法的计算机上,用亿次乘法的计算机上,用Cramer法则解法则解20阶的方程组,需要阶的方程组,需要的时间大约为的时间大约为540年年。10/28/202213经典数学经典数学C.求定积分求定积分 难点:难点:1.原函数很难求出原函数很难求出 2.原函数
7、不能用有限的初等函原函数不能用有限的初等函数来表示。数来表示。10/28/202214经典数学经典数学 这样的话,经典数学直接应用于这样的话,经典数学直接应用于工程上很难办,不能解决实际问题。工程上很难办,不能解决实际问题。人们寻找一种更简便、近似的算法,人们寻找一种更简便、近似的算法,这样就慢慢发展形成了计算方法这这样就慢慢发展形成了计算方法这门课。其实,从计算机诞生开始,门课。其实,从计算机诞生开始,它与计算机就机密地联系在一起。它与计算机就机密地联系在一起。10/28/202215什么是算法和计算量什么是算法和计算量?算法算法:从给定的已知量出发,经过有限次四则运算及规定的运算顺序,最后
8、求出未知量的数值解,这样构成的完整计算步骤称为算法。计算量计算量:一个算法所需的乘除运算总次数,单位是flop(Floating Octal Point 浮点八进制).计算量是衡量一个算法好坏的重要标准。10/28/2022161、模型误差2、观测误差3、截断误差截断误差4、舍入误差舍入误差第一章 误 差1.1 误差的来源误差的来源10/28/202217F 十进制规格化浮点数十进制规格化浮点数 x=1 a2.at10J ai0,1,2,9,a10,LJU一般情况:一般情况:x=x=1 1 a a2 2.a at tJ J ,=2,8,10,16,=2,8,10,16,a ai i 0,1,2
9、,0,1,2,-1,L-1,L J J U UF(F(,t,L,U,t,L,U)表示以上数集全体加数表示以上数集全体加数0 0,它是计算机中使用有限离散集它是计算机中使用有限离散集。5计算机中的数系计算机中的数系阶尾数10/28/202218计算机中数的计算特点计算机中数的计算特点:1.加法先对阶加法先对阶,后运算后运算,再舍入再舍入2.乘法先运算乘法先运算,再舍入再舍入3.不在计算机数系中的数做四舍五入处理不在计算机数系中的数做四舍五入处理例如:在四位浮点十进制数的计算机上计算1+104 解:1+104=0.1000 101+0.1000 105 =0.00001 105+0.1000 10
10、5 (对阶计算)=0.10001 105 =0.1000 105=10410/28/202219如果|e*|=|x*-x|0.5 10-k 称近似数x*准确到小数点后第k位,从这小数点后第k位数字直到最左边非零数字之间的所有数字都称为有效数字.有效数字有效数字 用四舍五入得到的数都是有效数字有效数字越多,误差越小,计算结果越精确10/28/202221例如:设x1=1.73,x2=1.7321,x3是其近似值,问它们分别有几位有效数字?10/28/202222四则运算的误差绝对误差:e=x*-x=xdx 相对误差:er=(x*-x)/x*dx/x*=dlnx利用这个关系可以讨论四则运算的误差和
11、函数的误差例如下列式子说明什么误差结果?d(x+y)=dx+dy dln(xy)=dlnx+dlny dln(xn)=ndlnx10/28/202223数值计算中值得注意的问题数值计算中值得注意的问题 一、防止相近的两数相减(会耗失许多有效数字,可以用数学公式化简后再做).例1:各有五位有效数字的与相减.23.034-22.993=0.041 只有两位有效数字,有效数字的耗失,说明准确度减小,因此,在计算时需要加工计算公式,以免这种情况发生.例2:当x较大时,计算10/28/202224二、防止大数吃小数.当两个绝对值相差很大的数进行加法或减法运算时,绝对值小的数有可能被绝对值大的数吃掉从而引
12、起计算结果很不可靠.例:求一元二次方程x2-(109+1)x+109=0 的实数根.采用因式分解法,很容易得到两个根为x1=109,x2=1.如采用字长为8位的单精度计算机来计算,求得根为x1109 ,x20.(怎样计算可得较好的结果?)两者结果不同,因为计算机计算时做加减法要“对阶”,“对阶”的结果使大数吃掉了小数.产生了误差.为了避免由于上述原因引起的计算结果严重失真,可以根据一些具体情况,存在需要把某些算式改写成另一种等价的形式.三、防止接近零的数做除数分母接近零的数会产生溢出错误,因而产生大的误差,此时可以用数学公式化简后再做.10/28/202225四、注意计算步骤的简化四、注意计算
13、步骤的简化,减小运算次数减小运算次数.简化计算步骤是提高程序执行速度的关键,它不仅可以节省时间,还能减少舍入误差。例1:计算9255的值,若逐个相乘要用254次乘法,但若写成 9255=9 92 94 98 916 932 964 9128只需做14次乘法运算即可。例2:设A、B、C、D分别是1020、2050、501、1100的矩阵,试按不同的算法求矩阵乘积E=ABCD.解:由矩阵乘法的结合律,可有如下算法1.E=(AB)C)D.计算量N=11500flop2.E=A(B(CD).计算量N=125000flop3.E=(A(BC)D.计算量N=2200flop10/28/202226矩阵乘积
14、矩阵乘积AB的计算量分析的计算量分析a11 a12 a13 a1na21 a22 a23 a2n.am1 am2 amm-1 amnb11 b12 b13 b1sb21 b22 b23 b2s.bn1 bn2 bnn-1 bns=cijms因为 cij=aik bkj 计算量为n所以上面A mn B ns的计算量为N=m n s10/28/202227学习方法学习方法1.注意掌握各种方法的基本原理注意掌握各种方法的基本原理2.注意各种方法的构造手法注意各种方法的构造手法3.重视各种方法的误差分析重视各种方法的误差分析4.做一定量的习题做一定量的习题5.注意与实际问题相联系注意与实际问题相联系10/28/202228参考书1.计算方法引论,徐萃薇等编,高教出版社2.计算方法与算法语言上册,张德荣等编,高教出版 社3.计算方法典型题分析解集封建湖等编,西北工业大学出版社10/28/202229考试方法考试方法1.开卷考试占开卷考试占60%2.平时作业及课堂回答问题占平时作业及课堂回答问题占30%3.试验占试验占10%10/28/202230