lecture1)计算方法第一章.ppt_第1页
lecture1)计算方法第一章.ppt_第2页
lecture1)计算方法第一章.ppt_第3页
lecture1)计算方法第一章.ppt_第4页
lecture1)计算方法第一章.ppt_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

主讲教师: 白敏茹 副教授 Email: Tel要求: 1. 课前预习和课后复习,并及时完成课后作 业.(掌握构造方法的原理和思想) 2. 课余将书本上的程序进行上机计算, 掌握 并熟练运用Matlab进行数值计算。(掌握 运用数值计算方法在计算机上解决各类工 程问题) 课程成绩: 平时成绩(含考勤、作业及平时表现)30% 期末考试成绩 70% $1.1 引 言 第一章 三大科学方法:理论研究、科学实验、科学计算 科学计算核心技术:数值计算技术和计算机技术 计算数学、图像处理、统计分析、计算机仿真。 科学计算包含: 一个科学计算过程主要包括如下几个环节: (1) 数学建模:将工程问题数学化 工程中的数学模型一般可分为三类: (2) 算法设计:将数学问题数值化(指标:速度和精度) 连续型(确定型) 离散型(统计型) 不确定型(随机型) 本书重点讨论 例1.1.4 求解线性方程组 求解二次方程 是数值问题 求解微分方程 不是数值问题 将其变成数值问题,即将其“离散化” “离散化”是将非数值问题的数学模型化为数值问题 的主要方法,这也是计算方法的任务之一 (3) 程序设计:将数值问题机器化 实现要求: 最简练的计算机语言 最快的速度 最少的存储空间 (4) 上机计算并分析结果:数值模拟物理过程, 分析计算结果的可靠性,必要时重复上述过程 。 其中算法设计是数值计算的核心内容。数值计算方 法针对来源于科学与工程中的数学模型问题,介绍 计算机上常用的数值方法的算法设计思想并进行算 法分析。 数值计算:常称为数值分析或计算数学或计算方法。 主要是研究如何运用计算工具(如计算 器、计算机等)去获得数学问题的数值 解的理论和方法。 实践表明:计算方法正在日趋明显地成为数学 与计算机科学的交叉科学。 对那些在经典数学中,用解析方法在理论上已作出 解的存在,但要求出他的解析解又十分困难,甚至 是不可能的这类数学问题,数值解法就显得不可缺 少,同时又十分有效。 1.2 1.2 数值计算方法的研究内容数值计算方法的研究内容 边缘科学:计算物理,计算力学,计算化学, 计算生物学,计算经济学等。 算法:从给定的已知量出发,经过有限次四则运算及 规定的运算顺序,最后求出未知量的数值解,这样构 成的完整计算步骤称为算法。 运算量(计算量): 一个算法所需的乘除运算总次数 计算量是衡量一个算法好坏的重要指标! 数值计算的根本任务就是研究算法 研究数值算法的任务主要有: (1) 构造计算机上可执行的算法 (2) 构造计算复杂性好的算法 (3) 构造可靠性好的数值方法 计算机上可执行的运算: 四则运算逻辑运算 尽可能提高数值方法的计算速度和少占存贮空间 。 选择或研制能达到“数值问题”要求的计算精度的 数值方法,为此须研究数值问题的性态及数值方 法的稳定性。 计算方法:把求解数学问题转化为按一定次序只 进行加、减、乘、除等基本运算 数值方法。 例1.1.1 已知 a0, a1, a2 , an, x, 计算多项式: 直接计算:运算量(乘法) 秦九韶算法(1247年): 运算量: 例1.1.2 解线性方程组 其中, 克兰姆(Cramer)法则: 运算量(乘除): 高斯消元法(Gauss): 运算量(乘除) Gauss: 3060次 Cramer: 理论上很“漂亮”的Cramer法 则 在计算机上并不适用! 数值计算研究内容:对如下五类问题探索数值求解 方法及其与算法有关的理论分析 (2) 数值逼近(各种函数逼近问题的数值解、数值积 分和微分) (5) 最优化理论和方法 (4) 偏微分方程数值解 (3) 常微分方程数值解法 (1) 数值代数(线性方程组、非线性方程及方程组的数值解 法) 将问题可算化的手段:将问题可算化是设计一个算 法的第一步 (1) 用有限维空间代替无限维空间 (2) 用有限过程代替无限过程 (3) 用简单问题代替复杂问题 (4) 扰动分析:估计误差或精度 1.3 1.3 计算过程中的误差及其控制计算过程中的误差及其控制 计算公式中的运算必须是在计算机上可执行的运算 参与运算的数必须是有限小数或整数 因此,数值方法中的取数和运算往往会出现误差,算得 的结果(称为计算值)一般也为近似值。 在任何科学计算中,其解的精确性 总是相对的,而误差则是绝对的。 数值方法中的计算公式及参与运算的数,都和数学中的 一般情况有所不同,即 一、误差的种类及来源 一个物理量的真实值和我们算出的值(即计算值) 往往存在差异,它们之差称为误差。 模型误差 在建立数学模型过程中,要将复杂的 现象抽象归结为数学模型,往往要忽 略一些次要因素的影响,而对问题作 一些简化,因此数学模型和实际问题 之间有一定的误差。 观测误差 在建模和具体运算过程中所用的数据 往往是通过观察和测量得到的,受观 测方式、仪器精度以及外部观测条件 等多种因素限制,不可能获得精确值 ,由此而来产生的误差。 截断误差 由于计算机只能完成有限次算术运算和 逻辑运算,因此要将有些需用极限或无 穷过程进行的运算有限化,对无穷过程 进行截断,这就带来误差。 例: 若将前若干项的部分和作为函数值的近似公式, 由于以后各项都舍弃了,自然产生了误差 Taylor展开 舍入误差 在数值计算过程中还会遇到无穷小数,因 计算机受到机器字长的限制,它所能表示 的数据其位数只能是有限的,如按四舍五 入规则取有限位数,由此引起的误差 另外还有过失误差,这类误差是由于模型错误或方法 错误所引起的,一般可以避免。 结论:误差是不可避免的 经过大量的运算之后,积累的总误差有时会大得惊 人,因此如何控制误差的传播也是数值方法的研究 对象。 在种误差中,前种是客观存在的,后种是计 算方法引起的。数学模型一旦建立,进入具体计算 时所考虑和分析的就是截断误差和舍入误差。因此 本课程只涉及这种误差。 在实际问题中求精确解是没有意义的,求近似解是 正常的。问题是如何尽量减少误差,提高精度。 二、误差和误差限 定义1.2.1 绝对误差限或误差限, 显然 有时也表示为 且 哪个更精确呢? 定义1.2.2 绝对误差和绝对误差限仅考虑了误差值本身的大小,没 有考虑准确值的大小。为了能较好地反映近似值的精确 程度,还应考虑准确值的大小。 绝对误差限 相对误差限 代替相对误差 代替相对误差限 因此 往往未知 例1.2.1 解 三、有效数字 定点数:小数点的位置固定在个位数后。 机器数:计算机中可表示的数。 为了提高精度,机器数通常是用浮点数表示的 。 称为基数称为尾数或数码 称为阶码 其中基数是正整数,一般取为,但为照顾习惯和书写 方便,通常化为十进制数输入或输出。阶码是整数。 一定型号的计算机,尾数的位数t是固定的,称为计算机 的位数;阶码m也有一定的取值范围: 有4位有效数字有6位有效数字 定义1.2.3 有8位有效数字 只有4位有效数字! 由于计算机只能表示有限个数,故通常利用某种舍入规则(如四舍 五入,截断误差等),将数进行浮点化。因而势必产生舍入误差。 定理1.2.1 证明 下面的结果论述了相对误差与有效数字的关系 即 则有 例1.2.7 解 则相对误差满足 即应取4位有效数字,近似值的误差不超过0.1%. 四、误差的传播 1、数据误差的传播 由多元函数的Taylor展开公式可得, 的绝对误差为: 相对误差为: 称为 f 的条件数 ,其绝对值的 大小可反映函 数值对数据的 敏感程度 利用上面的误差估计公式,可以得到两个数的 和、差、积、商的误差估计 2、舍入误差的传播 因舍入导致的相对误差限仅与计算机的字长有关,通常 称相对误差限 为计算机的相对精度。 即 在计算机中,数需首先转化为机器数,比如浮点数,在 运算器中参与运算后仍需将运算结果转化成浮点数的形 式进行存储。 由上面的讨论可以看出,为了求得满意的计算解,在选 用计算公式和设计算法时,都应注意如下普遍原则: (1) 防止大数吃小数主要由计算机的位数引起 选用算法应遵循的原则 计算机中数的计算特点: 加法先对阶,后运算,再舍入。 乘法先运算,再舍入。 不在计算机数系中的数做四舍五入处理。 作一个有效数字为4位的连加运算 而如果将小数放在前面计算 在作连加时,为防止大数吃小数,应从小到大进行相加, 如此,精度将得到适当改善。当然也可采取别的方法。 例 (2) 作减法时应避免两个相近数相减 两个相近的数相减,会使有效数字的位数严重损失! 例1.2.10用四位浮点数计算 解 只有一位有效数字,有效数字大量损失,造成相对 误差扩大。 结果仍然有四位有效数字。 这说明了算法设计的重要性。在算法设计中,若可能出现两个相 近数相减,则改变计算公式,如使用三角变换、有理化等等。 (3) 避免小数作除数和大数作乘数 小数作除数或大数作乘数会产生溢出错误,因而产生大的误差。 在算法设计时,要避免这类情况在计算公式中出现。此时可以 根据一些具体情况, 把某些算式改写成另一种等价的形式,如 分母有理化等。 根据误差传播的估计式 3.3.算法的稳定性 如前所述,由于各种误差的存在,计算机往往只能 近似地求解实际问题,因而计算时会冒风险。 一、问题的性态 如把方程组的系数 舍入成两位有效数字 它的精确解为x1 = -6.222. x2= 38.25 x3= -33.65. 例求解线性方程组 其精确解为 x1=x2=x3=1. 若对方程组的系数和中间结果均取3位10进制有效数字 ,然后用Gauss消元法求解,得到计算解为: 显然,该计算解的精度较差。 同样用Gauss消元法求解方程组: 也取3位10进制有效数字,得到计算解为: 容易验证,它是方程组的精确解。 上述例子表明,数值问题计算解的精度,与数值问题本 身的性态有关。 定义1.3.1 在数值问题中,如果输出数据对输入数据的 扰动(如误差)很敏感,即若输入数据(如原始数据) 有较小的变化,会引起输出数据(如计算解)的较大变 化,称这类数值问题为病态问题或坏条件问题。非病态 问题又称为良态问题。问题输出变量的相对误差与输入 变量的相对误差的商称为问题的条件数 二、算法的稳定性与设计原则 例1.3.3计算定积分 解 一个程序往往要进行大量的四则运算才能得出结果 ,每一步的运算均可能会产生舍入误差。在大量计 算中,舍入误差是积累还是能控制,这与算法有关。 误差放大 5千倍! 并假设计算过程中不产生新的舍入误差 。 误差会放大 由公式 可推出: 显然算法不稳定。理论上成立的算法,在计算机上计算 时,由于初值的误差在计算过程中的传播,而导致结果 的失真,这是我们数值计算方法所要研究的。 (2) 利用递推公式 误差不会放大 数值稳定,在运算过程中,舍入误差不增大。 定义1.3.2 如果对于良态问题,在运算过程中,舍入误差 能控制在某个范围内的算法称之为数值稳定的算法,否则 就称之为不稳定的算法。 前面的例子说明,不稳定的算法可能导致计算结果不可 靠甚至严重失真。因此,在计算时,应该采用稳

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论