北航数值分析第二次大作业

上传人:腾**** 文档编号:40473066 上传时间:2018-05-26 格式:DOC 页数:17 大小:82KB
返回 下载 相关 举报
北航数值分析第二次大作业_第1页
第1页 / 共17页
北航数值分析第二次大作业_第2页
第2页 / 共17页
北航数值分析第二次大作业_第3页
第3页 / 共17页
北航数值分析第二次大作业_第4页
第4页 / 共17页
北航数值分析第二次大作业_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《北航数值分析第二次大作业》由会员分享,可在线阅读,更多相关《北航数值分析第二次大作业(17页珍藏版)》请在金锄头文库上搜索。

1、数值分析第二次大作业姓名姓名: :袁二凯袁二凯学号学号:SY0917145:SY0917145联系方式联系方式:13488854452:20112011 年年 1111 月月 8 8 日日题目:使用带双步位移的 QR 分解法求矩阵的全部特征值,并对其中的每一个实10*10ijAa特征值求相应的特征向量。已知: (i,j=1,2,10)sin(0.50.2 )() 1.5cos(1.2 )()ijij ijijija 一、算法的设计方案:算法的设计方案:(一) 、总体方案设计:构造矩阵 A,先利用 Householder 矩阵对矩阵 A 作相似变换,把 A 化为拟上三角矩阵 A(n-1),然后进

2、行带双步位移的 QR 分解求解矩阵的全部特征值,然后对实特征值利用列主元高斯消元法求解其对应的特征向量。题目要求输出矩阵A(n-1)QR 分解得到的矩阵 Q、R 以及乘积矩阵 RQ,可用单独的 QR 分解法进行计算输出。(二)具体算法设计:1、对矩阵赋值:即为下述程序中的 double fuzhi()子程序。2、对上述生成的矩阵进行拟上三角化:即为下述程序中的 void NSSJH()子程序,输出矩阵 A(n-1)。3、对拟上三角化后的矩阵进行 QR 分解:程序中用 void QR()子程序来对拟上三角化过后的 A 阵进行 QR 分解,并输出 Q 阵、R 阵和乘积矩阵 RQ 阵。4、对拟上三角

3、化后的矩阵进行带双步位移的 QR 分解。子程序 void doubleQR()实现对拟上三角化后的 A 阵进行带双步位移的QR 分解,得出特征值并输出。5、求解每一个实特征值相应的特征向量:用子程序 void TZXL()对其中的实数特征值进行求解,得出对应的特征向量并输出。二、源程序:源程序:#include #include #include #include #include#include /*头文件*/ /*定义全局变量*/ #define Epsilon 1e-12 /*定义精度*/ #define N 11 /*取 N 为 11,可实现从 1 到 10 的存储,方便计算*/ #d

4、efine n 10 /*为了方便计算取 n*/ #define L 1000 /*规定迭代次数*/ double aNN; double lambdaN2;double fuzhi(); /*赋值函数*/ void NSSJH(); /*拟上三角化函数*/ void QR(); /*QR 分解函数*/ void DoubleQR();/*带双步位移的 QR 分解函数*/ void TZXL(); /*求取实特征根对应特征向量的函数*/double fuzhi() /*赋值函数,存储行列均为 1-10*/ int i,j;for(i=1;i0) cr=-dr;else cr=dr;/*求解 c

