数值分析1-数值计算的基本概念讲述

上传人:最**** 文档编号:116852146 上传时间:2019-11-17 格式:PPT 页数:33 大小:851KB
返回 下载 相关 举报
数值分析1-数值计算的基本概念讲述_第1页
第1页 / 共33页
数值分析1-数值计算的基本概念讲述_第2页
第2页 / 共33页
数值分析1-数值计算的基本概念讲述_第3页
第3页 / 共33页
数值分析1-数值计算的基本概念讲述_第4页
第4页 / 共33页
数值分析1-数值计算的基本概念讲述_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《数值分析1-数值计算的基本概念讲述》由会员分享,可在线阅读,更多相关《数值分析1-数值计算的基本概念讲述(33页珍藏版)》请在金锄头文库上搜索。

1、第一章 数值计算的基本概念 l引言 l误差与有效数字 l算法的稳定性与病态问题 l计算机计算的几个问题 l算法设计的原则 作为一小节 内容 1 引言 一、数值学科的发展历史及现状 l 现状 l 特点: (1)应用广泛边缘学科 计算机模拟实验(指纹、人脸识别等,爆炸模拟等 ) 科学与工程计算 (2)主要工作 误差评估(讨论方法的好坏) 寻求适合计算机计算的方法 u抽象性;u严密的科学性; u应用的广泛性;u使用的高技术性 l 历史 (经典的工程数学问题) (1)应用方面:解决一些不能求得精确解的问题(近似解) 二、数值分析的研究对象 对象 分析实际工程计算问题,由数学模型提 出求解的数值计算方法

2、并编程计算出结 果,然后进行误差分析。 (2)数值计算本身的特点 u 构造性 : u 递推性: u 离散化 : u 近似替代 : 计算离散点上的近似值;有可靠的理论分析;算 法理论主要是连续系统的离散化数值求解。 方法的构造,解的存在唯一性的证明 复杂计算过程转化成简单的计算过程的多次重 复(适合计算机计算) 在误差允许的范围内,无限次的计算用有限次 计算替代 u 模拟仿真 : 可通过计算机的仿真实验验证实际的工程计算 l解决现代工程技术问题 的基本过程(如左图) l数值分析是研究适合于 在计算机上使用的实际 可行、理论可靠、计算 复杂性好的数值计算方 法。 分析实际问题 数值计算方法 数学模

3、型 程序设计 上机计算结果 实际工程计算软件的基础是数值计算方法算法,是数 值分析课程研究的核心对象。 构造算法的基本手段:近似 研究算法的核心问题:近似对计算的影响误差分析 结论 : 补充例 子说明 2 误差与有效数字 一、误差种类与来源 认识实际问题 观测误差 数值计算方法数学模型程序设计 上机计算求出结果模型误差截断误差 舍入误差 观测误差(或称测量误差) 由数据观测产生的误差 模型误差 数学模型是实际问题的抽象和简化,其间存在误差 截断误差(或方法误差) 由于问题不能精确求解,近似计算的方法所引起 舍入误差 计算机实现计算时,机器的有限字长所造成 例1 解: 3216 失之毫厘,差之千

