数值分析第一次计算实习大作业(12页).docx
《数值分析第一次计算实习大作业(12页).docx》由会员分享,可在线阅读,更多相关《数值分析第一次计算实习大作业(12页).docx(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-数值分析第一次计算实习大作业-第 10 页数值分析B第一次计算实习大作业学院名称:宇航学院专业名称:航天工程学生姓名:学号:2017年 11月一、题目:设有的实对称矩阵A,其中,。矩阵A的特征值为,并且有1.求,和的值。2.求A的与数最接近的特征值。3.求A的(谱范数)条件数和行列式detA。说明:1.在所用的算法中,凡事要给出精度水平的,都取=10-12。2.选择算法时,应使矩阵A的所有零元素都不存储。3.打印以下内容:(1)全部源程序;(2)特征值,以及,detA的值。4.采用e型输出实型数,并且至少显示12位有效数字。二、算法设计方案:第一问:求,和的值。,则是A的最大特征值,是A的最
2、小特征值,是A的按模最小特征值。通过幂法可以计算矩阵的按模最大特征值,然后通过判断特征值的正负,若为正,则按模最大特征值为,若为负,则按模最大特征值为。由此计算出,其中一个后,再通过平移的方法求另外一个特征值。则直接通过反幂法计算得到。第二问:求A的与数最接近的特征值。先通过公式计算,将作为偏移量对A进行平移获得新矩阵。然后对新矩阵通过反幂法计算得到按模最小特征值。将所得结果加上,就是所求。第三问:求A的(谱范数)条件数和行列式detA。因为矩阵A为非奇异的实对称矩阵,则有以下公式:其中为按模最大特征值,为按模最小特征值,在第一问中都已得到结果,可直接计算公式得到。矩阵A为五对角矩阵,采用追赶
3、法对矩阵A进行LU分解。A=LU,因为LU均为三角矩阵,则有以下公式:detA=i=1nu(i,i)其中u(i,i)为主对角线上元素,通过此公式计算detA。三、算法函数计算:(1)幂法计算使用第二种幂法迭代格式:终止迭代的控制理论使用。由于A的所有零元素都不存储,因此我采取一个数组ai保存主对角线元素,定义数值常数b和c。因此需要将上式中的进行简化运算,最后得到以下结果:(2)反幂法计算使用如下迭代格式:其中,通过追赶法对矩阵A进行LU分解,求解方程组得到。LU分解如下:推出分解公式如下:回代求解公式如下:(3)追赶法LU分解计算detA=i=1501d(i,i)分解公式与反幂法计算中所采用
4、的分解公式相同。四、源程序代码:#include #include #include using namespace std;const double epsilon=1e-12,b=0.16,c=-0.064;int i,j,k;double power_method(double f501); /定义幂法函数double inv_power_method(double f501); /定义反幂法函数double det(double f501);/定义追赶法LU分解后求行列式的函数int main() /主程序cout数值分析第一次大作业:endl学院:宇航学院 姓名:何海涛 学号:ZY1
5、715114endl计算结果如下:endl;double a501,d501,lambda_1,lambda_501,lambda_s,lambda_k,lambda_x;double move;for(i=0;i501;i+)ai=(1.64-0.024*(i+1)*sin(0.2*(i+1)-0.64*exp(0.1/(i+1);/第一问lambda_x=power_method(a); /通过幂法求出矩阵的按模最大特征值coutendl第一问结果为:endlendl;cout 按模最大特征值 lambda_x=setw(20)setprecision(12)scientificlambd
6、a_xendl;if(lambda_x0)/按模最大特征值为负,则为lambda_1lambda_1=lambda_x;cout 最小特征值 lambda_1=setw(20)setprecision(12)scientificlambda_1setw(15)迭代次数:jendl;for(i=0;i501;i+)di=ai-lambda_1;/通过平移求另一个特征值lambda_501=power_method(d)+lambda_1;cout 最大特征值 lambda_501=setw(20)setprecision(12)scientificlambda_501setw(15)迭代次数:j
7、endl;else/按模最大特征值为正,则为lambda_501lambda_501=lambda_x;for(i=0;i501;i+)di=ai-lambda_501;lambda_1=power_method(d)+lambda_501; /通过平移求另一个特征值cout 最小特征值 lambda_1=setw(20)setprecision(12)scientificlambda_1setw(15)迭代次数:jendl;cout 最大特征值 lambda_501=setw(20)setprecision(12)scientificlambda_501setw(15)迭代次数:jendl;
8、lambda_s=inv_power_method(a); /通过反幂法求矩阵的按模最小特征值cout 按模最小特征值 lambda_s=setw(20)setprecision(12)scientificlambda_ssetw(15)迭代次数:jendl;/第二问coutendlendl第二问结果为:endlendl;for(k=1;k=39;k+)for(i=0;i501;i+)move=lambda_1+k*(lambda_501-lambda_1)/40;di=ai-move;lambda_k=inv_power_method(d)+move;if(k10)cout 特征值 lamb
9、da_i0k=setw(20)setprecision(12)scientificlambda_ksetw(15)迭代次数:jendl;elsecout 特征值 lambda_ik=setw(20)setprecision(12)scientificlambda_ksetw(15)迭代次数:jendl;/第三问coutendlendl第三问结果为:endlendl;coutsetw(19) A的条件数cond(A)2=setw(20)setprecision(12)scientificlambda_x/lambda_sendl; /A的条件数等于按模最大特征值除以按模最小特征值coutsetw
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值 分析 第一次 计算 实习 作业 12
限制150内