网站大量收购独家精品文档,联系QQ:2885784924

计算方法实验指导1.doc

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

PAGE  PAGE 33 第一章 绪论 一、主要要求 通过实验,认真理解和体会数值计算的稳定性、精确性与步长的关系。 二、主要结果回顾: 1、算法:电子计算机实质上只会做加、减、乘、除等算术运算和一些逻辑运算,由这些基本运算及运算顺序规定构成的解题步骤,称为算法.它可以用框图、算法语言、数学语言或自然语言来描述。用计算机算法语言描述的算法称为计算机程序。(如c—语言程序,c++语言程序,Matlab语言程序等)。 2、最有效的算法:应该运算量少,应用范围广,需用存储单元少,逻辑结构简单,便于编写计算机程序,而且计算结果可靠。 3、算法的稳定性:一个算法如果输入数据有误差,而在计算过程中舍入误差不增长,则称此算法是数值稳定的,否则称此算法为不稳定的。换句话说:若误差传播是可控制的,则称此算法是数值稳定的,否则称此算法为不稳定的。 4、控制误差传播的几个原则: 1)防止相近的两数相减; 2)防止大数吃小数; 3)防止接近零的数做除数; 4)要控制舍入误差的累积和传播; 5)简化计算步骤,减小运算次数,避免误差积累。 三、数值计算实验(以下实验都需利用Matlab软件来完成) 实验1.1(体会数值计算精度与步长关系的实验) 实验目的:数值计算中误差是不可避免的,要求通过本实验初步认识数值分析中两个重要概念:截断误差和舍入误差,并认真体会误差对计算结果的影响。 问题提出:设一元函数f :R→R,则f在x0的导数定义为: 实验内容:根据不同的步长可设计两种算法,计算f在x0处的导数。 计算一阶导数的算法有两种: (1) (2) 请给出几个计算高阶导数的近似算法,并完成如下工作: 1、对同样的h,比较(1)式和(2)式的计算结果; 2、针对计算高阶导数的算法,比较h取不同值时(1)式和(2)式的计算结果。 实验要求:选择有代表性的函数f(x)(最好多选择几个),利用Matlab提供的绘图工具画出该函数在某区间的导数曲线f(s)(x),再将数值计算的结果用Matlab 画出来,认真思考实验的结果。 实验分析:不论采用怎样的算法,计算结果通常都会有误差。 比如算法(1),由Taylor公式,知: 所以有 利用上式来计算f ’(x0),其截断误差为: 所以误差是存在的,并且当步长h越来越小时,(1)的近似程度也越来越好。 类似地可以分析(2)的截断误差为: 上述截断误差的分析表明(2)是比(1)更好的算法,因为对步长h(1),(2)比(1)更接近于f ’(x0)。 计算方法的截断误差是数值计算中误差的重要来源,但不是唯一的!!如果在实验中确已将h取到足够小的话,特别在高阶导数的计算中,就会发现当h小到一定程度后,计算结果的误差不但不再减少,反而会变大!(参见图1) 事实上当步长h过小时,计算结果的误差变大就是由于舍入误差的缘故。 截断误差用我们原有的数学思维方式就比较容易理解的,而舍入误差则是本课程引入的一个新概念。要真正理解舍入误差,特别是它在计算中的传播及最终对计算结果的影响,是初步具备科学计算能力的重要标志。希望大家在完成实验后,认真仔细去体会截断误差和舍入误差的含义及对计算结果的影响。 0 10-7 10-5 10-5 10-4 10-3 10-2 10-1 10-3 10-1 (图1) 实验1.2(理解误差传播与算法稳定性实验) 实验目的:体会算法的稳定性在选择算法中的地位。 问题提出:考虑一个简单的积分序列 n=1,2,…. 显然In0,n=1,2,…当n=1时,得: 当n≥2时,由分部积分可得: n=2,3,…… 另外,还有: 实验内容:由递推关系In=1-nIn-1,可得计算积分序列{In}的两种算法: 算法一、直接使用递推公式得: In=1-nIn-1 n=2,3… 算法二、利用递推公式变形得: 实验要求:用上述两种算法分别在计算中采用5位、6位和7位有效数字,请判断哪种算法给出的结果更精确。 实验分析:两种算法的优劣可能与你的第一感觉完全不同。 设算法一中I1的误差为e1,由I1递推计算In的误差为en 算法二中IN的误差为εN,由IN向前递推计算In (nN)的误差为εn 如果假定上述两种算法在后面的计算中都不再引入其他误差,则有: 由此可见,算法一中的e1可能很小,但在计算中它的影响急剧扩散,结果真实的数据很快被淹没了;而算法二中的εN可能相对比较大,但在计算中误差影响不扩散,某一步产生误差后,该误差对后面的影响不断衰减。 注:误差扩散的算法是不稳定的,是我们所不期望的;误差衰减的算法是稳定的,是我们努力寻求的,也是贯穿本课程始终的目标。 第二章 一元非线性方程的解法 一、主

文档评论(0)

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

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

1亿VIP精品文档

相关文档