误差的来源1

2019-04-22 00:16

数值分析也称计算方法,它不仅是一种研究并解决数学问题的数值近似解的方法,而且是在计算机上使用的解数学问题的方法.它的计算对象是那些在理论上有解,而无法用手工计算的数学问题.

1.1 误差的来源

在运用计算方法解决实际问题的过程中,会出现各种各样的误差,必须注重误差分析.否则,一种合理的计算也可能得出错误的结果.

f(a?h)?f(a)h例1 用差商求f(x)?lnx在x?3处导数的近似值.

(1)取h?0.1和h?0.0001,用手工计算,取五位数字计算;

(2)取h?0.1 ,h?0.0001,h=0.000 000 000 000 001和h=0.000 000 000 000 000

f'(a)?1分别用MATLAB软件计算,取十五位数字计算;

(3)比较以上的运算结果,说明是否.

h越小则计算结果越准确.

1.4 数值计算中应注意的问题

从例1.3.4可以看出,一个问题的解决,往往要经过多次运算.每一步运算都可能产生误差,在反复多次计算的过程中,必然产生误差的传播和积累.显然,当误差积累偏大时,会使计算结果失真.因此,在每一步计算中,都应该防止产生误差升级的现象.

15?19x?7?(1?8?1)例1.4.1 求数的近似值.

解 (1)直接用MATLAB命令

>> x=(7^15)*(sqrt(1+8^(-19))-1)

运行后输出结果

x = 0

问题出现在两个相近的数1?8与1相减时,计算机运行程序

>>sqrt(1+8^(-19))-1

运行后输出结果

ans = 0

由于计算机硬件只支持有限位机器数的运算,因此在计算中可能引入和传播舍入误差.因为

?19?1的结果为0,计算机不能再与数7继续进行真实有效数字的严重损失,导致输出1?8的计算,所以,最后输出的结果与x的精确值不符.

?1915(2)如果化为

x?7?(1?815?19?1)?715?8?191?8?19?1,

再用MATLAB命令

>> x=(7^15)*( (8^(-19))/(sqrt(1+8^(-19))+1))

运行后输出结果

x = 1.6471e-005

8?19?1化为1?8?1后,计算机运行程序 这是因为1?8>> x= (8^(-19))/(sqrt(1+8^(-19))+1)

运行后的结果为

x =3.4694e-018

由于有效数字的损失甚少,所以运算的结果3.4694?10与x的精确值相差无几.

2y?ln(30?30?1)的近似值. 例 求数

?19?19-18再与7继续计算,最后输出的结果

15解 (1)直接用MATLAB程序 >> x=30;x1= sqrt(x^2-1)

运行后输出结果

x1 = 29.9833 输入MATLAB程序

>> x=30; x1=29.9833;y=log(x-x1)

运行后输出结果

y = -4.0923

(2)因为

ln(30?302?1)中的x?30很大,如果采用倒数变换法

z1?x?x2?1?即

1x?x2?1,

ln(30?302?1)?ln130?302?1??ln(30?900?1).

输入MATLAB程序

>> x=30;y=-log(x+sqrt(x^2-1))

运行后输出结果

y = -4.0941

(3)输入MATLAB程序

>> x=30; y=log(x-sqrt(x^2-1))

运行后输出结果

y = -4.0941 可见,(2)计算的近似值比(1)的误差小.


误差的来源1.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:园林木亭子施工方案 - secret

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: