《计算方法上机答案》由会员分享,可在线阅读,更多相关《计算方法上机答案(17页珍藏版)》请在金锄头文库上搜索。
1、键入文字键入文字键入文字 键入文字键入文字键入文字 上海电力学院 数值分析上机实验报告题 目: 数值分析上机实验报告 学生姓名: 11111111111 学 号: 111111111111111 专 业: 1111 2013年 12月 30日键入文字键入文字键入文字 键入文字键入文字键入文字 数值计算方法上机实习题 1设 , 1 0 5 dx x x I n n (1) 由递推公式 ,从 的几个近似值出发,计算 ; n I I n n 1 5 1 0 I 20 I (2) 粗糙估计 ,用 ,计算 ; 20 I n I I n n 5 1 5 1 1 0 I (3) 分析结果的可靠性及产生此现象
2、的原因(重点分析原因)。 (1)解答:n=0, 0.1823 ) 0 5 ln( ) 1 5 ln( ) 5 ( 5 1 5 1 5 1 0 1 0 1 0 x d x dx x dx x x I n n 这里可以用 for循环,while 循环,根据个人喜好与习惯: for循环程序: While 循环程序: I=0.1823; I=0.1823; for n=1:20 i=1;I=(-5)*I+1/n; while i I I20=-2055816073.851284 I = -2.0558e+009 (2)粗略估计 I 20 : Mathcad 计算结果: for 循环程序: While
3、循环程序: I=0.007998; I=0.007998; for n=1:20 n=1; I=(-0.2)*I+1/(5*n); while n I n=n+1; I =0.0083 end I I =0.0083 (3)算法误差分析: 计算在递推过程中传递截断误差和舍入误差 第一种算法:(从 120)* 0 0 0 e I I * * * 2 1 1 1 1 1 2 0 1 1 5 ( 5 ) 5( ) 5 5 5 n n n n n n n n n n e I I I I I I e e e n n 0 1 x x 20 5 x d 7.998 10 3 键入文字键入文字键入文字 键入文
4、字键入文字键入文字 误差放大了 5 n 倍,算法稳定性很不好; 第二种算法:(从 201) * n n n e I I * * * 1 1 1 1 1 1 1 1 1 ( ) ( ) 5 5 5 5 5 5 n n n n n n n n e I I I I I I e n n 0 1 1 1 . ( ) 5 5 n n e e e 误差在逐步缩小,算法趋近稳定,收敛。 2求方程 的近似根,要求 ,并比较计算量。 0 2 10 x e x 4 1 10 5 k k x x (1) 在0,1上用二分法; function t i=erfenfa(a,b) f=(x)( exp(x)+10*x-2
5、) t=(a+b)./2; i=0; while abs(f(t)0.001if f(a)*f(t) 5*10(-4) p(m+1)=func(x(m);q(m+1)=func(p(m+1); x(m+1)=q(m+1)-(q(m+1)-p(m+1)2)./(q(m+1)-2*p(m+1)+x(m); wucha=abs(x(m+1)-x(m); m=m+1; if m1000break;endendformat longy=x(m-1);m=m-1; 运行结果y =0.090483741803596 m =2 (4) 取初值 ,并用牛顿迭代法; 0 0 x function x=newton
6、diedai(x0) x=x0; for i=1:100 y=x-(exp(x)+10*x-2)./(exp(x)+10);x=y; y=x-(exp(x)+10*x-2)./(exp(x)+10); if abs(x-y) solve(exp(x)+10*x-2=0)ans = -lambertw(1/10*exp(1/5)+1/5 format long -lambertw(1/10*exp(1/5)+1/5 ans =0.09052510130725 小结: 所以我们可以看到,在要求同一运算精度的情况下,采用二分法运算了 11次,采用题 设的迭代方法运算了 6次,采用加速迭代法只运算了
7、2次,采用牛顿迭代法需运算 2次。 也就是说加速迭代速度都是超线性收敛的,而简单迭代法是线性收敛的。而二分法收敛速 度较慢,所以在工程上不经常使用。 3钢水包使用次数多以后,钢包的容积增大,数据如下: x 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 y 6.42 8.2 9.58 9.5 9.7 10 9.93 9.99 10.49 10.59 10.60 10.8 10.6 10.9 10.76 试从中找出使用次数和容积之间的关系,计算均方差。 (注:增速减少,用何种模型) 解答:因为不知道其函数形式,可先 plot 而后确定使用哪种模型比较合适。 函数图形程序
8、: x=2 3 4 5 6 7 8 9 10 11 12 13 14 15 16; y=6.42 8.2 9.58 9.5 9.7 10 9.93 9.99 10.49 10.59 10.6 10.8 10.6 10.9 10.76; plot(x,y, b*) 与指数函数趋势类似(但是趋势不同,一个趋于递减,一个趋于递增,使用倒数) ,故拟合 模型为: b x y ae 两边同时取对数: ln ln b y a x 用此模型进行数据拟合: 1 ,ln n n y x x=2 3 4 5 6 7 8 9 10 11 12 13 14 15 16; y=6.42 8.2 9.58 9.5 9.7
9、 10 9.93 9.99 10.49 10.59 10.6 10.8 10.6 10.9 10.76; t=1./x; s=polyfit(t,log(y),1) s =键入文字键入文字键入文字 键入文字键入文字键入文字-1.1107 2.4578 即是: 2.4578 11.679 a e 1.1107 b 最终拟合曲线为: 1.1107 11.679 x y e 将此拟合曲线和源数据进行对比: 主程序: x=2 3 4 5 6 7 8 9 10 11 12 13 14 15 16; y=6.42 8.2 9.58 9.5 9.7 10 9.93 9.99 10.49 10.59 10.6
10、 10.8 10.6 10.9 10.76; plot(x,y,ro) hold on lims1=2,16; fplot(11.679*exp(-1.1107/x),lims1) hold off 均方差的求解 x=2:16; y=6.42 8.2 9.58 9.5 9.7 10 9.93 9.99 10.49 10.59 10.60 10.8 10.6 10.9 10.76; f(x)=11.679*exp(-1.1107./x); c=0; for i=1:15a=y(i);b=x(i);c=c+(a-f(b)2; end键入文字键入文字键入文字 键入文字键入文字键入文字 averge=
11、c/15 averge = sqrt(averge)0.2438 4设 , , 4 1 0 1 0 0 1 4 1 0 1 0 0 1 4 1 0 1 1 0 1 4 1 0 0 1 0 1 4 1 0 0 1 0 1 4 A 6 2 5 2 5 0 b b x A 分析下列迭代法的收敛性,并求 的近似解及相应的迭代次数。 4 2 1 10 k k x x 1) JACOBI迭代; 2) GAUSS-SEIDEL迭代; 3) SOR迭代( ) 。 95 . 0 , 95 . 1 , 334 . 1 解答: (1) JACOBI 迭代; 定义函数。 function tx=jacobi(A,b,imax,x0,tol) %jacobi 迭代 %初始值 x0,次数 imax,精度 tol del=10-10; tx=x0;n=length(x0); for i=1:ndg=A(i,i);if abs(dg)deldisp(对角元太小);returnend end for k=1:imax %jacobi 循环for i=1:nsm=b(i);for j=1:nif j=ism=sm-A(i,j)*x0(j);endendx(i)=sm/A(i,i);endtx=tx;x;if norm(x-x0)tolreturnelsex0=x;