4、里!原因 误差的传播与累积 二、误差的基本概念(从误差度量上来说) 1. 绝对误差 定义:设某量的准确值为x, 是 x 的近似值, 绝对误差限。 例2电流表、电压表等仪器。 例3 通常 x 是未知的,故 未知 , 但一般地 已知。 绝对误差不是误差的绝对值,即 可正可负。 * 的绝对误差。 为x 称 * -=xxxe)( 2. 相对误差 定义: 设某量的准确值为 x, 是 x 的近似值, 准确值之比 为 的相对误差。 称为 的相对误差限。 例4 解: 但 是 的一个好的近似, 不是 的好的近似. 称绝对误差与 Why? 近似值的相对误差是近似值精确度的基本度量,一个近似 值 的相对误差越小,则

5、近似值越精确。 结论: 通常将 作为 的相对误差。 较小时 相对误差限是未知的,但可以确定 是一个无量纲的数, 。 三、有效数字 定义 : 设 x 为准确值, 为 x 的近似值且 可表示为 若 的绝对误差其中 为 0, 1, , 9 中的一个数字。 误差不超过m-n位的半个单位 即 有n位有效数字,或说 准确到 m-n 位。 字为 的有效数字,记为n,则称该位到 的第一位非零数 满足 , 有效数字的位数不能仅考虑 例5 5位有效数字1位有效数字 一个十进制数近似值的有效数字,不受单位制的影响。如 作为的近似值,与 均为3位有效数字 。 在有效数意义下,不同的有效数位数的近似值的近似精度是 不同

6、的。如10.4200的精度高于10.42: 前者的绝对 误差不超过 : 后者的绝对 误差不超过 : 结论 : 有效数字与绝对误差有一定的关系。对于某量的近似值 ,如果有位有效数字,当一定时,越大则相对误 差越小。 定理(有效数字与相对误差的关系): 设近似值x*表示为 若x*具有n位有效数字,则其相对误差限为 反之,若x*的相对误差限 则x*至少具有位有效数字。 证明 :由x*的表达式可得 : 又由定义可知 有效数位越多,相 对误差越小 所以 反之,则有: 因此, x*具有n位有效数字。 例6 为使的近似值的相对误差小于1%,问需要取多少位 有效数字? 解 : 的近似值的首位数字 于是由 可解

7、得。 因此,可取即。 3 算法的稳定性与病态问题 在数值计算中,由于初始数据的误差在计算过程中的传播使 得计算结果的误差很快增长,就称该问题是数值不稳定的。 定义 : 一个算法如果输入数据有误差,而在计算过程中舍入 误差不增长,则称此算法是数值稳定的,否则称此算 法为不稳定的。 一、算法稳定性定义 例7 计算 ,并估计误差。 由部分积分公式,可得 nn 00.632150.1480 10.367960.1120 20.264270.2160 30.20748-0.7180 40.170497.552 可以计算出下表:按递推关系 现将递推公式改写为 : ,且有 于是,取n=9,则有 在此,取 因

8、此,可得新的递推公式 : 确定递 推计算 的初值 nn 00.632150.1455 10.367960.1268 20.264370.1121 30.207380.1035 40.170890.0684 由上面的递推公式,可得到下面的计算结果: 第二种方法比第一种方法计算稳定。 对比结论与分析 : 对于第一种方法,设 ,则有 因此,误差是逐次放大的。 对于第二种方法,设 ,则有 因此,误差是逐次缩小的。 二、病态问题与条件数(针对问题本身 ) 定义:输入数据的微小变动导致输出数据的较大误差, 就被称为病态问题。 衡量是否病态的标准:条件数 对于函数值计算问题,条件数定义为: 不同的问题,条件

9、数具体定义不同。 一般情况下,条件数大于10,就认为问题病态 。 设,则,即对于该函数,误差会被放大n倍 。 通过构造特殊算法来解决 4 计算机计算的几个问题与算 法设计原则 一、减少运算次数 不仅能提高计算精度,而且能减少误差的积累 1、对同一种算法(计算方法),要选用计算量少的运算次序 例如 4. 运算方案能否控制误差的传播和积累以保证计算结 果有足够的精度(数值稳定性). 数值计算的一般标准 : 2. 运算过程是否规律(易编程); 3. 需要记录的中间结果的多少(储存量); 1. 运算次数的多少(计算效率); 例8 (b) 利用秦九韶算法 : (a) 直接计算每一项再求和:解 : 2、对

10、于不同的算法,要注意收敛速度,讲效率 例9 计算 ln2 的近似值,要求误差小于10. 解 : 计算量太大; 各项的舍入误差会损失和的有效数字 (b) 用级数 来计算 用前 9 项(即取 m = 8)计算就能达到精度要求: (a) 用级数 来计算 , 1 )1( 2 1 1Sln21 1 n n x n- -+-= L ,则得取 结果不可靠,计算失败 否则,则称这个算法是数值不稳定的。 二、 数值计算中要构造和使用数值稳定的计算方法 算法是数值稳定的 1. 注意计算机数系的运算特点 有理数的有限数集,即浮点数 集(参读教材p22-29) 例10 讨论在计算机数系中分别用公式 解: 无误差时,必

11、相等;有舍入误差时,可能不相等, a b m m 准确值值 5.243 5.243 8.355 8.355 6.800 1.556 6.799 1.557 6.799 1.556 和 同。中点时所得结果是否相求,ba 2 2 ab am - += 2 1 ba m + = 4位有效数字舍入运算: 1234+0.4+0.3+0.2+0.1=1234 0.4+0.3+0.2+0.1+1234=1235 若出现“溢出”应立即中断 应避免出现“大数吃小数” 事先预防、 事后解决 例12 解: 可防溢出 例11 针对计算机的计算特点,必须注意: 解: 计算机算法设计时,必须作到 : 2防止两接近的数相减

12、 例13 求下列方程的根 解: 用 8 位浮点数 (有效数字)计算 用 4 位浮数点(有效数字)计算 两接近数相减 损失了有效数字 仍用4 位浮点数计算 数值稳定 的方法 误差传播的研究十分重要 是因为求 的误差(并不大), 进行减法后导致不应忽视的后果 | | x|时, 计算结果 的误差较小 准确 不稳定 结论 : 例14 当 n = 0,1,2,8 时,求积分 的近似值. 用递推关系进行计算时必须 注意误差的积累. 解 : 错误的原因?将 的误差扩大到5倍。递推公式 3、设法控制误差的传播 1 11 .516. 05 4 ,083. 05 3 ,05. 05 2 ,09. 051 3423

13、1201 -=-=-=-=yyyyyyyy 结论 : 逆向递推: , 5 1 5 1 1nn y n y-= - 改用: 引起 函数的很大误差 例15 设有方程组 将系数舍入成 2 位浮点数, 则方程为 三、计算过程中应十分小心处理病态的数学问题 病态问题一般要用高精度(双精度)计算或解病态问题的方法解决 以上问题称为病态的问题,病态是问题本身固有的。 病态问题 作业 1. 判断如下命题是否正确 (a) 一个问题的病态性如何,与求解它的算法有关系。 (b) 无论问题是否病态,好的算法都会得到它好的近似解。 (c) 计算中使用更高的精度,可以改善问题的病态性。 (d) 用一个稳定的算法计算一个良

14、态的问题,一定会得到它 好的近似解。 (e) 浮点数在整个数轴上是均匀分布的 (f) 浮点数的加法满足结合律 (g) 浮点数的加法满足交换律 (h) 浮点数构成有限集合 (i) 用一个收敛的算法计算一个良态的问题,一定会得到它好 的近似解 2. 函数sinx有幂级数展开 利用幂级数计算sinx的Matlab程序为 function s = powersin(x) % POWERSIN. Power series for sin(x). % POWERSIN(x) tries to compute sin(x) from a power series s = 0; t = x; n = 1; while s + t = s; s = s + t; t = -x2/(n+1)*(n+2)*t; n = n + 2; end (a) 解释上述程序的终止准则; (b) 对于 ,计算的精度是多少?分别需要计 算多少项? 3. 考虑数列 ,它的统计平均值定义为 它的标准差 数学上等价于 作为标准差的两种算法,你如何评价它们的得与失? 6. 编程作业: 用MATLAB编程实现例7的两种方法,写出相应 的代码。 4. 求的近似值,使相对误差不超过0.1%。 5. 设,假定g是准确的,而对t的测量有秒的误差, 证明:当t增大时,S的绝对误差增大而相对误差却减小。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号