欢迎来到天天文库
浏览记录
ID:51923592
大小:73.00 KB
页数:9页
时间:2020-03-19
《北航研究生数值分析A作业一.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、F共京航蚩航爰太爭BEIHANGUNIVERSITY《数值分析(A)》计算实习题目一一、算法设计方案1>求解久1,久501,久s(1)使用幕法求解矩阵A的按模为最大的特征值九门,为减小舍入误差,采用第二种迭代方法,即每次迭代进行归一•化处理(2)对矩阵A进行原点平移得到矩阵B=A+心J⑶使用反幕法(Doolittle分解法)求解矩阵B的按模为最小的特征值心2⑷令心严心2-心1,则心1和久m3中较大的一个加501,较小的一个是右(5)使用反幕法求解矩阵A的按模为最小的特征值即为忑2、求解与数以最接近的特征值⑴对矩阵A进行原点
2、平移得到矩阵C=A-皿I(2)使用反幕法求解矩阵C的按模为瑕小的特征值伤⑶久ik=Pk+Uk(4)一次求出所有);lik3、A的条件数和行列式(1)A的条件数cond(/l)2=(2)反幕法中对矩阵A进行了Doolittle分解,其中上三角矩阵U的行列式与A的行列式相等,即detA=detU二、全部源程序//shuzhifenxil.cpp:Definestheentrypointfortheconsoleapplication.//#include#include#include3、ath.h>#defineN501#defineM5#defineR2#defineS2#defineK39#definee1.0e-12〃误差限doubleA[M][N];doubleu[N];doubley[N],yy[N];doublemaximum^ccond;doublevaluel,value2,value_l/value_N/value_s,value_abs_max;doublevalue_det;constdoubleb=0.16f,c=-0.064f;inti/j/k/t/max_sign,max_po4、sition;〃初始化矩阵Avoidinit_A(){for(i=2;i5、=l;}〃获得绝对值最大的数值的模voidget_max(){max_position=0;maximum=fabs(u[O]);for(i=l;i6、0]=A[2][0]*y[0]4-A[l][l]*y[l]+A[0][2]*y[2];u[l]=A[3][0]*y[0]+A[2][l]*y[l]+A[l][2]*y[2]+A[0][3]*y[3];u[N-2]=A[4][N-4]*y[N-4]+A[3][N-3]*y[N-3]+A[2][N-2]*y[N-2]+A[l][N-l]*y[N-l];u[N-l]=A[4][N-3]*y[N-3]+A[3][N-2]*y[N-2]+A[2][N-l]*y[N-l];for(i=2;i7、]*y[i-2]+A[3][i-l]*y[i-l]+A[2][i]*y[i]+A⑴[i+l]*y[i+l]+A[0][i+2]*y[i+2];}〃获得迭代后特征值voidget_value(){value2=valuel;valuel=max_sign*u[max_position];}〃幕法循环迭代voidagain_value(){init_u();〃初始化迭代向量get_max();〃获得绝对值最大的数值的模get_unit();〃单位化迭代向最get_u();〃获得新迭代向量get_value();〃获得迭代后特征8、值while(l){get_max();get_unit();get_u();get_value();if(fabs((value2-valuel)/valuel)
3、ath.h>#defineN501#defineM5#defineR2#defineS2#defineK39#definee1.0e-12〃误差限doubleA[M][N];doubleu[N];doubley[N],yy[N];doublemaximum^ccond;doublevaluel,value2,value_l/value_N/value_s,value_abs_max;doublevalue_det;constdoubleb=0.16f,c=-0.064f;inti/j/k/t/max_sign,max_po
4、sition;〃初始化矩阵Avoidinit_A(){for(i=2;i5、=l;}〃获得绝对值最大的数值的模voidget_max(){max_position=0;maximum=fabs(u[O]);for(i=l;i6、0]=A[2][0]*y[0]4-A[l][l]*y[l]+A[0][2]*y[2];u[l]=A[3][0]*y[0]+A[2][l]*y[l]+A[l][2]*y[2]+A[0][3]*y[3];u[N-2]=A[4][N-4]*y[N-4]+A[3][N-3]*y[N-3]+A[2][N-2]*y[N-2]+A[l][N-l]*y[N-l];u[N-l]=A[4][N-3]*y[N-3]+A[3][N-2]*y[N-2]+A[2][N-l]*y[N-l];for(i=2;i7、]*y[i-2]+A[3][i-l]*y[i-l]+A[2][i]*y[i]+A⑴[i+l]*y[i+l]+A[0][i+2]*y[i+2];}〃获得迭代后特征值voidget_value(){value2=valuel;valuel=max_sign*u[max_position];}〃幕法循环迭代voidagain_value(){init_u();〃初始化迭代向量get_max();〃获得绝对值最大的数值的模get_unit();〃单位化迭代向最get_u();〃获得新迭代向量get_value();〃获得迭代后特征8、值while(l){get_max();get_unit();get_u();get_value();if(fabs((value2-valuel)/valuel)
5、=l;}〃获得绝对值最大的数值的模voidget_max(){max_position=0;maximum=fabs(u[O]);for(i=l;i6、0]=A[2][0]*y[0]4-A[l][l]*y[l]+A[0][2]*y[2];u[l]=A[3][0]*y[0]+A[2][l]*y[l]+A[l][2]*y[2]+A[0][3]*y[3];u[N-2]=A[4][N-4]*y[N-4]+A[3][N-3]*y[N-3]+A[2][N-2]*y[N-2]+A[l][N-l]*y[N-l];u[N-l]=A[4][N-3]*y[N-3]+A[3][N-2]*y[N-2]+A[2][N-l]*y[N-l];for(i=2;i7、]*y[i-2]+A[3][i-l]*y[i-l]+A[2][i]*y[i]+A⑴[i+l]*y[i+l]+A[0][i+2]*y[i+2];}〃获得迭代后特征值voidget_value(){value2=valuel;valuel=max_sign*u[max_position];}〃幕法循环迭代voidagain_value(){init_u();〃初始化迭代向量get_max();〃获得绝对值最大的数值的模get_unit();〃单位化迭代向最get_u();〃获得新迭代向量get_value();〃获得迭代后特征8、值while(l){get_max();get_unit();get_u();get_value();if(fabs((value2-valuel)/valuel)
6、0]=A[2][0]*y[0]4-A[l][l]*y[l]+A[0][2]*y[2];u[l]=A[3][0]*y[0]+A[2][l]*y[l]+A[l][2]*y[2]+A[0][3]*y[3];u[N-2]=A[4][N-4]*y[N-4]+A[3][N-3]*y[N-3]+A[2][N-2]*y[N-2]+A[l][N-l]*y[N-l];u[N-l]=A[4][N-3]*y[N-3]+A[3][N-2]*y[N-2]+A[2][N-l]*y[N-l];for(i=2;i7、]*y[i-2]+A[3][i-l]*y[i-l]+A[2][i]*y[i]+A⑴[i+l]*y[i+l]+A[0][i+2]*y[i+2];}〃获得迭代后特征值voidget_value(){value2=valuel;valuel=max_sign*u[max_position];}〃幕法循环迭代voidagain_value(){init_u();〃初始化迭代向量get_max();〃获得绝对值最大的数值的模get_unit();〃单位化迭代向最get_u();〃获得新迭代向量get_value();〃获得迭代后特征8、值while(l){get_max();get_unit();get_u();get_value();if(fabs((value2-valuel)/valuel)
7、]*y[i-2]+A[3][i-l]*y[i-l]+A[2][i]*y[i]+A⑴[i+l]*y[i+l]+A[0][i+2]*y[i+2];}〃获得迭代后特征值voidget_value(){value2=valuel;valuel=max_sign*u[max_position];}〃幕法循环迭代voidagain_value(){init_u();〃初始化迭代向量get_max();〃获得绝对值最大的数值的模get_unit();〃单位化迭代向最get_u();〃获得新迭代向量get_value();〃获得迭代后特征
8、值while(l){get_max();get_unit();get_u();get_value();if(fabs((value2-valuel)/valuel)
此文档下载收益归作者所有