误差传播与算法稳定性实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数值分析》实验分析报告

姓名:

学号: S********

日期: 2016.10.15

班级: 1602

一、实验名称

误差传播与算法稳定性 二、实验目的

体会稳定性在选择算法中的地位。误差扩张的算法是不稳定的,是我们所不期望的;误差衰竭的算法是稳定的,是我们努力寻求的,这是贯穿本课程的目标。 三、实验内容

计算 1,2,n ,11

0==-⎰dx e x E x n n

四、算法描述

1,2,n ,11

0==-⎰dx e x E x n n

利用分部积分可得:

,3,2,1111111

1101

101010=-=-=⎪⎪⎭

⎫ ⎝⎛-===---⎰⎰⎰⎰n nE dx x e e n dx x e n e x e de x e dx e x e E n n x n x x n x n x n n 可得递推公式为:

1、 2,3,,1n ,)1(11=+-=+n n E n E

2、,3,22,-N 1,-N n ,1

11

=+-=

+n E E n n 下面分别以1,2递推关系求解 方案一:

2,3,,1n ,)1(11=+-=+n n E n E

当1=n 时 0.367879 1

111

001≈=-==⎰e

dx x e e E x (保留六位有效数字)

⎩⎨

⎧=-=-0.367879111

E nE E n n ,3,2=n 方案二;

,3,22,-N 1,-N n ,1

11

=+-=

+n E E n n

当)1,0(∈x 时,n x n n

x e x e

x <<1-,

1n 1

)1(1101

0101++⇒∴⎰⎰⎰-<

<<<n n x n n E n e dx x dx e x dx e x 当∞→n 时,0→n E 这里取20=n

0.0325685 421]211211[2120≈+=+≈⇒e

e e E (保留六位有效数字)

⎪⎩⎪⎨⎧

≈-=

-0.0325685

1201E n

E E n n ,3,2,19,20n = 五、程序流程图

由于实验方案明显、简单,实现步骤及流程图省略。 六、实验结果 计算结果如表1-1:

1-1 计算结果表

n

n E

*

n E

1 0.367879 0.367879

2 0.264241 0.264241

3 0.207277 0.207277

4 0.170893 0.170893

5 0.145533 0.145533

6 0.126802 0.126802

7 0.112384 0.112384

8 0.100932 0.100932

9 0.0916120 0.0916123 10 0.0838770 0.0838771 11 0.0773520 0.0773522 12

0.0717750

0.0717733

13 0.0669280 0.0669477 14 0.0630020 0.0627322 15 0.0549687 0.0590175 16 0.120500 0.0557192 17 -1.048507 0.052773 18 19.873122 0.0500857 19 -376.589316 0.0483716 20

7532.79

0.0325685

七、实验结果分析

1、通过表1-1可以看出,算法一在前15项中迭代值基本保持一致,但是从16项开始就有了较大的差别。

同时:

0)(0)(≥⇒≥⎰dx x f x f

又当)1,0(∈x 时,01

≥⎰dx e x x n 恒成立。

但是算法一中当n=17、19时明显不满足。

∴算法二相比较于算法一在目前的迭代次数下比较精确。

2、设算法一中1E 的计算误差为e 1,由1E 递推计算到n E 的误差为e n ;算法二中N E 的计算误差为N ε,由N E 向前递推计算到n E (N n <)的误差为n ε。

设算法一中的精确值为n E α,计算值为n E ;算法二中的精确值为β

*n E ,计算值为*

n E

根据题设可得: 算法一:

1112222)21(21e E E E E e -=---=-=∂

α

递推可得:

2,1≥-=-n ne e n n

()11

!1e n e n n --=∴

同理可得:n N N

N n ≥-

=,1

εε N n

N n N n εε!

!)1(--=∴ 3、根据算法一的公式可得:

当∞→n 时,∞→n e ,由此可见最后的结果误差不仅仅取决于初始值的误差,还会随着递推公式的不断运行,误差在不断的增大。

当∞→N 时,0→n ε,由此可见最后的结果误差不仅仅取决于初始值的误差,还会随着递推公式的不断运行,误差在不断的减小。

4、通过前三问,可以发现算法二比算法一更加稳定。 八、附录(程序) 算法一:

function ek= jifeng(e0,n ) e(1)=vpa(e0,6); B=zeros(n,2); B(:,1)=1:n; for i=1:n

e(i+1)=1-(i+1)*e(i) ; ek=e(i+1);

B(i,2)=vpa(ek,6); end

xlswrite('算法一',B,'sheet1') 算法二:

function [i,ek] = jifeng1( e0,n ) e(n+1)=e0; B=zeros(n,2); B(:,1)=1:n; for i=n:-1:1

e(i)=(1-e(i+1))/(i+1);

相关文档
最新文档