1、1数值分析实验报告实验名称 不同方案收敛速度的比较 实验时间 13 年 10 月 9 日姓名 班级 学号 成绩一、 实验目的1通过实验体会数值计算中算法选择的重要地位。2了解数值计算方法的必要性。3体会数值计算的收敛性与收敛速度。二、 实验内容三种求2 的算法比较三、算法描述方案一:利用级数 ,1)(.4312lnkk设 ,nkS1)(则 nS2l方案二:对上述 ,kkn1)(按 )3,4(n 2)s(21nnSs生成新数列 ,则nnsl方案三:利用级数 1432 221k设 ,则nkS1nSl四、程序流程图由于实验方案明显、简单,实现步骤及流程图省略。五、实验结果计算结果如下:运算可知 ln
2、2= 0.693147180559945由方案一利用 matlab 编辑,可以得到运算结果为: S = 0.693142180584982 k = 100001由方案二利用 matlab 编辑,可以得到运算结果为: S = 0.693142318482358 n =31由方案三可以得到运算结果为:S = 0.693143340085479 k =15六、实验结果分析由方案一可以知道当 k=100001 时,S 和 ln2 的误差计算可知:|S-ln2|=24.999974963726395e-06 ,是在误差允许的范围内得到的一个相对准确的结果,S =51020.693142180584982
3、,通过循环得到的结果可知,k=100001,相对循环的次数很多,说明它收敛的速度很慢,相对较耗费时间,工程量比较大!由方案二可知 n=31 时,S 和 ln2 的误差计算可知:|S-ln2|= 4.862077586875735e-06,也是在误差允许的范围内通过运用方案二得到的计算结果,S =51020.693142318482358,由这个循环得到的结果可知,n=31,由于是从 3 开始的,也即是循环的次数为(31-3)=28,较方案一来说,运算次数大量减少,说明它的收敛速度较快,耗时很少,便于平常的运算和实验操作!由方案三可知 n=15 时,S 和 ln2 的误差计算可知:|S-ln2|
4、= 3.840474466665356e-06,也是在误差允许的范围内得到的结果,S= 0.693143340085479,这个循环的次数为方案一的5102一半左右,而且误差也是相对方案一和二来说比较小,次数为 15 反映出它的收敛速度很快,有可操作性!综合比较上面三种方案,针对方案一,对于渐进式的选择和舍入误差使得收敛速度变慢,运算量增加;而方案二,每次运算的 Sn,Sn-1,Sn-2 都会在计算机内自己舍入误差,使得运算的 结果都不是在精ns确值的条件下运行的,由于这些误差会影响收敛速度;对于方案三,由于渐进式的选择,使得运算的结果较为接近 ln2,而且这个运算式的舍入过程很少,所以由于舍
5、入误差引起的误差也较少。综上所述可以发现,一个渐进式即算法的选择对于一个计算过程很重要,误差估计和递推计算的稳定性都会直接影响运算结果。选择好的算法不仅可以在时间上,也可以在复杂程度上缩小工作量,进而得到一个相对准确的数值。教 师 评 语指导教师: 年 月 日3数值分析上机实验原始记录实验名称:不同方案收敛速度的比较 实验时间: 2013 年 10 月 9 日姓名: 学号: 班级: %方案一S=0;s=0;k=1;while abs(S-log(2)=1/2*10e-6s=(-1)(k-1)/k;S=S+s;k=k+1;endS kS =0.693142180584982k =100001 %
6、方案二S=0;s=0;n=3;while abs(S-log(2)=0.5*10(-5)A=0;B=0;C=0; for i=1:ns=(-1)(i-1)/i;A=A+s;i=i+1;ends; A;for j=1:(n-1)s=(-1)(j-1)/j;B=B+s;j=j+1;ends;B;for k=1:(n-2)s=(-1)(k-1)/k;C=C+s;k=k+1;ends; C;S=A-(A-B)2/(A-2*B+C);n=n+1;endS;n; SS =0.693142318482358 nn =314%方案三S=0;s=0;k=1;while abs(S-log(2)=1/2*10e-6s=1/(k*2k);S=S+s;k=k+1;endSkS =0.693143340085479k =15指导教师: 年 月 日