数值分析上机实验报告 下载本文

内容发布更新时间 : 2024/12/27 5:06:37星期一 下面是文章的全部内容请认真阅读。

值 分 析 上 机 实 验

理学院 11级统计01班 41108030125

鲁庆

实验报告一

一.实验名称

误差与误差估计

二.实验目的

掌握数值运算的误差估计方法

三.数学原理 1.绝对误差e(x*)

设某一量的准确值为x,近似值为x*,则x*与x之差叫做近似值x*的绝对误差(简称误差),记为e*?e(x*)?x*?x 2.绝对误差限

适当小的正数,使|e(x*)|?|x*?x|??*则称?*为近似值 x* 的绝对误差限。(有时用

x?x??*表示近似值x*的精度或准确值的所在范围。

?3.相对误差er(x*)

绝对误差与准确值之比er?er(x*)?误差。

4.相对误差限?r(x*)

若指定一个适当小的正数 ?r(x*),使|er(x*)|?的相对误差限。

5.有效数字

若近似值x*的绝对误差限是某一位的半个单位,该位到x*的第一位非零数字一共有n位,则称近似值x*有n位有效数字,或说x*精确到该位。 6.绝对误差的运算:

*e(x*)x*?x?,x?0称为x*的相对 xx|e(x*)|??(r*)x则称?r(x*)为近似值 x*|x|?(x1?x2)??(x1)??(x2) ?(x1x2)?x1?(x2)?x2?(x1)

?(x??(x?)?x??(x?)x?)? ?x?x? ?(f(x))?f?(x)?(x)

四.实验内容

1. 计算

I=e?0xn-11nexdx (n=0,1,...)并估计误差。

2解: >> I0 = exp(-1)*quad('(x.^0).*exp(x.^2)',0,1,10^(-10));

>> vpa(I0,10) ans =

.5380795069

>> I1= exp(-1)*quad('(x.^1).*exp(x.^2)',0,1,10^(-10)); >> vpa(I1,10) ans =

.3160602794

>> I2 = exp(-1)*quad('(x.^2).*exp(x.^2)',0,1,10^(-10)); >> vpa(I2,10) ans =

.2309602465

>> I3 = exp(-1)*quad('(x.^3).*exp(x.^2)',0,1,10^(-10)); >> vpa(I3,10) ans =

.1839397206

>> I4 = exp(-1)*quad('(x.^4).*exp(x.^2)',0,1,10^(-10)); >> vpa(I4,10) ans =

.1535596302

>> I5 = exp(-1)*quad('(x.^5).*exp(x.^2)',0,1,10^(-10)); >> vpa(I5,10) ans =

.1321205588

>> I6 = exp(-1)*quad('(x.^6).*exp(x.^2)',0,1,10^(-10)); >> vpa(I6,10) ans =

.1161009245

>> I7 = exp(-1)*quad('(x.^7).*exp(x.^2)',0,1,10^(-10)); >> vpa(I7,10) ans =

.1036383235

>> I8 = exp(-1)*quad('(x.^8).*exp(x.^2)',0,1,10^(-10)); >> vpa(I8,10) ans =

.9364676413e-1

>> I9 = exp(-1)*quad('(x.^9).*exp(x.^2)',0,1,10^(-10)); >> vpa(I9,10) ans =

.8544670595e-1 2.计算

x255的值。如果逐个相乘用254次乘法,但若写成

2x255=X.X.X.X.X.X.X.Xnn?148163264128,只要做14次乘法运算即可。有如计算多

k项式

pn(x)?anx?an?1x?...?a1?a0的值时,若直接计算akx再逐项相加,一共

需做n+(n-1)+...+2+1=n(n?1)次乘法和n2s?a,?xs?as次加法。若采用秦九韶法

p(x)?snknk?1n0nk,(k=n-1,n-2,...,0),只要n次乘法和n次加法就可算出

p?x?的值。若

an?2an?1?3,a0?5,求(1)

p?x?,x?0.5,(2)p?x?,x?13.

100150解:function q=qjs(n,x) a(1)=5; for i=1:n+1

a(i+1)=2.*a(i)+3; end

s1=a(n+1); for j=1:n

s=x*s1+a(n+1-j); s1=s; end q=s; end

>> qjs (100,0.5) ans = 802

>> qjs (150,13) ans =

1.4660e+213

3.设Y0?28,按递推公式Yn?Yn?1?计算到Y100,

1783 (n=1,2,…) 100Y500。若取783?27.982(5位有效数字),试问计算Y100,

Y500将有多大

误差?

11001 ?Y100?Y99?1001 Y99?Y98?1001 Y98?Y97?100解:?Yn?Yn?1? ...... Y1?Y0?783 783 783 783 1783 100依次代入后,有Y100?Y0?100?即Y100?Y0?783,

1783 100若取783?27.982, ?Y100?Y0?27.982

1*??(Y100)??(Y0)??(27.982)??10?3

21?Y100的误差限为?10?3。

21783,即Y500=Y0-5x783,若取783?27.982, 所以同理,Y500=Y0-500X1001?2=-139.91 ,所以的误差限为X. 10Y500Y0Y5002