- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数值分析研究生版第一章.ppt
* 3.3 函数的误差估计 /*Error Estimation for Functions*/ 问题:对于 y = f (x),若用 x* 取代 x,将对y 产生什么影响? 分析:e*(y) = f (x*) ? f (x) e*(x) = x* ? x Mean Value Theorem = f ’(? )(x* ? x) x* 与 x 非常接近时,可认为 f ’(? ) ? f ’(x*) ,则有: |e*(y)| ? | f ’(x*)|·|e*(x)| 即:x*产生的误差经过 f 作用后被放大/缩小了| f ’(x*)|倍。故称| f ’(x*)|为放大因子 /* amplification factor */ 或 绝对条件数 /* absolute condition number */. * 相对误差条件数 /* relative condition number*/ f 的条件数在某一点是小\大,则称 f 在该点是好条件的 /* well-conditioned */ \坏条件的 /* ill-conditioned */。 注:关于多元函数 的讨论,请参阅教材第11-15页。 * 例:计算 y = ln x。若 x ? 20,则取 x 的几位有效数字可保证 y 的相对误差 0.1% ? 解:设截取 n 位有效数字后得 x* ? x,则 估计 x 和 y 的相对误差上限满足近似关系 不知道怎么办? x 可能是20.#,也可能是19.#,取最坏情况,即a1 = 1。 ? n ? 4 例:计算 ,取 4 位有效,即 , 则相对误差 * 几点注意事项 /* Remarks */ 1. 避免相近二数相减 (详细分析请参阅教材p.13) 例:a1 = 0.12345,a2 = 0.12346,各有5位有效数字。 而 a2 ? a1 = 0.00001,只剩下1位有效数字。 ? 几种经验性避免方法: 当 | x | 1 时: * 2. 避免小分母 : 分母小会造成浮点溢出 /* over flow */ 3. 避免大数吃小数 例:用单精度计算 的根。 精确解为 ? 算法1:利用求根公式 在计算机内,109存为0.1?1010,1存为0.1?101。做加法时,两加数的指数先向大指数对齐,再将浮点部分相加。即1 的指数部分须变为1010,则:1 = 0.0000000001 ? 1010,取单精度时就成为: 109+1=01010+0?1010=0?1010 大数吃小数 * 算法2:先解出 再利用 注:求和时从小到大相加,可使和的误差减小。 例:按从小到大、以及从大到小的顺序分别计算 1 + 2 + 3 + … + 40 + 109 4. 先化简再计算,减少步骤,避免误差积累。 一般来说,计算机处理下列运算的速度为 * 3.4 浮点运算的舍入误差 设 ,则算术运算: 不一定属于 例如: 则: 因此 不属于 . * 如果 用表示一种四则运算,有: 例如: 那么 Th2 * §4 算法的数值稳定性 一个算法,如果在执行它的过程中舍入误差在 一定条件下可以得到控制(或者说初始误差和舍入 误差的增长不影响产生可靠的结果),则称它是数 值稳定的,否则称该算法数值不稳定. * 传播与积累 /* Spread Accumulation */ 例:蝴蝶效应 —— 纽约的一只蝴蝶翅膀一拍,风和日丽的北京就刮起台风来了?! NY BJ 以上是一个病态问题 /* ill-posed problem*/ * 例:计算 ? 公式一: 注意此公式精确成立 记为 则初始误差 ? ?? ? ! ! ! * 考察第n步的误差 我们有责任改变。 造成这种情况的是不稳定的算法 /* unstable algorithm */ 迅速积累,误差呈递增走势。 可见初始的小扰动 ? 公式二: 注意此公式与公式一 在理论上等价。 方法:先估计一个IN ,再反推要求的In ( n N )。 可取 * 取 * 考察反推一步的误差: 以此类推,对 n N 有: 误差逐步递减, 这样的算法称为稳定的算法 /* stable algorithm */ 在我们今
文档评论(0)