1、2022-12-912022-12-92学习和了解科学计算的桥梁学习和了解科学计算的桥梁2022-12-93计算方法计算方法 能够做什么?序言2022-12-94计算机解决实际问题的步骤计算机解决实际问题的步骤建立数学模型建立数学模型选择数值方法选择数值方法编写程序编写程序上机计算上机计算2022-12-95研究例子:求解线性方程组其准确解为x1=x2=x3=1604751413112134131216113121321321321xxxxxxxxx78.020.025.033.01.125.033.050.08.133.050.0321321321xxxxxxxxx如把方程组的系数舍入成两位
2、有效数字它的解为x1=-6.222.x2=38.25 x3=-33.65.2022-12-96研究数值方法的研究数值方法的设计设计、分析分析和和有有关理论关理论基础与基础与软件实现。软件实现。2022-12-97F计算方法它属于数学的范畴,在很多计算方法它属于数学的范畴,在很多大学的数学系有一个计算数学专业(大学的数学系有一个计算数学专业(信息与计算科学),它二年的专业课信息与计算科学),它二年的专业课(数值代数、数值逼近、微分方程的(数值代数、数值逼近、微分方程的数值解)就浓缩为计算方法这门课。数值解)就浓缩为计算方法这门课。F计算方法是一门抽象的理论课,同时计算方法是一门抽象的理论课,同时
3、又是一门实用的技术课,它是数学与又是一门实用的技术课,它是数学与计算机联系起来的桥梁。计算机联系起来的桥梁。2022-12-98F连续系统的离散化连续系统的离散化F 离散性方程的数值求解离散性方程的数值求解2022-12-99F 使学生掌握用计算机解决使学生掌握用计算机解决 数学问题的一般思想方法和数学问题的一般思想方法和技术。技术。计算方法是怎样产生的呢计算方法是怎样产生的呢?我?我们就得从经典数学谈起了。们就得从经典数学谈起了。2022-12-910 经典数学在实际应用中存在着一些经典数学在实际应用中存在着一些难点,下面我们举几个例子。难点,下面我们举几个例子。A.方程求根方程求根 代数方
4、程,超越方程代数方程,超越方程 我们知道代数方程一、二次都很好求我们知道代数方程一、二次都很好求解,但当次数增加时就困难了,实际解,但当次数增加时就困难了,实际上,有人论证过,当上,有人论证过,当n 4时无统一的时无统一的求根方式,这不涉及到求方程的技巧求根方式,这不涉及到求方程的技巧问题。超越方程就更是如此了。问题。超越方程就更是如此了。2022-12-911 B.方程组求解方程组求解(Axb)我们在线性代数中学过比较著名的我们在线性代数中学过比较著名的 Cramer法则,当法则,当det(A)!=0时,时,方程组有且仅有一个解。形式非常方程组有且仅有一个解。形式非常简单,但计算量非常大。这
5、样用计简单,但计算量非常大。这样用计算机去求解时,也将花费成千上万算机去求解时,也将花费成千上万年(几十阶的方程组)更何况上百年(几十阶的方程组)更何况上百阶的方程组在生产应用中也比比皆阶的方程组在生产应用中也比比皆是。是。2022-12-912 用用Laplace展开计算行列式,共需(展开计算行列式,共需(n1)n!=(n+1)!以上的乘法。对于以上的乘法。对于一个一个20阶的方程组,就需要阶的方程组,就需要21!5.1110E19以上的乘法。所以以上的乘法。所以,在每秒作,在每秒作30亿次乘法的计算机上,亿次乘法的计算机上,用用Cramer法则解法则解20阶的方程组,需阶的方程组,需要的时
6、间大约为要的时间大约为540年年。2022-12-913C.求定积分求定积分 难点:难点:1.原函数很难求出原函数很难求出 2.原函数不能用有限的初等函原函数不能用有限的初等函数来表示。数来表示。2022-12-914 这样的话,经典数学直接应用于这样的话,经典数学直接应用于工程上很难办,不能解决实际问题工程上很难办,不能解决实际问题。人们寻找一种更简便、近似的算。人们寻找一种更简便、近似的算法,这样就慢慢发展形成了计算方法,这样就慢慢发展形成了计算方法这门课。其实,从计算机诞生开法这门课。其实,从计算机诞生开始,它与计算机就机密地联系在一始,它与计算机就机密地联系在一起。起。2022-12-
7、915算法算法:从给定的已知量出发,经过有限次四则运算及规定的运算顺序,最后求出未知量的数值解,这样构成的完整计算步骤称为算法。计算量计算量:一个算法所需的乘除运算总次数,单位是flop(Floating Octal Point 浮点八进制).计算量是衡量一个算法好坏的重要标准。2022-12-9161、模型误差2、观测误差3、截断误差截断误差4、舍入误差舍入误差2022-12-917F 十进制规格化浮点数十进制规格化浮点数 x=0.a1 a2.at10J ai0,1,2,9,a10,LJU一般情况:一般情况:x=x=0.a 0.a1 1 a a2 2.a.at tJ J,=2,8,10,16
8、,=2,8,10,16,a ai i 0,1,2,0,1,2,-1,L-1,L J J U UF(F(,t,L,U),t,L,U)表示以上数集全体加数表示以上数集全体加数0 0,它是计算机中使用有限离散集它是计算机中使用有限离散集。阶尾数2022-12-918计算机中数的计算特点计算机中数的计算特点:1.加法先对阶加法先对阶,后运算后运算,再舍入再舍入2.乘法先运算乘法先运算,再舍入再舍入3.不在计算机数系中的数做四舍五入处理不在计算机数系中的数做四舍五入处理例如:在四位浮点十进制数的计算机上计算1+104 解:1+104=0.1000 101+0.1000 105 =0.00001 105+
9、0.1000 105 (对阶计算)=0.10001 105 =0.1000 105=1042022-12-919绝对误差:e*=x*-x,x*是近似数,x是准确数 绝对误差限*:|e*|=|x*-x|*常表示为x=x*或x*-x x*+相对误差:e*r=(x*-x)/x*,x*是近似数,x是准确数相对误差限*r:|e*/x*|=|x*-x|/|x*|*r相对误差比绝对误差更能反映准确数与近似数的差异例:考虑 1.x*=10,x=11 e*=-1 e*r=-0.1 2.x*=1000,x=1001 e*=-1 e*r=-0.001 2022-12-920如果|e*|=|x*-x|0.5 10-k
10、 称近似数x*准确到小数点后第k位,从这小数点后第k位数字直到最左边非零数字之间的所有数字都称为有效数字.用四舍五入得到的数都是有效数字有效数字越多,误差越小,计算结果越精确2022-12-921例如:设x1=1.73,x2=1.7321,x3=1.7320是其近似值,问它们分别有几位有效数字?2211|31.73|0.0020508.0.20508.100.510 xxx故有 三 位 有 效 数 字4333|31.7320|0.0000508.0.508.100.510 xxx故有四位有效数字4422|31.7321|0.0000491.0.491.100.510 xxx故有 五 位 有 效
11、 数 字3x 2022-12-922四则运算的误差绝对误差:e=x*-x=xdx 相对误差:er=(x*-x)/x*dx/x*=dlnx利用这个关系可以讨论四则运算的误差和函数的误差例如下列式子说明什么误差结果?d(x+y)=dx+dy dln(xy)=dlnx+dlny dln(xn)=ndlnx2022-12-923数值计算中值得注意的问题数值计算中值得注意的问题一、防止相近的两数相减(会耗失许多有效数字,可以用数学公式化简后再做).例1:各有五位有效数字的23.034与22.993相减.23.034-22.993=0.041 0.041只有两位有效数字,有效数字的耗失,说明准确度减小,因
12、此,在计算时需要加工计算公式,以免这种情况发生.例2:当x较大时,计算xx 1xxxx111 化成2022-12-924二、防止大数吃小数.当两个绝对值相差很大的数进行加法或减法运算时,绝对值小的数有可能被绝对值大的数吃掉从而引起计算结果很不可靠.例:求一元二次方程x2-(109+1)x+109=0 的实数根.采用因式分解法,很容易得到两个根为x1=109,x2=1.如采用字长为8位的单精度计算机来计算,求得根为x1109 ,x20.(怎样计算可得较好的结果?)两者结果不同,因为计算机计算时做加减法要“对阶”,“对阶”的结果使大数吃掉了小数.产生了误差.为了避免由于上述原因引起的计算结果严重失
13、真,可以根据一些具体情况,存在需要把某些算式改写成另一种等价的形式.三、防止接近零的数做除数分母接近零的数会产生溢出错误,因而产生大的误差,此时可以用数学公式化简后再做.2022-12-925四、注意计算步骤的简化四、注意计算步骤的简化,减小运算次数减小运算次数.简化计算步骤是提高程序执行速度的关键,它不仅可以节省时间,还能减少舍入误差。例1:计算9255的值,若逐个相乘要用254次乘法,但若写成 9255=9 92 94 98 916 932 964 9128只需做14次乘法运算即可。例2:设A、B、C、D分别是1020、2050、501、1100的矩阵,试按不同的算法求矩阵乘积E=ABCD
14、.解:由矩阵乘法的结合律,可有如下算法1.E=(AB)C)D.计算量N=11500flop2.E=A(B(CD).计算量N=125000flop3.E=(A(BC)D.计算量N=2200flop2022-12-926矩阵乘积矩阵乘积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 s2022-12-927学习方法学习方法1.注意掌握各种方法的基本原理注意掌握各种方法的基本原理2.注意各种方法的构造手法注意各种方法的构造手法3.重视各种方法的误差分析重视各种方法的误差分析4.做一定量的习题做一定量的习题5.注意与实际问题相联系注意与实际问题相联系2022-12-928参考书1.计算方法引论,徐萃薇等编,高教出版社,2007.42.计算方法与算法语言上册,张德荣等编,高教出版 社3.计算方法典型题分析解集封建湖等编,西北工业大学出版社2022-12-929考试方法考试方法1.开卷考试占开卷考试占60%2.平时作业及课堂回答问题占平时作业及课堂回答问题占30%3.试验占试验占10%
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。