网站大量收购独家精品文档,联系QQ:2885784924

北航研究生数值分析大作业二(2014年)详解.doc

北航研究生数值分析大作业二(2014年)详解.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北航研究生数值分析大作业二(2014年)详解.doc

数 值 分 析 —计算实习作业二 学 院: 17系 专 业: 精密仪器及机械 姓 名: 张大军 学 号: DY1417114 一、程序设计方案 程序设计方案流程图如图1所示。 (注:由本人独立完成,并且有几处算法很巧妙) 程序源代码 #include iostream.h #include iomanip.h #include math.h #define N 10 #define E 1.0e-12 #define MAX 10000 int main() { void nishangsanjiaohua(double (*A)[10]); void QRfenjie(double (*A)[10],double (*Q)[N],double (*R)[N]); void zhengli(double (*A)[10]); void subuQR(double (*A)[10],double *RR,double *II); void tezhengxl(double (*a)[N],double T); double A[10][10]={0},Q[10][10]={0},R[10][10]={0}; double B[10]={0},C[10]={0}; int i,j; for(i=1;i=10;i++) for(j=1;j=10;j++) { if(i!=j) A[i-1][j-1]=sin(0.5*i+0.2*j); else A[i-1][j-1]=1.52*cos(i+1.2*j); } //对实矩阵A进行拟上三角化 nishangsanjiaohua(A); zhengli(A); cout矩阵A经过拟上三角化所得的矩阵A(n-1):endl; for(i=0;iN;i++) { for(j=0;jN;j++) { coutsetiosflags(ios::scientific)setprecision(12)setw(21)A[i][j]; } cout\nendl; } //拟上三角化后进行的QR分解 QRfenjie(A,Q,R); zhengli(R); cout矩阵A(n-1)三角化得到的Q矩阵:endl; for(i=0;iN;i++) { for(j=0;jN;j++) { coutsetiosflags(ios::scientific)setprecision(12)setw(21)Q[i][j]; } cout\nendl; } cout矩阵A(n-1)三角化得到的R矩阵:endl; for(i=0;iN;i++) { for(j=0;jN;j++) { coutsetiosflags(ios::scientific)setprecision(12)setw(21)R[i][j]; } cout\nendl; } //求解A矩阵的全部特征值 subuQR(A,B,C); zhengli(A); cout矩阵A(n-1)双步位移QR迭代后RQ阵:endl; for(i=0;iN;i++) { for(j=0;jN;j++) { coutsetiosflags(ios::scientific)setprecision(12)setw(21)A[i][j]; } cout\nendl; } cout矩阵A(n-1)双步位移QR迭代后求出的所有特征值:endl; for(i=0;iN;i++) { coutsetiosflags(ios::scientific)setprecision(12)setw(21)B[i]+setw(21)C[i]iendl; cout\nendl; } for(i=1;i=10;i++) for(j=1;j=10;j++) { if(i!=j) A[i-1][j-1]=sin(0.5*i+0.2*j); else A[i-1][j-1]=1.52*cos(i+1.2*j); } //A相应于实特征值的特征向量 cout矩阵A(n-1)双步位移QR迭代后求出的所有实特征值所对应的特征向量:endl; for(i=0;iN;i++) { if(C[i]==0) { coutλ[i]对应的特征向量endl; tezhe

文档评论(0)

挑战不可能 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档