[理学]第1章 绪论-数值计算与误差分析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]第1章 绪论-数值计算与误差分析

21 本课程的任务: ● 建立求解各种数学问题的数值计算方法和理论。通俗地讲,就是为各种实际问题提供有效的求数值近似解方法。 ● 提供在计算机上实际可行的、理论可靠的、计算复杂性好的各种常用算法。 二、数值计算方法的内容 三、基本要求 第1章 算术运算中的误差分析初步 第一节 数值算法 计算量: 一个算法所需的乘除运算总次数. 计算量是衡量一个算法好坏的重要指标。 例 5 解线性方程组 第二节 数值计算的误差分析 一、误差的来源 二、截断误差分析 三、舍入误差分析 四、计算机数系 六、有效数字 七、计算机中数的计算特点 1、数值运算的绝对误差和相对误差 2、和、差、积、商的误差估计式 九.数值计算中值得注意的问题 十、算法的数值稳定性 十一、病态问题与条件数 第三节 数学软件工具 1、 符号运算软件:Mathematica, Maple 2、 矩阵处理软件: Matlab 3、数学CAD软件: MathCAD 例1 已知 a0, a1, a2 ,…, an, x, 计算多项式: (5)丰富的工具箱 MATLAB的工具箱融合了套装前软体的优点,与一个灵活的开放但容易操作之环境,这些工具箱提供了使用者在特别应用领域所需的许多函数。现有工具箱有:符号运算(利用Maple V的计算核心执行)、图像处理、统计分析、信号处理、通信、线性矩阵不等式、偏微分方程、高阶谱分析、财政金融、神经网络、模拟分析、控制系统、实时控制、小波分析、最优化、模糊逻辑、μ分析及合成等30多种。 Mathcad是由MathSoft公司推出的一种交互式 数值系统。在输入一个数学公式、方程组、矩阵之后, 计算机能直接给出结果,而无须去考虑中间计算过程。 最令人激动的是在加入软件包自带的Maple插件后能直 接支持符号运算。你可以在计算机上输入数学公式、符 号和等式等,很容易地算出代数、积分、三角以及很 多科技领域中的复杂表达式的值,并可显示数学表格 和图形,通过对图形结果的分析,使我们对问题的理解 更加形象。 (会耗失许多有效数字,可以用数学公式化简后再做). 例: 各有五位有效数字的23.034与22.993相减. 23.034-22.993=0.041 0.041只有两位有效数字,有效数字的耗失,说明准确度减小,因此,在计算时需要加工计算公式,以免这种情况发生. (2) 防止大数吃小数 当两个绝对值相差很大的数进行加法或减法运算时,绝对值小的数有可能被绝对值大的数吃掉从而引起计算结果很不可靠. 在上式中,重新排序计算 上式= 0.2+0.4+0.4+ 23456=1+ 23456= 0.00001 ×105+ 0.23456×105=23457 例3:在F(10,5,-119,119)中,计算 23456+0.2+0.4+0.4 上式=0.23456×105+0.000002 ×105+ 0.000004 ×105+ 0.000004 ×105 =23456 当两个绝对值相差很大的数进行加法或减法运算时,绝对值小的数有可能被绝对值大的数吃掉从而引起计算结果很不可靠. 例:求一元二次方程x2-(108 +1)x+108=0 的实数根. 采用因式分解法,很容易得到两个根为x1=108,x2=1.如采用字长为16位的单精度计算机来计算,求得根为x1≈108 ,x2≈0.(怎样计算可得较好的结果?) 两者结果不同,因为计算机计算时做加减法要 “对阶”,“对阶”的结果使大数吃掉了小数.产生了误差.为了避免由于上述原因引起的计算结果严重失真,可以根据一些具体情况,存在需要把某些算式改写成另一种等价的形式. (3) 防止接近零的数做除数 分母接近零的数会产生溢出错误,因而产生大的误差,此时可以用数学公式化简后再做. (4) 注意计算步骤的简化,减小运算次数 简化计算步骤是提高程序执行速度的关键,它不仅可以节省时间,还能减少舍入误差。 例4:设A、B、C、D分别是10?20、 20?50、 50?1、 1?100的矩阵,试按不同的算法求矩阵乘积E=ABCD. 解:由矩阵乘法的结合律,可有如下算法 1. E=((AB)C)D. 计算量N=11500flop 2. E=A(B(CD)). 计算量N=125000flop 3. E=(A(BC))D. 计算量N=2200flop 简化计算步骤是提高程序执行速度的关键,它不仅可以节省时间,还能减

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档