文档库 最新最全的文档下载
当前位置:文档库 › 实验一用递推公式计算定积分

实验一用递推公式计算定积分

实验一用递推公式计算定积分
实验一用递推公式计算定积分

实验一 用递推公式计算定积分

09信息 符文飞 07

1、实验目的:

由于一个算法是否稳定,十分重要。如果算法不稳定,则数值计算的结果就会严重背离数学模型的真实结果,因此,在选择数值计算公式来进行近似计算时,我们应特别注意选用那些在数值计算过程中不会导致误差迅速增长的公式。体会稳定性在选择算法中的地位.误差扩张的算法是不稳定的,是我们所不期望的;误差衰竭的算法是稳定的.是我们努力寻求的,这是贯穿本课程的目标.通过上机计算,了解舍入误差所引起的数值不稳定性。

2、实验题目:

对n =0,1,2,…,20,计算定积分dx x x y n n ?+=10

5

3、实验原理

由于y(n)= = –

在计算时有两种迭代方法,如下:

方法一: y(n)= – 5*y(n-1),n=1,2,3, (20)

取y(0)= = ln6-ln5 ≈ 0.182322

方法二:

利用递推公式:y(n-1)=-*y(n),n=20,19, (1)

而且,由 = * ≤≤* =

可取:y(20)≈*()≈0.008730.

4、实验内容:

算法1的程序:

y0=log(6.0)-log(5.0);

y1=0;

n=1;

while n<=30

y1=1/n-5*y0;

fprintf('y[%d]=%-20f',n,y1);

y0=y1;

n=n+1;

if mod(n,1)==0;

fprintf('\n')

end

end

算法2的程序:

y0=(1/105+1/126)/2;

y1=0;

n=1;

while n<=30

y1=1/(5*n)-y0/5;

fprintf('y[%d]=%-20f',n,y1)

y0=y1;

n=n+1;

if mod(n,1)==0

fprintf('\n')

end

end

5、实验结果

对于算法1:

y[1]=0.088392

y[2]=0.058039

y[3]=0.043139

y[4]=0.034306

y[5]=0.028468

y[6]=0.024325

y[7]=0.021233

y[8]=0.018837

y[9]=0.016926

相关文档