资源描述:
《丁少行数值分析作业》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、北京航車航夭大孝《数值分析B》计算实习作业一k学号:ZY1207227姓名:丁少行2012-10-25目录1算法分析:算法流程设计:23具体算法:3.1矩阵的存储3.2用反幕法求解肚23.3无穷范数的幕法求矩阵A的按模最大特征值33.4求矩阵A-pI的按模最大特征值43.5求矩阵A的最小和最大特征值43.6对矩阵A进行LU分解53.7LU分解法求线性方程组的解3.8求矩阵A的行列式53.9还原LU分解后的矩阵A53.10求矩阵A的条件数53.11求A的与数最接近的特征值加伙=1,2,...39)64全部源程序:6155讨论1算法分析:A是501*501的稀疏炬阵,结构为带状,且与主对角
2、线相邻的两个带的值b和c都是常数。所以考虑用一维数组存储A的非零元素。从而可以用带原点平移的幕法或反幕法计算入1和入501。由于反幕法用到LU分解,所以将LU分解中主对角线上的元素存储下来,它们的乘积就是det(A)o2算法流程设计:【将A转化为一维数组存储】I【用反幕法求解入S】【用幕法求按模最大的特征值(入1和入501中其一)】I【用带原点平移的幕法求入]和入501】I【求A的与数Pk(k=l,2,3,…39)】I【用带原点平移的反幕法求Xik(k=l,2,3,-39)l【求cond(A)2]【用LU分解求det(A)]3具体算法:3.1矩阵的存储对应算法voidSave(doub
3、leA[M])对与501*501的矩阵,(axhC、baibcacbci3hcA二•••••••••••••••cha499bccbablCbQ501丿501),A[502]=b5可以用一位数组A[504]来存储,其中A[0]不使用,A[i]=ai(i=l,2A[503]=Co3・2用反幕法求解入s对应算法doubleMIN_EXPONENTIAL(doublcA[M])反幕法迭代格式:任取迭代初始向量:UT[502]二(1,11/循环过程:第一步:求迭代向量的2范数:第二步:求归一化迭代向量:YT[i]二UT[i]/m(i二1,2.・・・501)第三步:求解线性方程组AUT=YT的解
4、,即下一步迭代向量UT,第四步:求岀一次迭代的按模最小特征值的倒数:1501ElValue二J»YT[i]UT[i]迭代终止条件:1ElValue<10'12Replace为上一步迭代的特征值。3.3无穷范数的幕法求矩阵A的按模最大特征值MAX_EIValue——此算法对应于函数doubleMAX_EXPONENTIAL(doubleA
5、Ml)o幕法迭代格式:任取迭代初始向量:UT[502]二(1,1I)7'循环过程:第一步:求迭代向量的无穷范数:MaxUT=max
6、t/T[z]
7、—1VM501I1并记下所在行ro第二步:求归一化迭代向量:YT[i]=UT[i]/MaxUT(i=l,2
8、....501)第三步:求下一次迭代向量:fbr(i=l;i<=N;i++){UT[i]=A[i]*YT[i];if(i>l)UT[i]=UT[i]+A[N+l]*YT[i-l];if(i>2)UT[i]=UT[i]+A[N+2]*YT[i-2];if(i9、MAX_EIValue・Replace]//
10、MAX_EIValue
11、Replace为上一步迭代的
12、特征伯:。3.4求矩阵A-pI的按模最大特征值ONE_EIValue——此算法对应于函数doubleONEEXPONENTIAL(doubleA[M],doublep)。将矩阵A偏移向左偏移p,求出偏移后的按模最大特征值,再还原矩阵①一"bA-pl=doo~Pbb他01一0如果久是矩阵A的特征值,即=则有:若求出矩阵(人一刃)的按模最大特征值盒瘁,那么入瘁+P是矩阵A的特征值。3.5求矩阵A的最小和最大特征值入」和X501此算法在main()函数中定义。已知人••…<^5oi,现已求出按模最大特征值MAX_EIValue,则按模最大值肯疋在人和九)】中产生,有两种可能:1、当MAX_E
13、IValue>0:Asm=MAX_ElValue根据3.4算法2、当MAX_EIValue<0:入=MAX_EIValue,根据3.4算法,当”二MAX_EIValue吋,A501=ONE_EIValuc3.6对矩阵A进行LU分解此算法对应于函数voidLUdisassemble(doubleA[M],doubleU1[N+1],doubleU2[N+1],doubleLI[N+l],doubleL2[N+1])。矩阵U分别存在A[502]、U