资源描述:
《数值分析大作业1》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、数值分析大作业第一题1、算法设计方案:(1)将501X501阶矩阵A中所有非零元素存储在5X501阶矩阵C中;(2)任取非零向量501X1向量u;(3)求绝对值最大的特征值:K“、2......n;y[k-l]=u[k-l]/sqrt(u[k-l]T*u[k-l]);u[k]=C*y[k-l];F[k]=y[k-l]T*u[k];When
2、F[k]-F[k-l]
3、/F[k]<10e(-12);t=F[k];(4)求相对特征值:Dl=A-t*E;K=l>2......n;y[k-l]=u[k-l]/sqrt(u[k
4、-l]T*u[k-l]);u[k]=Dl*y[k-l];F[k]=y[k-l]T*u[k];s=(F[k]-F[k-l])/F[k]Whenabs(s)<10e(-12);tl=F[k);T=t+tl;(5)比较t与T大小即可找到最小的和最大的特征值如泊、tmaxo(6)求绝对值最小的特征值:K=l>2......n;y[k-l]=u[k-l]/sqrt(u[k-l]T*u[k-l]);解方程A*u[k]=y[k-l];F[k]=y[k-l]T*u[k];When
5、F[k]-F[k-l]
6、/F[k]<10e(-1
7、2);min
8、t
9、=l/F[k](7)求与uk最接近的t[i]:曰、2......39;K=l>2......n;D2=A-(tmin+i(tmax-tmin)/40)*E;y[k-l]=u[k-l]/sqrt(u[k-l]T*u[k-l]);解方程D2*u[k]=y[k-l];F[k]=y[k-l]T*u[k];When
10、F[k]-F[k-l]
11、/F[k]<10e(-12);T[i]k=l/F[k]+tmin+i(tmax-tmin)/40(8)cond(A)2=abs(t/t[i]);(9)对矩阵进行dool
12、ittle分解,所得U矩阵对角线乘积即是矩阵A的行列式的值。2、源程序:#includc“StdAfx.h”#include#include#includeusingnamespacestd;doublemax(doublex,doubley);doublemin(doublex,doubley);intmax3(intxjnty,intz);voiddoolitc(doublcc[5][501],doublex[501],doubleb[501]);doub
13、lemifa(doubleu[501],doublec[5][501]);doublefanmifa(doubleu[501],doublec[5][501]);//比较大小函数doublemax(doublcx,doubley){doublez;z=x>y?x:y;returnz;}intmax3(intx,inty,intz){inttl,t;tl=x>=y?x:y;t=tl>=z?tl:z;returnt;)doublemin(doublex.doubley){doublez;z=xvy?x:y;retur
14、nz;)〃解线性方程voiddoolitc(doublcc[5][501],doublex[501],doubleb[501]){〃做LU分解inti,j,k,t;doublesum,h[5][501],f[501];for(i=0;i<=4;i++)for(j=0;j<=500;j++)h[i]U]=c[i]U];:i?=一boaA.U三Fuqnop一(eT£A(s)sq£)2ZMOHZMwnsQ-qnop一soaE。RqnosoanRqnopM一EEqnop一二二sq/snxE)''二X二二X*三z+v二qH
15、+luns(++x00「7+D=EHVF+n-)JOJoUEns:=0HAd<6t=EO4二OOUSM/ooslJ''ooaxwnxEiE二一一J*二K+v二Uu+Ens(++】二丄Hvn(z丄o)xeEU」)」OJoHluns一(++S0E二£)」£A女frquAJ證联w"ssq/sns立=z+4丄」q)HN=z++二q二兰e+亠丄一J=*=z±'三H+Ens(++1二上HMCAeGOKXeEHeOJcHUIns一(++=(OOS7+兰.EUIHV二主HmoJWns丄二C7+T一qJL二C7+工一q二3Z+F二
16、q*se+T兰qu+Ens++三上HVX(z,e?A0)Exeu!l)」OJoHEns(++r(00s&+M).sulHVJ7HDJOJ(++WOO*V=OV)J£二uqi£(++-71oos=vo.!')」OJif(zITo)FluF;Z++;sumupfor(iHpA=:50s++)sum+HU三*二二八for(ll-0;AH500;i++)y〔illu三'sqrt(