资源描述:
《【精品】数值分析复习精要.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第一章主程序:main()floatj,n;floatSn=0;printf(uenterthenumbern:n);scanf(u%fn,&n);for(j=2;j<=n;j++)Sn=Sn+l/(j*j-l);printf(MSn=%fn,Sn);}运行结果:caC:WINDOWSsystem32cmd.exeenterthenumbern:100Sn=0.740049enterthenumbern:10000Sn=0.749852enterthenunbern=1000000Sn=0.749852体会:通过本上机题,我明白了有效位数对计算结果的
2、影响,有效位数越多所得结果就越精确,但同时计算量也会加大,因此应根据具体情况,合理的选择有效数的位数。第二章通用程序:main(){floatx0=给定值;float给定误差;floata,b=xO,t;do{a=b-f(b)*f(b)/(f(b)-f(b-f(b)));t=b;b=a;}while(abs(a-t)>e);printf(H%fM,a);主程序:main(){floata=0;doa=a+0.0000001;while(a-(a*a*a/3-a)/(a*a-l)>-l);printf(M%.8fu,a);}运行结果:体会:通过该上机题,
3、我对牛顿迭代法的收敛性问题有了更清楚的认识,初值的选择很重要,当初值选择不当时,迭代所得到的根有可能不是所期望的。第三章35题主程序:main(){doubler[9][10]={{31,・13,0,0,0,・l(M),0,0,・15},{•13,35,・9,0,・11,0,0,0,0,27},{0,・9,31,・10,0,0,0,0,0,・23},{0,0,・10,79,・30,0,0,0,・9,0},{0,0,0,・30,57,・7,0,・5,0,・20},{0,0,0,0,・7,47,・30,0,0,12},{0,0,0,0,0,-30,41,0,0,-
4、7},{0,0,0,0,-5,0,0,27,-2,7},{0,0,0,・9,0,0,0,・2,29,10}};doublea[9][10]={31,-13,0,0,0,-10,0,0,0,・15};intm,i,j,n,p;doubleb[10]={0,0,0,0,0,0,0,0,0,0},x[9]={0,0,0,0,0,0,0,0,0},y,z=l;for(m=0;m<=7;m++)for(i=m+l;i<=8;i++){for(j=m;j<=9;j++)a[i][j]=r[i][j]+(-r[i][iii]/r[in][in])*r[m][j];{r[i]
5、[0]=a[i][0];r[i][l]=a[i][l];r[i][2]=a[i][2];r[i][3]=a[i][3];r[i][4]=a[i][4];r[i][5]=a[i][5];r[i][6]=a[i][6];r[i][7]=a[i][7];r[i][8]=a[i][8];r[i][9]=a[i][9];}for(y=8;y>=0;y-)x[y]=(a[y][9]-a[y][8]*b[l]-a[y][7]*b[2]-a[y][6]*b[3]-a[y][5]*b[4].a[y][4]*b[5]-a[y][3]*b[6]-a[y][2]*b[7]-a[y][
6、l]*b[8])/a[y][y];b[z]=x[y];z++;for(z=l;z<=9;z++)printf(M%.5fn,b[z]);运行结果:貢C:HBD0fSsysteB32cBd.exe0.290230.20105-0.057820.15431-0.43040-0.22061-0.712810.34544-0.28923体会:这个程序的调试我用了很长的时间,一开始怎么也找不出运行错误的原因。经过仔细的检查,发现在对矩阵进行消元的时候没有注意到矩阵里经过消元的元素已经发生变化,所以导致程序最后的运行结果错误。该程序中用到了二维数组及多重循环的嵌
7、套,应注意在多重循环嵌套时,for语句只执行紧跟在其后的那条语句。所以在for语句后面要执行多条语句时一定要用大括号括起来。36题通用程序:main(){floata[][]=H增广矩阵”;floate=”给定误差限”;floatxl,x2,t;do{x2=Sw*xl+Fw;t=xl;xl=x2;}while(abs(xl-t)>e);printf(M%rxl);}主程序:main(){floatwl=0;floata[9][10]={{31,-13,0,0A-10A0?0,-15},{•13,35,・9,0,・ll,0,0,0,0,27},{0,・9,31
8、,・10,0,0,0,0,0,・23}