




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北航数值分析作业第一题:一、算法设计方案1. 要求计算矩阵的最大最小特征值,通过幂法求得模最大的特征值,进行一定判断即得所求结果;2. 求解与给定数值接近的特征值,可以该数做漂移量,新数组特征值倒数的绝对值满足反幂法的要求,故通过反幂法即可求得;3. 反幂法计算时需要方程求解中间过渡向量,需设计Doolite分解求解;4. |A|=|B|C|,故要求解矩阵的秩,只需将Doolite分解后的U矩阵的对角线相乘即为矩阵的Det。算法编译环境:vlsual c+6.0需要编译函数:幂法,反幂法,Doolite分解及方程的求解二、源程序如下:#include#include#include#includeint Max(int value1,int value2); int Min(int value1,int value2); void Transform(double A5501); double mifa(double A5501);void daizhuangdoolite(double A5501,double x501,double b501);double fanmifa(double A5501);double Det(double A5501);/*定义2个判断大小的函数,便于以后调用*/int Max(int value1,int value2) return(value1value2)?value1:value2); int Min(int value1,int value2) return (value1value2)?value1:value2); /*/*将矩阵值转存在一个数组里,节省空间*/ void Transform(double A5501,double b,double c) int i=0,j=0;Aij=0,Aij+1=0;for(j=2;j=500;j+)Aij=c;i+;j=0;Aij=0;for(j=1;j=500;j+)Aij=b;i+;for(j=0;j=500;j+)Aij=(1.64-0.024*(j+1)*sin(0.2*(j+1)-0.64*exp(0.1/(j+1);i+;for(j=0;j=499;j+)Aij=b;Aij=0;i+;for(j=0;j=498;j+)Aij=c;Aij=0,Aij+1=0; /*转存结束*/用于求解模最大的特征值,幂法double mifa(double A5501)int s=2,r=2,m=0,i,j;double b2,b1=0,sum,u501,y501;for (i=0;i=500;i+) ui = 1.0; dosum=0;if(m!=0)b1=b2;m+;for(i=0;i=500;i+)sum+=ui*ui;for(i=0;i=500;i+)yi=ui/sqrt(sum);for(i=0;i=500;i+)ui=0;for(j=Max(i-r,0);j=Min(i+s,500);j+)ui=ui+Ai-j+sj*yj;b2=0;for(i=0;i=exp(-12);return b2;/带状DOOLITE分解,并且求解出方程组的解void daizhuangdoolite(double A5501,double x501,double b501)int i,j,k,t,s=2,r=2;double B5501,c501;for(i=0;i=4;i+)for(j=0;j=500;j+)Bij=Aij;for(i=0;i=500;i+)ci=bi;for(k=0;k=500;k+)for(j=k;j=Min(k+s,500);j+)for(t=Max(0,Max(k-r,j-s);t=k-1;t+)Bk-j+sj=Bk-j+sj-Bk-t+st*Bt-j+sj;for(i=k+1;i=Min(k+r,500);i+)for(t=Max(0,Max(i-r,k-s);t=k-1;t+)Bi-k+sk=Bi-k+sk-Bi-t+st*Bt-k+sk;Bi-k+sk=Bi-k+sk/Bsk;for(i=1;i=500;i+)for(t=Max(0,i-r);t=0;i-)xi=ci;for(t=i+1;t=Min(i+s,500);t+)xi=xi-Bi-t+st*xt;xi=xi/Bsi;/用于求解模最大的特征值,反幂法double fanmifa(double A5501)int s=2,r=2,m=0,i;double b2,b1=0,sum=0,u501,y501;for (i=0;i=500;i+)ui = 1.0; doif(m!=0)b1=b2;m+;sum=0;for(i=0;i=500;i+)sum+=ui*ui;for(i=0;i=500;i+)yi=ui/sqrt(sum);daizhuangdoolite(A,u,y);b2=0;for(i=0;i=fabs(b1)*exp(-12);return 1/b2;/行列式的LU分解,U的主线乘积即位矩阵的DETdouble Det(double A5501)int i,j,k,t,s=2,r=2;for(k=0;k=500;k+)for(j=k;j=Min(k+s,500);j+)for(t=Max(0,Max(k-r,j-s);t=k-1;t+)Ak-j+sj=Ak-j+sj-Ak-t+st*At-j+sj;for(i=k+1;i=Min(k+r,500);i+)for(t=Max(0,Max(i-r,k-s);t=k-1;t+)Ai-k+sk=Ai-k+sk-Ai-t+st*At-k+sk;Ai-k+sk=Ai-k+sk/Ask;double det=1;for(i=0;i0) /判断求得最大以及最小的特征值.如果K0,则它为最大特征值值, /并以它为偏移量再用一次幂法求得新矩阵最大特征值,即为最大 /与最小的特征值的差lamda501=k;for(i=0;i=500;i+)A2i=A2i-k;lamda1=mifa(A)+lamda501;for(i=0;i=500;i+)A2i=A2i+k;else /如果K=0,则它为最小特征值值,并以它为偏移量再用一次幂法 /求得新矩阵最大特征值,即为最大与最小的特征值的差 lamda1=k;for(i=0;i=500;i+)A2i=A2i-k;lamda501=mifa(A)+lamda1;for(i=0;i=500;i+)A2i=A2i+k;lamdas=fanmifa(A);FILE *fp=fopen(result.txt,w);fprintf(fp,1=%.12en,lamda1);fprintf(fp,501=%.12en,lamda501);fprintf(fp,s=%.12enn,lamdas);fprintf(fp,t要求接近的值ttt实际求得的特征值n);for(i=1;i=39;i+) /反幂法求得与给定值接近的特征值p=lamda1+(i+1)*(lamda501-lamda1)/40;for(j=0;j=500;j+)A2j=A2j-p;q=fanmifa(A)+p;for(j=0;j=500;j+)A2j=A2j+p;fprintf(fp,%d: %.12e i%d: %.12en,i,p,i,q);double cond=fabs(mifa(A)/fanmifa(A);double det=Det(A);fprintf(fp,ncond(A)=%.12en,cond);fprintf(fp,ndetA=%.12en,det);三、程序运行结果1=-1.069936345952e+001501=9.722283648681e+000s=-5.557989086521e-003要求接近的值实际求得的特征值1: -9.678281104107e+000 i1: -9.585702058251e+0002: -9.167739926402e+000 i2: -9.172672423948e+0003: -8.657198748697e+000 i3: -8.652284007885e+0004: -8.146657570993e+000 i4: -8.093482780052e+0005: -7.636116393288e+000 i5: -7.659405420574e+0006: -7.125575215583e+000 i6: -7.119684646576e+0007: -6.615034037878e+000 i7: -6.611764337314e+0008: -6.104492860173e+000 i8: -6.066103126985e+0009: -5.593951682468e+000 i9: -5.585101045269e+00010: -5.083410504763e+000 i10: -5.114083539196e+00011: -4.572869327058e+000 i11: -4.578872177367e+00012: -4.062328149353e+000 i12: -4.096473385708e+00013: -3.551786971648e+000 i13: -3.554211216942e+00014: -3.041245793943e+000 i14: -3.041090018133e+00015: -2.530704616238e+000 i15: -2.533970334136e+00016: -2.020163438533e+000 i16: -2.003230401311e+00017: -1.509622260828e+000 i17: -1.503557606947e+00018: -9.990810831232e-001 i18: -9.935585987809e-00119: -4.885399054182e-001 i19: -4.870426734583e-00120: 2.200127228676e-002 i20: 2.231736249587e-00221: 5.325424499917e-001 i21: 5.324174742068e-00122: 1.043083627697e+000 i22: 1.052898964020e+00023: 1.553624805402e+000 i23: 1.589445977158e+00024: 2.064165983107e+000 i24: 2.060330427561e+00025: 2.574707160812e+000 i25: 2.558075576223e+00026: 3.085248338516e+000 i26: 3.080240508465e+00027: 3.595789516221e+000 i27: 3.613620874136e+00028: 4.106330693926e+000 i28: 4.091378506834e+00029: 4.616871871631e+000 i29: 4.603035354280e+00030: 5.127413049336e+000 i30: 5.132924284378e+00031: 5.637954227041e+000 i31: 5.594906275501e+00032: 6.148495404746e+000 i32: 6.080933498348e+00033: 6.659036582451e+000 i33: 6.680354121496e+00034: 7.169577760156e+000 i34: 7.293878467852e+00035: 7.680118937861e+000 i35: 7.717111851857e+00036: 8.190660115566e+000 i36: 8.225220016407e+00037: 8.701201293271e+000 i37: 8.648665837870e+00038: 9.211742470976e+000 i38: 9.254
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 转委托经营合同(标准版)
- 绿地投标合同(标准版)
- 银行柜员英文求职简历范例
- 五年级介绍文章写作高分范文
- 外包人员红线安全测试题及答案解析
- 网络信息安全培训考试题及答案解析
- 煤矿安全规定培训试题及答案解析
- 团队管理与领导力工作述职报告
- 人教版六下数学人教新课标数学六年级下学期期中测试卷附答案公开课教案公开课教案公开课(2025-2026学年)
- 小型钢结构安装与安全标准解析
- DL-T 2594-2023 电力企业标准化工作 评价与改进
- 《血管活性药物静脉输注护理》标准解读
- 一道美丽的风景作文500字
- 个人简历模板表格式
- 现网终端问题分析报告
- 第十五章巷道与井筒施工测量
- GB/T 13384-2008机电产品包装通用技术条件
- FZ/T 07019-2021针织印染面料单位产品能源消耗限额
- 《计算机辅助翻译》课程教学大纲
- 电厂化学运行规程
- 新版香港朗文1A-6B全部单词汇总
评论
0/150
提交评论