资源描述:
《数值分析与实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、数值分析与实验论文关键词:列主元高斯消去法雅可比法高斯-赛德尔迭代法幂法论文骛摘要:本文通过实例对线性质方程组数值解法和矩阵的特征值及特向量的计算进行了睿探讨。在对线性方程组数值芑解法的讨论下用到了列主元镑高斯消去法、雅可比法和高诗斯-赛德尔迭代法。正是高舌斯消去法在消元时存在一些必须的条件,才启发我们通枨过列主元高斯消去法来对线性方程组数值解法作进一步峨的研究,达到了很好的的效凡果。同时用雅可比法和高斯诺-赛德尔迭代法对相类似的裼问题的探讨来比较它们的优獭劣,使我们在分析问题时能状更好的把握方法。在求矩阵瞌按模最
2、大的特征值及对应特瘫征向量时,本文用到了幂法氯,可以使现实中很多复杂的计算简单。第一章:线孓性方程组数值解法实验±目的熟悉求解线性方程□组的有关理论和方法;会编濉制列主元消去法,雅可比及毕高斯-赛德尔迭代法的程序23/23;通过实际计算,进一步了襦解各种方法的优缺点,选择焕合适的数值方法。实验菲内容列主元高斯消去法愕求解线形方程组;雅可踞比法和高斯-赛德尔迭代法隍解方程组;题目:列主メ元高斯消去法求解线形方程劬组方程组为:列主元高斯消去法算法将方款程用增广矩阵表示1)我消元过程对k=1,2褒,….,n-123/23
3、1选主元,找使得2如果则矩阵a奇异,程序结束;否则赠执行33如果则交换第逋k行与第行对应元素位置,囤j=k,…,n+14徒消元,对i=k+1,…,赡n计算对j=k+1,…,愕n+1计算2)回代过鋈程1若则矩阵a奇异,祜程序结束;否则执行2メ2;对i=n-1,…2,嫡1计算#incl骼ude#includ咱e23/23voidcolpi艚vot(float*c,intn,floatx[昧]){inti,j,t,k;floatp赠;for(i=0;i鼯{k=i;for(j蓉=i+1;jif(fab升s(*(c+j*(
4、n+1槲)+i))>(fabs(镉*(c+k*(n+1)+i))))k=j;i调f(k!=i)for颏(j=i;j{p=*茌(c+i*(n+1)+j音);*(c+i*(n嫒+1)+j)=*(c+kㄘ*(n+1)+j);23/23*(c+k*(n+1)+屿j)=p;}foペr(j=i+1;j{钨p=(*(c+j*(n+肆1)+i))/(*(c+i*(n+1)+i));肢for(t=i;t}脚}for(i=n骟-1;i>=0;i--){for(j=n-1;j>=i+1;j--哥)(*(c+i*(n+1)+n))-=
5、x[j舌]*(*(c+i*(n+盔1)+j));23/23x[i]=*(c+i*(n+1赫)+n)/(*(c+i*鲠(n+1)+i));衔}}void〖main(){v葭oidcolpivot(膪float*,int,f瘛loat[]);in拶ti;floatx[逐4];floatc[奋4][5]={1,-1,旃2,-1,-8,2,-2夭,3,-3,-20,1,诟23/231,1,0,-2,1,-志1,4,3,4,};ゼcolpivot(c[0裾],4,x);for走(i=0;i}输出结堞果结果分析从愆输出结果可以得到
6、=-,=溥,=,=从结果和过程可以知道这种方法一般芽能保证舍入误差不扩散,这豚个方法基本上是稳定的。LocalHOST23/23寰题目雅可比法解方程组拽方程组为:雅可比迭代整法算法设方程组ax=呵b的系数矩阵的对角线元素见,m为迭代次数容许的最大揿值为容许误差。1取初澹始向量令k=0.2对雨i=1,2,…,n计尾算3如果则输出结果;否则执行44如果则不阙收敛,终止程序;否则,转等223/23程序#in耋clude#incl攘ude#define岢eps1e-6#de酽finemax100墩voidjacobi(f黎
7、loat*a,intn,嗒floatx[]){inti,j,k=0;辇floatepsil朐on,s;23/23float*y=newfloat[がn];for(i=0ぢ;iwhile(1)岸{epsilon=0惮;k++;for(i=0;i{s=0谐;for(j=0;j迮{if(j==i)cдontinue;s+瘤=*(a+i*(n+1)骀+j)*x[j];23/23}хy[i]=(*(a+块i*(n+1)+n)-s监)/(*(a+i*(n+~1)+i));eps疸ilon+=fabs(y搐[i]-x[i]);性}
8、for(i=0;i鲈if(epsilon{p什rintf("dieda躔icishuwei:%d萎",k);retur撞n;}if(k>=m勤ax){printf("diedaifasan");return;}}deletey;醮23/23}voidmai诵n(){sinti;floata[4翦][5]={