实验五 误差分析
实验五 绪论--误差分析
【实验目的】
1、了解数值计算中的误差种类,及避免误差危害的几种手段, 2、深刻体会”数学上恒等,数值上不一定恒等”的含义 3、为本课程的学习准备良好的数值思想
【实验内容】
1、误差的来源与分类
2、数值计算中避免误差危害的若干方法 3、数值实验举例
4、根据要求,完成实验报告中的内容
【实验指导】
1) 误差的来源与分类
误差的来源是多方面的, 通常误差主要由以下4个方面的因素引起: (1) (2)
模型误差(Modeling Error)――把实际问题向数学问题转化的过程中,忽略观测误差(Measurement Error)――在一般的数学模型中,往往含有比较多
了一些对问题影响不是很大的因素,我们称这种忽略了的因素为模型误差;
的参数,而这些参数的值一般都需要通过观测得到,而观测得到的结果由于受到观测设备、观测方法等因素的影响往往都有误差,我们称这种由于观测引起的误差为观测误差。
(3) 截断误差(Truncation Error)――当我们不能得到数学模型的精确解时,通常要用数值方法求它的近似解,其近似解与精确解之间的误差称为截断误差。例如:在计算机上直接使用公式
e
1
n 0n!计算e时,会出现无穷过程的计算,不能在有限时间内得到需
要的结果,因此,通常需要将上述无穷过程近似为有穷过程:似的计算结果,这样用数值方法中的有穷过程替代数学模型中的无限过程时,就会产生上述截断误差。截断误差又称为方法误差。
(4)
舍入误差(Roundoff Error)――由于计算机的字长有限,在使用计算机进行
e
1
n 0n!,由此可以得到近
N
1数据处理时,计算机表示的数据或计算结果会与原始数据或理论上的计算结果有差异,这种3,在计算机上表示时,只能表示成0.331误差就是舍入误差。比如说
3的形式,这里
0.33
3与3的误差就是舍入误差。
由于误差是不可避免的,我们只能尽可能的减少它对计算结果的影响。在计算方法这门课程中,我们主要关心如何减少截断误差与舍入误差对计算结果的影响。
2) 数值计算中避免误差危害的若干方法 (1)
选择稳定的算法――稳定算法是指后面一次运算产生的误差不能把前面一次
运算所产生的误差扩大,这样就可以保证在运算过程中计算结果的误差能够控制,保证计算结果的可靠性;
(2) 避免相近两数相减――由于两个相近数相减,会丢失有效数字,从而会增大相对误差。避免相近数相减需要结合具体的问题采取不同的方法或技巧。例如:当 0,x 1时,利用等式
内容需要下载文档才能查看 内容需要下载文档才能查看 内容需要下载文档才能查看
ε
ln x ε lnx ln 1
x
可以避免相近数相减。
(3) (4) (5)
避免分母过小或用绝对值较大的数作乘数――分母过小或乘数过大会导致计避免大数“吃”小数;
简化计算,减少计算步骤――一般来说运算次数减少,则计算过程中的积累误
算机数据溢出,从而影响计算结果;
差有可能下降,这样就可以达到降低误差的目的。
3) 数值实验举例
(1)下述三个表达式在数学上是恒等的,试在字长为m的计算机上,分别利用这三个表达式计算其在区间[0,2 ]上一些点处的函数值,并比较计算结果,并说明理由。
A (1 cosx)/x2,B ((sinx)/x)2/(1 cosx),C 2((sin(x/2))/x)2
解:为了能够模拟字长为m的计算机上的数值计算我们先编写函数digit(x, m),其功能是将向量x表示成字长为m的规格化浮点向量。函数digit(x, m)的Matlab程序如下: function y=digit(x,m)
% This function is used to round x towards % a nearest normalized scientific m-digit number. % For example,
% digit(12.345,3)=0.123*10^2; % digit(12.345,4)=0.1235*10^2; % digit(0.012345,3)=0.123*10^{-1}. % Input:
% - x is a vector in R^{k}.
% - m is the given number of significant % decimal digits of computer. % Sep., 26, 2007 by Xu Minghua. k=max(size(x));
y=x; % initialize the value of y. for i=1:k if x(i)<0 sign=-1; else sign=1; end
x(i)=abs(x(i)); p=0;
if x(i) < 0.1 & x(i) > eps
while x(i) < 0.1 x(i)=x(i)*10; p=p-1; end end if x(i) >=1 while x(i)>=1 x(i)=x(i)/10; p=p+1; end end
y(i)=round(x(i)*10^m)/10^m; y(i)=sign*y(i)*10^p; end return
为了便于看出上述三种表达式在数值计算上的差异,我们设计算机的字长m 2,并将
x分别取为:2e-1
2e-2 2e-3 2e-4 2e-5
pi/2 pi 3*pi/2
2*pi
内容需要下载文档才能查看从上述计算结果可以知道:数学上恒等,数值上不一定恒等。结合防止误差的危害手段思考造成上述差异的原因。
上述计算的主程序如下: % Main program for Example 1
% Show the difference of the following 3 expressions % 1. A=(1-cosx)/x^2, % 2. B=(sinx/x)^2/(1+cosx), % 3. C=2(sin(x/2)/x)^2 % in numerical computation. clc m=2;
x=digit([2e-1 2e-2 2e-3 2e-4 2e-5 pi/2 pi 3*pi/2 2*pi]',m);
a=(1-digit(cos(x),m))./digit(x.^2,m); a=digit(a,m);
b=digit(digit((digit(sin(x),m)./x),m).^2,m)./digit(1+cos(x),m); b=digit(b,m);
c=2*digit((digit(sin(digit(x./2,m)),m)./x),m).^2; c=digit(c,m); [x, a, b, c]
(2)编写程序按照给定的顺序,在给定字长的计算机上分别计算
S1 12345 1 2 1000 S2 1 2 1000 12345
其中 i,i 1:1000,为区间[0, 0.5]上的随机数,在此基础上演示数值计算过程中大数吃小数的现象。
解:下述程序先在许可的计算机精度下计算S1和S2,然后模拟字长为m的计算机按照上述给定顺序计算S1和S2,为了能够看到大数吃小数的现象,字长取为m 5。程序与结果分别如下: Matlab程序:
% Compute $S1=A+B(1,1)+ \cdots +B(1,n)$ and $S2=B(1,1)+\cdots+B(1,n)+A$, and % show "big number" eating "small number". % Assume the computer is an m-digit computer. clc; m=5;
% initialize the dada A=12345; n=1000;
B=digit(0.5*digit(rand(1,n),m),m);
% Compute $S1=A+B(1,1)+ \cdots +B(1,n)$ and $S2=B(1,1)+\cdots+B(1,n)+A$, % in machine precision. S1=A; for i=1:n
S1=S1+B(1,i); end S2=0; for i=1:n
S2=S2+B(1,i); end S2=S2+A;
fprintf('Numerical results computed in machine precision \n'); fprintf('S1= %8.4e, S2 = %8.4e , S1-S2= %8.4e \n', S1, S2, S1-S2 );
% Compute $S1=A+B(1,1)+ \cdots +B(1,n)$ and $S2=B(1,1)+\cdots+B(1,n)+A$,
% in an m-digit number computer. C1=A; for i=1:n
C1=digit(C1+B(1,i),m); end fprintf('\n');
fprintf('Numerical results computed in a computer with m-digit number \n') fprintf('S1= %8.4e, The error of S1 is %8.4e \n', C1, C1-S1); C2=0; for i=1:n
C2=digit(C2+B(1,i),m); end C2=C2+A;
fprintf('S2= %8.4e, The error of S2 is %8.4e \n', C2, C2-S2); fprintf('S1-S2= %8.4e \n', C1-C2); 运行上述程序可得结果如下:
Numerical results computed in machine precision
S1= 1.2596e+004, S2 = 1.2596e+004 , S1-S2= -9.0949e-012 Numerical results computed in a computer with m-digit number S1= 1.2345e+004, The error of S1 is -2.5088e+002 S2= 1.2596e+004, The error of S2 is -1.0320e-001 S1-S2= -2.5078e+002
从上述结果可以看出如果利用现有的机器精度来计算S1和S2,则两者的差异不大,但如果在字长为5的计算机上计算S1和S2,则两者差异很大,出现了大数吃小数的现象。如果m取值为3,4,6则结果如何?
下载文档
热门试卷
- 2016年四川省内江市中考化学试卷
- 广西钦州市高新区2017届高三11月月考政治试卷
- 浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
- 浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
- 辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
- 广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
- 广西钦州市钦州港区2017届高三11月月考政治试卷
- 广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
- 广西钦州市高新区2016-2017学年高二11月月考政治试卷
- 广西钦州市高新区2016-2017学年高一11月月考政治试卷
- 山东省滨州市三校2017届第一学期阶段测试初三英语试题
- 四川省成都七中2017届高三一诊模拟考试文科综合试卷
- 2017届普通高等学校招生全国统一考试模拟试题(附答案)
- 重庆市永川中学高2017级上期12月月考语文试题
- 江西宜春三中2017届高三第一学期第二次月考文科综合试题
- 内蒙古赤峰二中2017届高三上学期第三次月考英语试题
- 2017年六年级(上)数学期末考试卷
- 2017人教版小学英语三年级上期末笔试题
- 江苏省常州西藏民族中学2016-2017学年九年级思想品德第一学期第二次阶段测试试卷
- 重庆市九龙坡区七校2016-2017学年上期八年级素质测查(二)语文学科试题卷
- 江苏省无锡市钱桥中学2016年12月八年级语文阶段性测试卷
- 江苏省无锡市钱桥中学2016-2017学年七年级英语12月阶段检测试卷
- 山东省邹城市第八中学2016-2017学年八年级12月物理第4章试题(无答案)
- 【人教版】河北省2015-2016学年度九年级上期末语文试题卷(附答案)
- 四川省简阳市阳安中学2016年12月高二月考英语试卷
- 四川省成都龙泉中学高三上学期2016年12月月考试题文科综合能力测试
- 安徽省滁州中学2016—2017学年度第一学期12月月考高三英语试卷
- 山东省武城县第二中学2016.12高一年级上学期第二次月考历史试题(必修一第四、五单元)
- 福建省四地六校联考2016-2017学年上学期第三次月考高三化学试卷
- 甘肃省武威第二十三中学2016—2017学年度八年级第一学期12月月考生物试卷
网友关注
- 教资国考|小学《教育教学知识与能力》高频考点精髓:教育学的发展阶段
- 教资国考|小学《教育教学知识与能力》高频考点精髓:小学德育的原则
- 教资国考|小学《教育教学知识与能力》高频考点精髓:课程内容、理论流派
- 教资国考|小学《教育教学知识与能力》高频考点精髓:人本主义学习理论
- 教资国考|小学《教育教学知识与能力》高频考点精髓:教育学的萌芽阶段
- 教资国考|小学《教育教学知识与能力》高频考点精髓:德育过程的基本规律
- 教资统考|小学《教育教学知识与能力》考点模拟试题:教学实施(三)
- 教资国考|小学《教育教学知识与能力》高频考点精髓:科尔伯格的道德发展理论
- 教资国考|小学《教育教学知识与能力》高频考点精髓:教师专业发展的阶段、途径
- 教资国考|小学《教育教学知识与能力》高频考点精髓:教育调查法
- 教资国考|小学《教育教学知识与能力》高频考点精髓:记忆
- 教资国考|小学《教育教学知识与能力》高频考点精髓:教育的起源与发展
- 教资国考|小学《教育教学知识与能力》高频考点精髓:教育目的的概念、作用、理论
- 教资国考|小学《教育教学知识与能力》高频考点精髓:学校组织机构
- 教资国考|小学《教育教学知识与能力》高频考点精髓:小学生身心发展的规律
- 教资国考|小学《教育教学知识与能力》高频考点精髓:儿童身心发展概述
- 教资国考|小学《教育教学知识与能力》高频考点精髓:教育与社会的发展
- 教资国考|小学《教育教学知识与能力》高频考点精髓:基础教育课改目标、实施状况
- 教资国考|小学《教育教学知识与能力》高频考点精髓:教育制度发展历程、影响因素
- 教资国考|小学《教育教学知识与能力》高频考点精髓:教育的构成要素及其关系
- 教资国考|小学《教育教学知识与能力》高频考点精髓:我国当前的学制改革
- 教资国考|小学《教育教学知识与能力》高频考点精髓:教育的属性
- 教资统考|小学《教育教学知识与能力》考点模拟试题:教学评价
- 教资国考|小学《教育教学知识与能力》高频考点精髓:基础教育课程改革的理念
- 教资国考|小学《教育教学知识与能力》高频考点精髓:想象
- 教资国考|小学《教育教学知识与能力》高频考点精髓:感觉
- 教资国考|小学《教育教学知识与能力》高频考点精髓:小学教育科研成果的表述
- 教资国考|小学《教育教学知识与能力》高频考点精髓:知觉
- 教资国考|小学《教育教学知识与能力》高频考点精髓:小学生心理发展的特点
- 教资国考|小学《教育教学知识与能力》高频考点精髓:个体差异与因材施教
网友关注视频
- 冀教版小学数学二年级下册第二单元《租船问题》
- 8.练习八_第一课时(特等奖)(苏教版三年级上册)_T142692
- 苏教版二年级下册数学《认识东、南、西、北》
- 沪教版牛津小学英语(深圳用) 五年级下册 Unit 12
- 冀教版小学数学二年级下册第二周第2课时《我们的测量》宝丰街小学庞志荣
- 北师大版数学四年级下册3.4包装
- 第8课 对称剪纸_第一课时(二等奖)(沪书画版二年级上册)_T3784187
- 二年级下册数学第一课
- 沪教版牛津小学英语(深圳用) 四年级下册 Unit 4
- 沪教版牛津小学英语(深圳用) 五年级下册 Unit 10
- 【获奖】科粤版初三九年级化学下册第七章7.3浓稀的表示
- 七年级下册外研版英语M8U2reading
- 人教版二年级下册数学
- 3月2日小学二年级数学下册(数一数)
- 沪教版八年级下册数学练习册21.3(2)分式方程P15
- 七年级英语下册 上海牛津版 Unit3
- 沪教版八年级下册数学练习册一次函数复习题B组(P11)
- 冀教版小学英语五年级下册lesson2教学视频(2)
- 精品·同步课程 历史 八年级 上册 第15集 近代科学技术与思想文化
- 沪教版牛津小学英语(深圳用) 四年级下册 Unit 2
- 沪教版牛津小学英语(深圳用) 四年级下册 Unit 7
- 沪教版八年级下册数学练习册20.4(2)一次函数的应用2P8
- 北师大版小学数学四年级下册第15课小数乘小数一
- 沪教版牛津小学英语(深圳用) 六年级下册 Unit 7
- 第12章 圆锥曲线_12.7 抛物线的标准方程_第一课时(特等奖)(沪教版高二下册)_T274713
- 外研版英语三起5年级下册(14版)Module3 Unit1
- 青岛版教材五年级下册第四单元(走进军营——方向与位置)用数对确定位置(一等奖)
- 化学九年级下册全册同步 人教版 第18集 常见的酸和碱(二)
- 外研版英语七年级下册module3 unit1第二课时
- 【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,安徽省
精品推荐
- 2016-2017学年高一语文人教版必修一+模块学业水平检测试题(含答案)
- 广西钦州市高新区2017届高三11月月考政治试卷
- 浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
- 浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
- 辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
- 广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
- 广西钦州市钦州港区2017届高三11月月考政治试卷
- 广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
- 广西钦州市高新区2016-2017学年高二11月月考政治试卷
- 广西钦州市高新区2016-2017学年高一11月月考政治试卷
分类导航
- 互联网
- 电脑基础知识
- 计算机软件及应用
- 计算机硬件及网络
- 计算机应用/办公自动化
- .NET
- 数据结构与算法
- Java
- SEO
- C/C++资料
- linux/Unix相关
- 手机开发
- UML理论/建模
- 并行计算/云计算
- 嵌入式开发
- windows相关
- 软件工程
- 管理信息系统
- 开发文档
- 图形图像
- 网络与通信
- 网络信息安全
- 电子支付
- Labview
- matlab
- 网络资源
- Python
- Delphi/Perl
- 评测
- Flash/Flex
- CSS/Script
- 计算机原理
- PHP资料
- 数据挖掘与模式识别
- Web服务
- 数据库
- Visual Basic
- 电子商务
- 服务器
- 搜索引擎优化
- 存储
- 架构
- 行业软件
- 人工智能
- 计算机辅助设计
- 多媒体
- 软件测试
- 计算机硬件与维护
- 网站策划/UE
- 网页设计/UI
- 网吧管理