内容包括:
实验题目1:算法的数值稳定性实验
实验题目2:LU分解实验
实验题目3:三次样条插值外推样条实验
实验题目4:第二类Fredholm 积分方程实验实验题目5:M级显式R_K法
实验题目:算法的数值稳定性实验
实验内容:计算积分()1
0()d 1515n
x I n x a x
==+⎰ (n=1,2,…,20) 易得到下面递推公式
()()1
1I n aI n n
=--+
并有估计式
()()
()()
1
1
111I n a n a n <<
+++
计算方法:
算法一:采用下面递推公式计算:
()()1
1I n aI n n =--+
()1,2,,20
n = 取初值()116
0ln ln 15a I a +==
算法二: 采用下面递推公式计算:
()()111I n I n a n ⎡⎤-=
-+⎢⎥⎣⎦
()20,19,,1
n =
结果分析:(分析哪个好哪个不好,原因是什么) 我觉得算法二比较好, 原因一:根据式
()()
()()
1
1
111I n a n a n <<
+++得知,I(n)不可能小于
零,而算法一的计算结果有部分结果小于零。
原因二:对算法一记初始误差
ε0=/I 0-I(0)/>0;
则εn =/I n -I(n)/=a/I n-1-I(n-1)/=a n
*ε0
由此可知,当n=20时, ε20把ε0放大了a 20倍,其结果造成严重的。
而对于算法二^
^
11n n a εε-=
,…, ^
^
01
n n a
εε=,尽管有初始误差^
20ε,但随着计算的进程,这个误差的影响不断减小。
附:源程序:(把源程序附上) 算法一程序: >> format long
>> a=15;I=log(16/15); for n=1:20 n
I=-a*I+1/n end
算法二程序: >> format long
>> a=15;I=31/10080; >> for n=20:-1:1 n I
I=1/a*(-I+1/n); End。