当前位置:文档之家› 数值计算方法实验报告(一)算法的数值稳定性实验

数值计算方法实验报告(一)算法的数值稳定性实验

*
1 * * | En | ,E0 n!
* * * 比 En 缩小了 n!倍,因此,尽管 E9 较大,但由于误差逐步缩小,故可用 I n 近似 I n 。反之,当用方案(A)计
算时,尽管初值 I 0 相当准确,由于误差传播是逐步扩大的,因而计算结果不可靠。此例说明,数值不稳定的
算法是不能使用的。
五、教师评语(或成绩)
教师签字 : 2013 年 月 日
3Leabharlann 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
0.1709 0.1455 0.1268 0.1124 0.1009 0.0916 0.0839 0.0774 0.0718 0.0669 0.0627 0.0590 0.0555 0.0572 -0.0295 1.5596
* 1 1 e1 I9 0.0684, 2 10 10 1 * * I n 1 n 1 I n , (n 1).
进行计算。
n=0,1,2……,9
算法一的程序如下:
function [y,n] =myfun() y_0=0.6321; n=1; y(1)=y_0; for i=2:10 y(i)=1-(i-1)*y(i-1); n=n+1; end n
三、实验内容及要求:
1.用 Matlab 语言编写按递推公式
I e1 1 e x dx 1 e1 , 0 0 I n 1 nI n1 , n 1, 2,.
计算 I n e
1
x e dx (n=0,1,2,……)的程序,并取 I =0.6321,计算 n=0,1,2,…,9 时 I 的值。
数值分析实验报告
姓 名 学 号 系 别 数学系 班级 专业 无 主讲教师 课程名称 指导教师 数值计算方法 实验日期 同组实验者
一、实验名称:
实验一、算法的数值稳定性实验
二、实验目的:
1.进行 Matlab 语言的编程训练,初步体验算法的软件实现; 2.通过对稳定算法和不稳定算法的结果分析、比较,深入理解算法的数值稳定性及其重要性。
n x 0
1
3.分析比较两种算法的数值稳定性。
三、实验步骤(或记录)
(一) 、算法描述 由于 y(n)= I n 算法一: 由积分估值得:
e 1 x n e x dx ,要运用下面两种算法进行计算。
0
1
.
1 1 e 1 1 e 1 min e x x n d x I n e 1 max e x x n d x 0 0 n 1 n 1 0 x 1 0 x1
0.1709 0.1455 0.1268 0.1124 0.1009 0.0916 0.0839 0.0774 0.0718 0.0669 0.0627 0.0590 0.0557 0.0527 0.0508 0.0342
四、实验总结:
4 * * * 计算结果见表 1 的 I n 列。 我们发现 I0 与 I 0 的误差不超过 10 。 En I n I n , | E0 | 记 * 则
取 y(0)=0.6321 时,运用递推公式为:
y(0) 0.6321 y(n 1) 1 (n 1) y(n)
n 0,1,2,,9
1
进行计算。 算法二: 取 n=9 时,得:
e 1 1 y (9) 10 10
所以 y(9)=0.0684 时,运用递推公式为:
n x 0
0 n
1
2. 用 Matlab 语言编写按递推公式
* 1 1 e1 I9 0.0684, 2 10 10 1 * * I n 1 n 1 I n , (n 1).
计算 I n e
1
x e dx (n=0,1,2,……,9)的值程序。
算法二的程序如下:
function [ y,n ] = Myfun_2() syms k y_9; y=zeros(10,1); n=1; y_9=0.6321; y(8)=y_9; for i=10:-1:2 y(i-1)=1/i*(1-y(i)); n=n+1; end end
表 1 计算结果 n 0 1 2 3 第 1 种算法 0.6321 0.3679 0.2642 0.2073 2 第 2 种算法 0.6321 0.3679 0.2642 0.2073
相关主题