- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《数值分析》大作业一
1、算法设计方案:
⑴矩阵A的存储与检索:
将矩阵A[501][501],转存为新矩阵A[5][501]。在存入时,按每一行依次存入,存入时原矩阵与新矩阵的列号保持不变,其中原矩阵的主对角线上的元素存为新矩阵的第三行,最后所有元素存入新矩阵中。
⑵求λ1,λ501,λs
λs:λs表示矩阵的按模最小特征值,为求得λs直接对待求矩阵A应用反幂法即可。
λ1、λ501:已知矩阵A的特征值满足关系λ1<…<…λ501,要求λ1、及λ501时,可按如下方法求解:
对矩阵A用幂法,求得按模最大的特征值λn1。
按平移量λn1对矩阵A进行原点平移得矩阵,对矩阵B=A+λn1I用反幂法求得B的按模最小特征值λn2。
λn3=λn2一λn1
则:λ1=min(λn1,λn3),λ501=max(λn1,λn3)
⑶求A中与数μk=λ1+k(λ501-λ1)/40最接近的特征值λik(k=1,…39):
先求矩阵 B=A-I 对应的按模最小特征值,则+即为矩阵A与最接近的特征值。
重复以上过程39次即可求得(k=0,1,…39)的值。
⑷求A的(谱范数)条件数和行列式:
在(1)中用反幂法求矩阵A的按模最小特征值时,要用到Doolittle分解方法,在Doolittle分解完成后得到的两个矩阵分别为L和U,detA等于U所有对角线上元素的乘积。
,λmax和λmin分别为模最大特征值与模最小特征值。
2、程序源代码:
#includestdio.h
#includemath.h
#includestdlib.h
#define N 501 /*定义列数*/
#define M 5 /*定义行数*/
#define e 1.0e-12 /*误差限*/
double A[M][N]; /*初始矩阵*/
double u[N]; /*初始向量*/
double y[N],yy[N];
double maximum,TZ1,TZ2,TZ_1,TZ_N,TZ_s,TZ_abs_max;
int max_sign,max_position;
/*对矩阵A进行初始化程序,存为A[5][501]*/
void CSH_A( )
{
double b=0.16,c=-0.064;
int i;
for(i=2;iN;i++)
A[0][i]= c;
for(i=1;iN;i++)
A[1][i]= b;
for(i=0;iN;i++)
A[2][i]= (1.64-0.024*(i+1))*sin(0.2*(i+1))-0.64*exp(0.1/(i+1));
for(i=0;iN-1;i++)
A[3][i]= b;
for(i=0;iN-2;i++)
A[4][i]= c;
}
/*初始化迭代向量,且随机赋值*/
void CSH_u( )
{
int i;
for(i=0;iN;i++)
u[i]=double (15*rand( )/32767);
}
/*幂法中对迭代向量进行单位化程序*/
void Get_y( )
{
int i;
for(i=0;iN;i++)
y[i]=u[i]/maximum;
}
/*幂法中求解迭代向量的无穷范数*/
void Get_max( )
{
int i;
max_position=0;
maximum=fabs(u[0]);
for(i=1;iN;i++)
{
if(maximumfabs(u[i]))
{
max_position=i;
maximum=fabs(u[i]);
}
}
if(u[max_position]0)
max_sign=-1;
else
max_sign=1;
}
/*获得新迭代向量*/
void Get_u( )
{
int i;
u[0]=A[2][0]*y[0]+A[1][1]*y[1]+A[0][2]*y[2];
u[1]=A[3][0]*y[0]+A[2][1]*y[1]+A[1][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[1][N-1]*y[N-1];
u[N-1]=A[4][N-3]*y[N-3]+A[3][N-2]*y[N-2]+A[2][N-1]*y[N-1];
for(i=2;iN-2;i++)
u[i]=A[4][i-2]*y[i-2]+A[3][i-1]*y[
您可能关注的文档
- 员工培训与讲课技巧.ppt
- 政治期中复习提纲.ppt
- 组合图形的面积4.ppt
- 《采煤机司机》复习题(A、B)卷.doc
- 《电流和电路》复习提纲.doc
- 2012-2013年度第一学期惠阳第一中学九年级思想品德考试试题5.doc
- 2012年职称英语综合类A级试题.doc
- 2013年广州市普通高中毕业班综合测试语文试卷(二).doc
- 采购师考试大纲说明与各模块知识点11考试学员版.doc
- 初三上期末模拟考(二)英语试卷.doc
- 机电技术教育设计基于UG下的钢丝包装机的虚拟装配.doc
- 机械设计制造及其自动化论文汽车火花点火系统电磁干扰的抑制方法.doc
- 机械设计制造及其自动化论文基于solidworks的轴承架模拟仿真.doc
- TGXSES0004-2023 土壤和沉积物 6种醚类化合物的测定 吹扫捕集 气相色谱-质谱法.pdf
- DB62T4735-2023 动物诊疗机构医疗废弃物处置技术规范.pdf
- TZS0344-2022 数字化无掩模激光直写光刻机.pdf
- 安徽省建设用地使用标准编制说明.pdf
- DB62T4492-2022 枸杞品种甘杞1号.pdf
- TSDSES-化工材料-再生环戊酮.pdf
- DB4403T涉河建设项目防洪评价和管理技术规范.pdf
文档评论(0)