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

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

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

1、数值分析第二次大作业数值分析第二次大作业1、算法的设计方案算法的设计方案首先构造矩阵 A,利用 Householder 矩阵对矩阵 A 作相似变换,把 A 化为拟上三角矩阵 A(n-1),其算法如书上第 61 页所示。使用 QR 分解法对矩阵 A(n-1)进行 QR 分解,其算法如书上第 59 页所示,进而可以求出所得矩阵的 Q、R、RQ 阵。然后对 A(n-1)进行带双步位移的 QR 分解求解矩阵的全部特征值。这里采用这么几步进行:第一步:判断是否,若不是,则进入第四步。若是,则为特( ) ,1k m ma( ) ,1k m ma征值,m=m-1,若 m=1,进入第二步,若 m=2 进入第三

2、步,否则进入第四步。第二步:m=1,则为特征值,转向结束步。( ) 11ka第三步:m=2,则可以求出 A 的两个特征值和,转向结束步。1s2s第四步:判断是否,若不是,进入第五步。若是,则得到 A 的)( 2, 1k mma两个特征值和,令 m=m-2,若 m=1,进入第二步,若 m=2 进入第三步,否1s2s则进入第一步。第五步:判断是否达到循环上限,若达到上限,则结束,否则进入第六步。第六步:对 A 进行双步移位 QR 分解,这里的算法如书上第 64 页所示,分解之后转向计数步。计数步:对循环次数进行计数,并转向第一步。结束步:显示所求得的特征值。最后对实特征值利用列主元高斯消元法求解其

3、对应的特征向量,其算法见书第 17 页。2、对程序的几点说明对程序的几点说明1、对 A 求拟上三角化矩阵 A(n-1),这里采用一个单独的函数 NSSjiao( )来求出。2、对矩阵 A(n-1)进行 QR 分解采用一个单独的函数 QRfenjie( )求出。3、对矩阵 A(n-1)进行带双步位移的 QR 分解采用一个单独的函数 SBQR( )求出。4、对实特征值利用列主元高斯消元法求解其对应的特征向量在这里采用一个单独的函数 vector( )来实现。5、所有的结果都用 C 语言文件指令使之显示在一个 txt 文件中,方便结果的复制与粘贴。A(n-1)输出到 NSSjiao.txt 中,A(

4、n-1) QR 分解所得矩阵的Q、R、RQ 阵输出到 q.txt 中,A 的特征值输出到 tezhenzhi.txt 中,A 实特征值对应的特征向量输出到 vector.txt 中。三、源程序如下:三、源程序如下:#include “stdio.h“ #include “math.h“#define N 10+1 #define n 10 #define L 1000 double aNN; double ReN=0; double ImN=0;int sgn(double a); /符号函数 void NSSjiao(); /拟上三角化函数 void QRfenjie(); /QR 分解函数

5、 void SBQR(); /双步 QR 分解函数 void vector(); /求特征向量的函数void main() int i,j; for(i=1;i=0) return(1);else return(-1); void NSSjiao() int r,i,j;int cnt=0;double dr=0;double cr=0;double hr=0;double tr=0;double urN=0;double prN=0;double qrN=0;double wrN=0; for(r=1;r=0) fprintf(fp,“%13.11e+%13.11e*in“,Rei,Imi)

6、; else fprintf(fp,“%13.11e%13.11e*in“,Rei,Imi); fclose(fp);void vector() /列主元高斯消元法求解特征向量 int count; int k,i,j,ik; double m=0; double xN=0; double temp=0; double sum=0; for(count=1;countfabs(aikk) ik=i; for (j=k;j=1;k-) temp=0; for (j=k+1;j=n;j+) temp+=akj*xj; xk=-temp/akk; FILE *fp; fp=fopen(“vector

7、.txt“,“a“); fprintf(fp,“属于特征值%13.11e 的特征向量为n“,Recount); for(i=1;i=n;i+) fprintf(fp,“%13.11et“,xi); fprintf(fp,“n“,0); fclose(fp); 3、运行结果如下运行结果如下 对 A 进行拟上三角化得到的矩阵 A(n-1): -8.82751675883e-001-9.93313649183e-002-1.10334928599e+000-7.60044358564e-001 1.54910107991e-001-1.94659186287e+000-8.78243638293e-

8、002-9.25588938718e- 001 6.03259944053e-0011.51886095647e-001 -2.34787836242e+0002.37237010494e+0001.81929082221e+0003.23780410155e-001 2.20579844032e-0012.10269266255e+0001.81613808610e-001 1.27883908999e+000-6.38057812440e-001-4.15407560380e-001 0.00000000000e+0001.72827459997e+000-1.17146764279e+0

9、00-1.24383926270e+000-6.39975834174e-001-2.00283307904e+0002.92494720612e-001-6.41283006839e- 001 9.78399762128e-0022.55776357416e-001 0.00000000000e+0000.00000000000e+000-1.29166953413e+000-1.11160351340e+000 1.17134682410e+000-1.30735603002e+0001.80369917775e-001-4.24638535837e- 001 7.98895523930e

10、-0021.60881992807e-001 0.00000000000e+0000.00000000000e+000-8.29733316381e-0171.56012629853e+000 8.12504939751e-0014.42175683292e-001-3.58861612814e-0024.69174231367e- 001 -2.73659505009e-001-7.35933465775e-002 0.00000000000e+0000.00000000000e+0009.51733763689e-0170.00000000000e+000 -7.70777375519e-

11、001-1.58305142574e+000-3.04284317680e-0012.52871244603e- 001 -6.70992540145e-0012.54461992908e-001 0.00000000000e+0000.00000000000e+000-1.57658260703e-0170.00000000000e+000 -6.45235846333e-017-7.46345345694e-001-2.70836515702e-002-9.48652189368e- 001 1.19587108150e-0011.92926561795e-002 0.0000000000

12、0e+0000.00000000000e+000-1.12848923378e-0160.00000000000e+000 2.46927074256e-0171.62316355137e-016-7.70180137436e-001-4.69762399062e- 001 4.98825946801e-0011.13769160378e-001 0.00000000000e+0000.00000000000e+0008.54810208228e-0170.00000000000e+000 9.60328530894e-0186.30104169532e-0170.00000000000e+0

13、007.01316709211e- 001 1.58218068848e-0013.86259461423e-001 0.00000000000e+0000.00000000000e+000-2.72921948474e-0170.00000000000e+000 -1.16926600276e-016-3.56137515328e-0170.00000000000e+000 0.00000000000e+0004.84380760278e-0013.99277799518e-001A(n-1)矩阵 QR 后 Q 阵为: -3.51926257953e-0014.42759198224e-00

14、1-6.95598251361e-0016.48620075365e-002 3.70971886190e-0011.85584714361e-001-1.62894231963e-002-1.18105316965e- 001 -5.25537538372e-002-5.48658294357e-002 -9.36027728736e-001-1.66467918654e-0012.61529954856e-001-2.43867172893e-002 -1.39477436089e-001-6.97758539124e-0026.12447214296e-0034.44050544314e

15、- 002 1.97590790973e-0022.06283697053e-002 0.00000000000e+000-8.81052055469e-001-3.98976279696e-0013.72030872848e-002 2.12779406409e-0011.06446355722e-001-9.34317107976e-003-6.77420046453e- 002 -3.01434069867e-002-3.14695508044e-002 0.00000000000e+0000.00000000000e+000-5.37180680644e-001-1.234945854

16、20e-001 -7.06315160872e-001-3.53345636850e-0013.10143894826e-0022.24867649160e- 001 1.00060178353e-0011.04462274870e-001 0.00000000000e+0000.00000000000e+000-3.45070233422e-0179.89223546862e-001 -1.23941173121e-001-6.20035858983e-0025.44227283946e-0033.94588163723e- 002 1.75581335001e-0021.83305946291e-002 0.00000000000e+0000.00000000000e+0003.9580788

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

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