数值分析计算实习第一次大作业-9页word资料.doc
《数值分析计算实习第一次大作业-9页word资料.doc》由会员分享,可在线阅读,更多相关《数值分析计算实习第一次大作业-9页word资料.doc(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流数值分析计算实习第一次大作业【精品文档】第 9 页学生:黄小琦 学号:S201150110 联系方式:13261252103算法:1.编辑反幂法的子程序1)设置二维数组a(5,501)来存储矩阵A 的带内元素,Aij=ai-j+2,j;2)对于主对角线上的元素,即a2j设置平移量n,并存储到原来单元内,使得对于j=0,1,2,500,a2j=a2j-n;3)对矩阵A进行LU分解,相对应于啊(5,501)中的元素执行如下循环:对k=0,1,2,500执行 j=k,k+1,,min(k+2,500) i=k+1,k+2,,min(k+2,500);kn4)若
2、平移量x=0,即对矩阵A进行LU分解,所得a(5,501)第二行元素的乘积即为矩阵A的行列式的值,detA=a0,0*a0,1*a0,500;5)进行反幂法迭代前,先对平移后的矩阵的行列式做判断,看其是否为0,若行列式为0,则绝对值最小的特征值为0。相对于原来的矩阵A,其特征值为平移量x。若行列式不为0,则开始进行反幂法的迭代求解;6)取非零向量组u(501)作为初始值,取u的所有元素都为1,每迭代一次就将新求得的u(501)存储于原来的存储单元内,覆盖原来的值,执行如下循环:对k=0,1,2,500(500为最大迭代次数,超过这个次数仍不收敛则停止计算)设置一个数comp来存储前一次运行所得
3、的特征值,以便与第二次运行的值相比较,求出误差范围,comp=q;利用3)矩阵的LU分解结果求解方程组,求解Lz=y和Uu=z的计算公式是: (i=1,2,500) (i=499,498,0),判断,若,结束循环转7),否则继续循环7)将q值带回主函数。2.编辑幂法的子程序1)设置二维数组a(5,501)来存储矩阵A 的带内元素,Aij=ai-j+2,j;2)对于主对角线上的元素,即a2j设置平移量n,并存储到原来单元内,使得对于j=0,1,2,500,a2j=a2j-n;3)取非零向量组v(501)作为初始值,取u的所有元素都为1,每迭代一次就将新求得的v(501)存储于原来的存储单元内,覆
4、盖原来的值,执行如下循环:对k=0,1,2,500(500为最大迭代次数,超过这个次数仍不收敛则停止计算)设置一个数comp来存储前一次运行所得的特征值,以便与第二次运行的值相比较,求出误差范围,comp=c; ,但是由于A中的元素已被存为a(5,501),对于中每一个分量和中的需对迭代公式做一下变换: 对i=0,1,2,500, 判断,若,结束循环转7),否则继续循环7)将c值带回主函数。3编辑主函数1)调用反幂法子函数,令平移量为0,得到矩阵A的按模最小特征值,并输出A的行列式的值;2)调用幂法子函数,令其平移量为0,得到按模最大特征值;3)调用幂法子函数,令平移量为,得到的,其中c是幂法
5、子函数的带回值;4)如果,则,;若,则,;5)设置数组s(39),close(39),其中close(39)用来存放A中与数s(39)最接近的特征值,执行如下循环: 对k=0,1,38 ; 调用反幂法子函数,取平移量; ,其中q为反幂法子函数的带回值;6)输出和cond(A)2,并输出所有close(39);全部源程序:#include#includedouble min(double x) 编辑反幂法子程序,该子程序中也包含的矩阵的LU分解double a5501=0,u501,y501,z501,b=0,n=0;double m,s,sum,deta,comp,q=0;int i,j,k,
6、t,temp,min,max;for(i=0;i501;i+)if(i+2501) a0i+2=-0.064;if(i+1=0) a3i-1=0.16;if(i-2=0) a4i-2=-0.064;for(k=0;k501;k+)min=(k+2500)?k+2:500;for(j=k;jk-2)?0:k-2;max=(tempj-2)?temp:j-2;for(t=max;t=k-1;t+)sum=sum+ak-t+2t*at-j+2j;ak-j+2j=ak-j+2j-sum;for(i=0;i501;i+) ui=1;if(k500)for(i=k+1;ii-2)?0:i-2;max=(t
7、empk-2)?temp:k-2;for(t=max;t=k-1;t+)sum=sum+ai-t+2t*at-k+2k;ai-k+2k=(ai-k+2k-sum)/a2k;deta=1;if(x=0)for(i=0;i501;i+)deta=a2i*deta;printf(deta=%.12en,deta);if(deta=1e-12) return(x);elsefor(k=0;k500;k+)comp=q;sum=0;for(j=0;j501;j+)sum=uj*uj+sum;n=sqrt(sum);for(i=0;i501;i+)yi=ui/n;z0=y0;for(i=1;ii-2)?0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值 分析 计算 实习 第一次 作业 word 资料
限制150内