5、r*/hr=cr*cr-cr*ar+1r; /*求解 hr*/for(i=1;i0)cr=-dr;else cr=dr; /*求解 cr*/hr=cr*cr-cr*arr; /*求解 hr*/for(i=1;i=0) lambdam0=(c+sqrt(d)/2;lambdam1=0; lambdam-10=(c-sqrt(d)/2;lambdam-11=0;elselambdam0=c/2;lambdam1=sqrt(-d)/2; lambdam-10=c/2;lambdam-11=-sqrt(-d)/2; goto loopjs;else if(m=1)lambda10=a11;lambda

6、11=0;goto loopjs; else if(m=0)goto loopjs;else goto loop1;loop3: /*降两阶的判断*/if(fabs(am-1m-2)=0) lambdam0=(c+sqrt(d)/2;lambdam1=0; lambdam-10=(c-sqrt(d)/2;lambdam-11=0;elselambdam0=c/2;lambdam1=sqrt(-d)/2; lambdam-10=c/2;lambdam-11=-sqrt(-d)/2; m=m-2;goto loop2;else goto loopPD; loopPD: /*判断迭代次数是否超出规定

7、*/if(k=L) printf(“计算终止,未得到 A 的全部特征值n“);goto loopjs;else goto loopqr; loopqr:s=am-1m-1+amm; /*带双步位移的 QR 分解*/t=am-1m-1*amm-amm-1*am-1m;for(i=1;i0)cr=-dr;else cr=dr;/*求解 cr*/hr=cr*cr-cr*Mrr;/*求解 hr*/for(i=1;i0;k-)temp=0;for(j=k+1;j=n;j+)temp=temp+akj*xj/akk;xk=xk-temp; /*回代过程,xN即为特征值对应的特征向量*/printf(“特征

8、值%13.11e 对应的特征向量为:n“,lambdal0);for(i=1;i=n;i+)printf(“%13.11e “,xi); printf(“n“) ; /*输出特征向量*/ void main() void NSSJH(); void QR(); DoubleQR(); TZXL();二、运行结果输出运行结果输出对对 A 进行拟上三角化得到的矩阵进行拟上三角化得到的矩阵 A(n-1): -8.82751675883e-001 -9.93313649183e-002 -1.10334928599e+000 -7.60044358564e-001 1.54910107991e-001

9、 -1.94659186287e+000 -8.78243638293e-002 -9.25588938718e-001 6.03259944053e-001 1.51886095647e-001 -2.34787836242e+000 2.37237010494e+000 1.81929082221e+000 3.23780410155e-001 2.20579844032e-001 2.10269266255e+000 1.81613808610e-001 1.27883908999e+000 -6.38057812440e-001 -4.15407560380e-001 0.000000

10、00000e+000 1.72827459997e+000 -1.17146764279e+000 -1.24383926270e+000 -6.39975834174e-001 -2.00283307904e+000 2.92494720612e-001 -6.41283006839e-001 9.78399762128e-002 2.55776357416e-001 0.00000000000e+000 -5.40440307281e-018 -1.29166953413e+000 -1.11160351340e+000 1.17134682410e+000 -1.30735603002e

11、+000 1.80369917775e-001 -4.24638535837e-001 7.98895523930e-002 1.60881992807e-001 0.00000000000e+000 -7.99016164618e-017 8.29733316381e-017 1.56012629853e+000 8.12504939751e-001 4.42175683292e-001 -3.58861612814e-002 4.69174231367e-001 -2.73659505009e-001 -7.35933465775e-002 0.00000000000e+000 1.285

12、19026519e-018 -9.51733763689e-017 0.00000000000e+000 -7.70777375519e-001 -1.58305142574e+000 -3.04284317680e-001 2.52871244603e-001 -6.70992540145e-001 2.54461992908e-001 0.00000000000e+000 1.83527558474e-016 1.57658260703e-017 0.00000000000e+000 0.00000000000e+000 -7.46345345694e-001 -2.70836515702

13、e-002 -9.48652189368e-001 1.19587108150e-001 1.92926561795e-002 0.00000000000e+000 -4.31880044039e-017 1.12848923378e-016 0.00000000000e+000 0.00000000000e+000 0.00000000000e+000 -7.70180137436e-001 -4.69762399062e-001 4.98825946801e-001 1.13769160378e-001 0.00000000000e+000 7.14764653623e-017 -8.54

14、810208228e-017 0.00000000000e+000 0.00000000000e+000 0.00000000000e+000 0.00000000000e+000 7.01316709211e-001 1.58218068848e-001 3.86259461423e-001 0.00000000000e+000 7.92254903113e-017 2.72921948474e-017 0.00000000000e+000 0.00000000000e+000 0.00000000000e+000 0.00000000000e+000 0.00000000000e+000

15、4.84380760278e-001 3.99277799518e-001对对 A 进行进行 QR 得到的矩阵得到的矩阵 Q: -3.51926257953e-001 4.42759198224e-001 -6.95598251361e-001 6.48620075365e-002 3.70971886190e-001 1.85584714361e-001 -1.62894231963e-002 -1.18105316965e-001 - 5.25537538372e-002 -5.48658294357e-002 -9.36027728736e-001 -1.66467918654e-001 2.61529954856e-001 -2.43867172893e-002 -1.39477436089e-001 -6.97758539124e-002 6.124472142

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号