计算方法 第一章 数值计算方法.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《计算方法 第一章 数值计算方法.ppt》由会员分享,可在线阅读,更多相关《计算方法 第一章 数值计算方法.ppt(100页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数值计算方法数值计算方法数学是研究数与形的科学。其中研究怎样利用手指、数学是研究数与形的科学。其中研究怎样利用手指、算盘、算尺、计算器、计算机等工具,来求出数学算盘、算尺、计算器、计算机等工具,来求出数学问题数值解答的学问,就是计算方法,或称计算数问题数值解答的学问,就是计算方法,或称计算数学。它是数学中最古老的部分,但只是在电子计算学。它是数学中最古老的部分,但只是在电子计算机出现以后,人们获得了高速度、自动化的计算工机出现以后,人们获得了高速度、自动化的计算工具,才为众多浩繁的数值问题的解决展现了光明的具,才为众多浩繁的数值问题的解决展现了光明的前景。从此,科学研究与工程设计的手段,发生了
2、前景。从此,科学研究与工程设计的手段,发生了由模型试验向数值计算的巨大转变。由模型试验向数值计算的巨大转变。1 1 数值计算方法的意义、内容与方法数值计算方法的意义、内容与方法软件的核心就是算法。软件的核心就是算法。软件的核心就是算法。软件的核心就是算法。20 20 世纪最伟大的科学技术发明世纪最伟大的科学技术发明世纪最伟大的科学技术发明世纪最伟大的科学技术发明-计算机计算机计算机计算机 计算机是对人脑的模拟,它强化了人的思维智能;计算机是对人脑的模拟,它强化了人的思维智能;计算机是对人脑的模拟,它强化了人的思维智能;计算机是对人脑的模拟,它强化了人的思维智能;计算机的发展和应用,已不仅仅是一
3、种科学技术计算机的发展和应用,已不仅仅是一种科学技术计算机的发展和应用,已不仅仅是一种科学技术计算机的发展和应用,已不仅仅是一种科学技术现象,而且成了一种政治、军事、经济和社会现象;现象,而且成了一种政治、军事、经济和社会现象;现象,而且成了一种政治、军事、经济和社会现象;现象,而且成了一种政治、军事、经济和社会现象;没有软件的支持,超级计算机只是一堆废铁而已;没有软件的支持,超级计算机只是一堆废铁而已;没有软件的支持,超级计算机只是一堆废铁而已;没有软件的支持,超级计算机只是一堆废铁而已;算法犹如乐谱,算法犹如乐谱,算法犹如乐谱,算法犹如乐谱,软件犹如软件犹如软件犹如软件犹如CDCD盘片,盘
4、片,盘片,盘片,而硬件如同而硬件如同而硬件如同而硬件如同CDCD唱机。唱机。唱机。唱机。算法的研究和应用正是本课程的主题算法的研究和应用正是本课程的主题算法的研究和应用正是本课程的主题算法的研究和应用正是本课程的主题 !现代科学研究的三大支柱理论研究科学实验科学计算21212121世纪信息社会的两个主要特征:世纪信息社会的两个主要特征:世纪信息社会的两个主要特征:世纪信息社会的两个主要特征:“计算机无处不在计算机无处不在计算机无处不在计算机无处不在”“数学无处不在数学无处不在数学无处不在数学无处不在”21212121世纪信息社会对科技人才的要求:世纪信息社会对科技人才的要求:世纪信息社会对科技
5、人才的要求:世纪信息社会对科技人才的要求:-会会会会“用数学用数学用数学用数学”解决实际问题解决实际问题解决实际问题解决实际问题-会用计算机进行科学计算会用计算机进行科学计算会用计算机进行科学计算会用计算机进行科学计算一、一、计算数学的产生和早期发展计算数学的产生和早期发展计算数学是数学的一个古老的分支,虽然数学不仅仅计算数学是数学的一个古老的分支,虽然数学不仅仅是计算,但推动数学产生和发展的最直接原因还是是计算,但推动数学产生和发展的最直接原因还是计算问题计算问题计算问题计算问题。二、二十世纪计算数学的发展二十世纪计算数学的发展数值代数数值代数 最优化计算最优化计算 数值逼近数值逼近 计算几
6、何计算几何 概率统计计算概率统计计算 蒙特卡罗方法蒙特卡罗方法(统计模拟方法统计模拟方法)微分方程的数值解法微分方程的数值解法 微分方程的反演问题微分方程的反演问题 p数值分析讲述的基本内容数值分析讲述的基本内容n如何把数学模型归结为数值问题如何把数学模型归结为数值问题n如何制定快速的算法如何制定快速的算法n如何估计一个给定算法的精度如何估计一个给定算法的精度n分析误差在计算过程中的积累和传播分析误差在计算过程中的积累和传播n如何构造精度更高的算法如何构造精度更高的算法n如何使算法较少的占用存储量如何使算法较少的占用存储量n如何分析算法的优缺点如何分析算法的优缺点p本课程的基本要求本课程的基本
7、要求n掌握数值方法的基本原理掌握数值方法的基本原理n掌握常用的科学与工程计算的基本方法掌握常用的科学与工程计算的基本方法n能用所学方法在计算机上算出正确结果能用所学方法在计算机上算出正确结果数学问题的数值解法例示解 n例 试求函数方程x=cosx在区间(0,PI/2)内的一个根。数学问题的数值解法例示 现取h=0.05,其结果见下表:xnynyxnyny01.00000 1.00000 1.21.84931 1.849310.21.18322 1.18322 1.41.94396 1.943960.41.34164 1.34164 1.62.04939 2.049390.61.48324 1.
8、48324 1.82.14476 2.144760.81.61245 1.61245 2.02.23607 2.236071.01.73205 1.73205 本章内容本章内容1 引言引言2 误差的来源及分类误差的来源及分类 3 误差的度量误差的度量 4 误差的传播误差的传播 5 减少运算误差的原则减少运算误差的原则 第一章计算方法与误差第一章计算方法与误差小结小结 要求掌握的内容要求掌握的内容第一章计算方法与误差第一章计算方法与误差p概念概念 包括有效数字、绝对误差包括有效数字、绝对误差、绝对误差绝对误差限限、相对误差、相对误差相对误差、相对误差限等限等p误差误差截断误差、舍入误差的详细内容
9、,误差种截断误差、舍入误差的详细内容,误差种类等类等p分析运算误差的方法和减少运算误差的若分析运算误差的方法和减少运算误差的若干原则干原则1.1 引言引言 数值分析又称计算方法数值分析又称计算方法,它是研究各种数它是研究各种数学问题的数值解法及其理论的一门学科。学问题的数值解法及其理论的一门学科。p数值分析的任务数值分析的任务实际问题数学模型数值计算方法程序设计上机计算数值结果 根据数学模型提出求解的数值计算方法根据数学模型提出求解的数值计算方法直到编出程序上机算出结果,这一过程便是直到编出程序上机算出结果,这一过程便是数值分析研究的对象数值分析研究的对象1.对于要解决的问题建立数学模型对于要
10、解决的问题建立数学模型2.研究用于求解该数学问题近似解的算法研究用于求解该数学问题近似解的算法和过程和过程3.按照按照2进行计算,得到计算结果进行计算,得到计算结果建立数建立数学模型学模型转化为转化为数值公式数值公式进行计算进行计算数值方法解题的一般过程数值方法解题的一般过程 数值计算以及计算机模拟(包括当前流数值计算以及计算机模拟(包括当前流行的虚拟现实的方法),已经是在工程技术行的虚拟现实的方法),已经是在工程技术研究和经济、社会科学中广泛应用的方法,研究和经济、社会科学中广泛应用的方法,带来巨大的经济效益带来巨大的经济效益天气预报与亿次计算机天气预报与亿次计算机波音波音777的无纸设计与
11、有限元的无纸设计与有限元CT、核磁共振核磁共振计算流体力学与爆炸工程计算流体力学与爆炸工程能源问题与大型计算能源问题与大型计算第一章计算方法与误差第一章计算方法与误差计算作为计算作为工程技术工程技术研究方法研究方法p计算方法课程主要讨论如何构造求数学模计算方法课程主要讨论如何构造求数学模型近似解的算法,讨论算法的数学原理、型近似解的算法,讨论算法的数学原理、误差和复杂性,配合程序设计进行计算试误差和复杂性,配合程序设计进行计算试验并分析试验结果。验并分析试验结果。p与纯数学的理论方法不同,用数值计算方与纯数学的理论方法不同,用数值计算方法所求出的结果一般不是解的精确值或者法所求出的结果一般不是
12、解的精确值或者准确的解析表达式,而是所求真解的某些准确的解析表达式,而是所求真解的某些近似值或近似曲线。近似值或近似曲线。第一章计算方法与误差第一章计算方法与误差计算机实质上只会做加减乘除等基本运算。研究怎样通过计算机所执行的基本运算,求得各类问题的数值解或近似数值解,就是计算数学的根本课题求解一个问题,不同有人常常编写出不同,然而都是正确的程序。这是为什么呢?实质上,这与计算方法的算法问题和程序设计的技术问题有关。不同的求解方法将产生出不同的算法,不同的算法将使我们设计出不同的程序,而决定这个程序功能的本质是算法。因此算法被认为是计算科学的核心问题之一。何为算法?一、算法的概念一、算法的概念
13、 描述算法可以有不同的方式。例如,可以用日常语言描述算法可以有不同的方式。例如,可以用日常语言和数学语言加以叙述,也可以借助形式语言(算法语言)和数学语言加以叙述,也可以借助形式语言(算法语言)给出精确的说明,也可以用框图直观地显示算法的全貌。给出精确的说明,也可以用框图直观地显示算法的全貌。定义:由基本运算及运算顺序的规定所构成的完整的定义:由基本运算及运算顺序的规定所构成的完整的 解题步骤,称为解题步骤,称为算法算法算法算法。计算机上的算法,按面向求解问题的不同,计算机上的算法,按面向求解问题的不同,分为数值算法和非数值算法。分为数值算法和非数值算法。数值运算算法的目的是求数值解,如求方程
14、的近似根、求函数的定积分的近似值。非数值运算算法包括的领域十分广泛,最常见的是用于事物管理方面。本书集中介绍科学计算中最基本的数值运算算法最基本的数值运算算法。例例1:一群小兔一群鸡,两群合到一群里,要数腿共:一群小兔一群鸡,两群合到一群里,要数腿共48,要数脑袋整要数脑袋整17,多少小兔多少鸡?,多少小兔多少鸡?算术方法算术方法:若若没有小兔,则鸡应是没有小兔,则鸡应是17只只总总腿数腿数:21734一只小兔增加一只小兔增加 2条腿,条腿,应该有应该有只只小兔小兔1010只小鸡只小鸡代数方法代数方法:设有设有x只小鸡,只小鸡,y只小兔只小兔,(-2)*(i)+(ii),得得只只小兔小兔高斯消
15、高斯消去法去法例:求解二元一次联立方程组例:求解二元一次联立方程组用行列式解法:首先判别用行列式解法:首先判别 (1)如果如果 ,则令计算机计算,则令计算机计算 输出计算的结果输出计算的结果x1,x2。(2)如果如果D D=0 0,则或是无解,或有无穷多组解。则或是无解,或有无穷多组解。是否为零,存在两种可能:是否为零,存在两种可能:令令通过求解过程,可以总结出算法步骤如下:通过求解过程,可以总结出算法步骤如下:S2 计算计算S3 如果如果则输出原方程无解或有无穷多组解的信息则输出原方程无解或有无穷多组解的信息;否则否则S1 输入输入S4 输出计算的结果输出计算的结果输入输入 D=a11a22
16、-a12a21D=0开始开始输出输出 x1,x2 结结 束束 No输出无解信息输出无解信息Yes算法的复杂性(算法的复杂性(ComplexityComplexity):):使用计算机计算各种问题,需要一定的存储空间存放程序和数据,也必须付出为等待计算机完成计算任务所需的时间。依据不同的算法编写的程序计算所需的时间和空间是不同的。所谓算法的复杂性算法的复杂性:就是对算法所需时间和空间的一种度量。但由于计算机千差万别,运算速度可能相差很大,因此不可能用算法在某一台计算机上计算所需要的实际时间和存储单元去衡量这个算法的复杂性。常用的两种复杂性有:计算时间复杂性计算时间复杂性和空间复杂性空间复杂性。二
17、、算法的优劣二、算法的优劣 计算量小计算量小例:用行列式解法求解线性方程组例:用行列式解法求解线性方程组:n阶方程组,要计算阶方程组,要计算n+1个个n n阶行列式的值,阶行列式的值,总共需要做总共需要做n!(n-1)(n+1)次乘法运算。次乘法运算。n=20 需要运需要运算多少次?算多少次?n=100?计算量大小是衡量算法优劣的一项重要标准。在估计计算量时,我们将区分主次抓住计算过程中费时较多的环节。比如,由于加减操作的机器时间比乘除少得多,对和式可以忽略加法而只统计乘法的次数。又如 算式中需要多次计算函数值,每求一次 时,通常需要进行多次加减乘除运算,因此对算式只要统计调用f 的次数就可以
18、了。存贮量少存贮量少 逻辑结构简单逻辑结构简单计算程序所占用的工作单元的数量称为算法的内存量。尽管计算机能贮存大量信息,但计算大型算题时有些微机仍不能使用。因此,尽量节约存贮量有经济价值,是衡量算法质量的又一标准。设计算法时应考虑的另一个因素是逻辑结构问题。虽然计算机能够执行极其复杂的计算方案,但是计算方案的每个细节都需要编程人员制定。因此算法的逻辑结构应尽量简单,才能使编制程度、维修程序和使用程序比较方便。例如方程例如方程 x2=2sinx,在区间在区间(1,2)内有唯一根内有唯一根,但找不出求根的解析式但找不出求根的解析式,只能用数值计算方法求其近只能用数值计算方法求其近似解。有些数学问题
19、虽有理论上的准确的公式解似解。有些数学问题虽有理论上的准确的公式解,但但不一定实用不一定实用,例如例如行列式解法的行列式解法的Cramer法则原则上法则原则上可用来求解线性方程组可用来求解线性方程组,用这种方法解一个用这种方法解一个n元方程元方程组组,要算要算n+1+1个阶行列式的值个阶行列式的值,总共需要总共需要n!(n-1)(n+1)n!(n-1)(n+1)次乘法次乘法,当当n=20n=20时时,其乘除法运算次数约需其乘除法运算次数约需10102121次方次方,即使用每秒千亿次的计算机也得需要上百年即使用每秒千亿次的计算机也得需要上百年,而用高而用高斯(斯(Guass)消去法约需消去法约需
20、26602660次乘除法运算次乘除法运算,并且愈并且愈大大,相差就愈大。可见研究和选择好的算法是非常重相差就愈大。可见研究和选择好的算法是非常重要的。要的。p数值算法的特点数值算法的特点 目的性,条件和结论、输入和输出数据均要有明目的性,条件和结论、输入和输出数据均要有明 确的规定与要求。确的规定与要求。确定性,精确地给出每一步的操作确定性,精确地给出每一步的操作(不一定都是不一定都是运运 算算)定义定义,不容许有歧义。不容许有歧义。可执行性,算法中的每个操作都是可执行的可执行性,算法中的每个操作都是可执行的 有穷性,在有限步内能够结束解题过程有穷性,在有限步内能够结束解题过程第一章计算方法与
21、误差第一章计算方法与误差1.2 误差的来源及分类误差的来源及分类 早在中学我们就接触过误差的早在中学我们就接触过误差的概念,如在做热力学实验中,从温概念,如在做热力学实验中,从温度计上读出的温度是度计上读出的温度是23.4度,就不度,就不是一个精确的值,而是含有误差的是一个精确的值,而是含有误差的近似值。事实上,误差在我们的日近似值。事实上,误差在我们的日常生活中无处不在,无处不有。如常生活中无处不在,无处不有。如量体裁衣,量与裁的结果都不是精量体裁衣,量与裁的结果都不是精确无误的,都含有误差。确无误的,都含有误差。n在任何科学计算中其解的精确性总是相对的,而误差则是绝对的.我们从下面这个例子
22、就可以了解误差产生的原因.试求摆长为L的单摆运动周期.p在用数值方法解题过程中可能产生的误差归在用数值方法解题过程中可能产生的误差归纳起来有如下几类:纳起来有如下几类:n1.模型误差模型误差n2.观测误差观测误差n3.截断误差截断误差n4.舍入误差舍入误差第一章计算方法与误差第一章计算方法与误差p用数学方法解决一个具体的实际问题,首先要建立用数学方法解决一个具体的实际问题,首先要建立数学模型,这就要对实际问题进行抽象、简化,数学模型,这就要对实际问题进行抽象、简化,因而数学模型本身总含有误差,这种误差叫做模因而数学模型本身总含有误差,这种误差叫做模型误差型误差p数学模型是指那些利用数学语言模拟
23、现实而建立起数学模型是指那些利用数学语言模拟现实而建立起来的有关量的描述来的有关量的描述p数学模型的准确解与实际问题的真解不同数学模型的准确解与实际问题的真解不同实际问题的实际问题的真解真解数学模型的数学模型的真解真解为减化模型忽略次要为减化模型忽略次要因素因素定理在特定条件下建立与实定理在特定条件下建立与实际条件有别际条件有别1.模型误差模型误差p在数学模型中通常包含各种各样的参变量,如温度、在数学模型中通常包含各种各样的参变量,如温度、长度、电压等,这些参数往往是通过观测得到的,长度、电压等,这些参数往往是通过观测得到的,因此也带来了误差,这种误差叫观测误差因此也带来了误差,这种误差叫观测
24、误差p数学模型中的参数和原始数据,是由观测和试验得数学模型中的参数和原始数据,是由观测和试验得到的到的p由于测量工具的精度、观测方法或客观条件的限制由于测量工具的精度、观测方法或客观条件的限制,使数据含有测量误差使数据含有测量误差,这类误差叫做这类误差叫做观测误差或数观测误差或数据误差据误差p根据实际情况可以得到误差上下界根据实际情况可以得到误差上下界p数值方法中需要了解观测误差数值方法中需要了解观测误差,以便选择合理的数以便选择合理的数值方法与之适应值方法与之适应2.观测误差观测误差p精确公式用近似公式代替时精确公式用近似公式代替时,所产生的误差叫所产生的误差叫截断截断误差误差 例如例如,函
25、数函数f(x)用泰勒用泰勒(Taylor)多项式多项式 3.截断误差截断误差(介于0与x之间)近似代替,则数值方法的截断误差是近似代替,则数值方法的截断误差是p 截断误差的大小直接影响计算结果的精度和计算截断误差的大小直接影响计算结果的精度和计算 工作量,是数值计算中必须考虑的一类误差工作量,是数值计算中必须考虑的一类误差p在数值计算中只能对有限位字长的数值进在数值计算中只能对有限位字长的数值进行运算行运算p需要对参数、中间结果、最终结果作有限需要对参数、中间结果、最终结果作有限位字长的处理工作,这种处理工作称作舍位字长的处理工作,这种处理工作称作舍入处理入处理p用有限位数字代替精确数,这种误
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算方法 第一章 数值计算方法 数值
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内