北航数值分析大作业一

北航数值分析大作业一

ID:12442133

大小:356.79 KB

页数:0页

时间:2018-07-17

北航数值分析大作业一_第页
预览图正在加载中,预计需要20秒,请耐心等待
资源描述:

《北航数值分析大作业一》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数值分析第一次作业设有的实对称矩阵A,其中,。矩阵A的特征值为,并且有1.求,和的值。2.求A的与数最接近的特征值。3.求A的(谱范数)条件数和行列式detA。一方案设计1求,和的值。是矩阵A最小的特征值,为矩阵最大的特征值。对矩阵A使用幂法可以求出、其中的一个,但不确定是哪一个,设求出的值为。然后再构造矩阵B=A-I,对矩阵B使用幂法求出其按模最大的特征值,可得、中另外一个值,为+。比较和+,其中较小者为为,较大者为。为按模最小特征值,,直接利用反幂法可以求得。2求A的与数最接近的特征值。题目可看成求以为偏移量后,按模最小的特征值。即以为偏移量做位移,

2、使用反幂法求出按模最小特征值后,加上,即为所求。3求A的(谱范数)条件数和行列式detA。矩阵A为非奇异对称矩阵,可知,(1-1)其中为按模最大特征值,为按模最小特征值。detA可由LU分解得到。因LU均为三角阵,则其主对角线乘积即为A的行列式。二算法实现1幂法使用如下迭代格式:(2-1)终止迭代的控制理论使用,实际使用(2-2)由于不保存A矩阵中的零元素,只保存主对角元素a[501]及b,c值。则上式中简化为:(2-3)2反幂法使用如下迭代格式:(2-4)其中,解方程求出。对于的求解算法我采用了LU分解法和JACOBI迭代法两种。(1)LU分解由于A为

3、5对角矩阵,选择追赶法求取LU分解。求解过程如下:(2-5)由上式推出分解公式如下:(2-6)推导出回代求解公式如下:(2-7)(2-8)(2)JACOBI迭代法迭代公式如下所示:u1k=-bu2k-1+cu3k-1+y1k-1/a[1][1]u2k=[-(bu1k-1+bu3k-1cu4k-1)+y2k-1]/a[2][2]u500k=-bu498k-1+bu499k-1+cu501k-1+y500k-1/a[500][500]u501k=-cu499k-1+bu500k-1+y501k-1/a[501][501]uik=-cui-2k-1+bui-1

4、k-1+bui+1k-1+cui+2k-1+yik-1/a[i][i](2-9)3及A行列式求解(2-10)由式(2-5)可得:(2-11)三源程序#include#includedoublemifa(doublea[501]);//幂法doublefanmifa1(doublea[501]);//反幂法(三角分解法求解U(k))doubledet(doublea[501]);//求detdoublefanmifa(doublea[501]);//反幂法(jacobi求解)doubleep=1e-12,b=0.16,c=

5、-0.064;intj=0;intmain(){inti,k;doubleA[501],B[501],beta_1,beta_501,beta_s,beta_k,beta_m;doublemu;for(i=0;i<501;i++)A[i]=(1.64-0.024*(i+1))*sin(0.2*(i+1))-0.64*exp(0.1/(i+1));beta_1=mifa(A);for(i=0;i<501;i++)B[i]=A[i]-beta_1;beta_m=mifa(B);beta_m=beta_m+beta_1;if(beta_m>beta_1){be

6、ta_1=beta_1;beta_501=beta_m;}else{beta_1=beta_m;beta_501=beta_1;}printf("λ1t=%.12et",beta_1);for(i=0;i<501;i++)B[i]=A[i]-beta_1;beta_501=mifa(B)+beta_1;printf("λ501=t=%.12et",beta_501);beta_s=fanmifa(A);printf("λst=%.12et迭代次数:%d",beta_s,j);for(k=1;k<=39;k++){mu=beta_1

7、+k*(beta_501-beta_1)/40;for(i=0;i<501;i++)B[i]=A[i]-mu;beta_k=fanmifa(B)+mu;printf("λi%dt=%.12et迭代次数:%d",k,beta_k,j);}printf("cond(A)2=%.12e",beta_1/beta_s);printf("detAt=%.12e",det(A));return0;}doublemifa(doublea[501])//幂法{inti=0,r;doubleb=0.16,c=-0.064;doubleu[501],y[5

8、01];doubles,lastbeta,beta,sq;for(i=0;i<5

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。