- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《计算方法与分析》实验报告
实验一、误差分析
一、上机前的准备工作
1、复习和掌握与本次实验有关的教学内容。
2、根据本次实验要求,在纸上编写算法及上机的程序,并经过人工模拟运行检验,减少不必要的错误,提高上机效率。切忌不编程序、不作人工检查就进行程序输入,这只能使上机调试的难度增加,甚至可能带来学习自信心的下降,影响后续课程的学习。
二、上机实验步骤
1、启动开发环境;
2、建立源程序文件,输入源程序;
3、编译产生目标程序,连接生成可执行程序,运行程序,输出结果;
4、对数值计算结果进行误差分析,讨论数值算法的收敛性与稳定性;
5、整理实验报告。
三、实验报告
实验报告是记录实验工作全过程的技术文档,实验报告的撰写是科学技术工作的一个组成部分。《数值分析》实验报告包括下列要求:
实验原理;
实验内容和要求;
数值算法描述,包括数据输入、数据处理和数据输出;
4、算法的实现
给出具体的计算实例,
经调试正确的源程序清单,
对具体的数值例子给出数值结果;
5、计算结果的误差分析,算法的收敛性与稳定性的讨论;
6、实验心得。
误差分析
误差问题是数值分析的基础,又是数值分析中一个困难的课题。在实际计算中,如果选用了不同的算法,由于舍入误差的影响,将会得到截然不同的结果。因此,选取算法时注重分析舍入误差的影响,在实际计算中是十分重要的。同时,由于在数值求解过程中用有限的过程代替无限的过程会产生截断误差,因此算法的好坏会影响到数值结果的精度。
一、实验目的
通过上机编程,复习巩固以前所学程序设计语言及上机操作指令;
通过上机计算,了解误差、绝对误差、误差界、相对误差界的有关概念;
通过上机计算,了解舍入误差所引起的数值不稳定性。
二、算法实例
例1.1 用差商求在处导数的近似值。取,,=0.000 000 000 000 001和=0.000 000 000 000 000 1分别用MATLAB软件计算,取十五位数字计算。
解: 在MATLAB工作窗口输入下面程序
a=3;h=0.1;y=log(a+h)-log(a);yx=y/h
运行后得
yx = 0.32789822822991.
将此程序中改为0.000 1,运行后得
yx = 0.33332777790385.
后者比前者好。再取h = 0.000 000 000 000 001,运行后得
yx = 0.44408920985006,
不如前者好。取h = 0.000 000 000 000 000 1,运行后得
yx = 0,
算出的结果反而毫无价值。
例1.2 分别求方程组在下列情况时的解,其中.
(1); (2).
解: (1) 首先将方程组化为同解方程,然后在MATLAB工作窗口输入程序
b=[2,2];A=[1,1;1,1.01]; X=A\b
运行后输出当时,的解为;
(2)同理可得,当时,的解为.
例1.3 计算的近似值。
解:泰勒级数
e ,
取,得
. (1.1)
这是一个无限过程,计算机无法求到精确值。只能在(1.1)取有限项时计算,再估计误差。如果取有限项
作为的值必然会有误差,根据泰勒余项定理可知其截断误差为
e.
如果取(1.1)的前九项,输入程序
n=8;
s=1;S=1;
for
k=1:n
s=s*k;
S=S+1/s,
end
s,S,
R=3/(s*(n+1))
n=8;
s=1;S=1;
for k=1:n
s=s*k;
S=S+1/s;
end
s,S,
R=3/(s*(n+1))
运行结果:
s =40320
S =2.7183
R =8.2672e-006
或
S1=1+1+1/2+1/(1*2*3)+1/(1*2*3*4)+1/(1*2*3*4*5)+1/(1*2*3*4*5*6)+1/(1*2*3*4*5*6*7)+1/(1*2*3*4*5*6*7*8),
R1=3/(1*2*3*4*5*6*7*8*9)
运行后结果
S =8.267195767195768e-006R =2.71827876984127
颠倒!!!!!!!!!
因为截断误差为
所以e的近似值e2.718 28.
例1.4 取作为的四舍五入近似值时,求其绝对误差和相对误差。
解:在MATLAB工作窗口输入程序
juewu=exp(1)-2.71828
运行后输出结果为
juewu = 1.828 459 045 505 326e-006
例1.5 计算d 的近似值,并确定其绝对误差和相对误差。
解 因为被积函数的原函数不是初等函数,故用泰勒级数求之。
, (1.5)
这是一个无限过程,计算机无法求到精确值。可用(1.5)的前四项代替被积函数,得
d
文档评论(0)