ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:181.38KB ,
资源ID:12584809      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12584809.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数值分析幂法课程设计.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数值分析幂法课程设计.docx

1、数值分析幂法课程设计课 程 设 计 报 告课程名称 计算方法课程设计 课题名称 用幂法求矩阵的最大特征值 专 业 班 级 学 号 姓 名 指导教师 聂存云,赵钍焱 2011年 06 月 20 日湖 南 工 程 学 院课 程 设 计 任 务 书课程名称 计算方法 课 题 用幂法求矩阵的最大特征值 专业班级 信息科学0801 学生姓名 李奋勇 学 号 200810010120 指导老师 聂存云,赵钍焱 审 批 任务书下达日期 2011 年 6 月 16 日任务完成日期 2011年 6 月 20 日目录1.设计内容与设计要求32.问题的描述及算法设计43.算法的流程图44.算法的理论依据及其推导45

2、.相关的数值结果86.数值计算结果的分析9 7.附件10 8.总结12一、设计内容与设计要求1设计内容: 对课程计算方法中的常见算法进行综合设计或应用(具体课题题目见后面的供选题目)。2设计要求: 课程设计报告正文内容a. 问题的描述及算法设计;b. 算法的流程图(要求画出模块图);c. 算法的理论依据及其推导;d. 相关的数值结果(通过程序调试),;e. 数值计算结果的分析;f. 附件(所有程序的原代码,要求对程序写出必要的注释)。 书写格式a要求用A4纸打印成册b正文格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。c正文的内容:正文总字数要求在3000字左右

3、(不含程序原代码)。d封面格式如下页。 考核方式指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新精神和设计报告等进行综合考评,并按优秀、良好、中等、及格和不及格五个等级给出每位同学的课程设计成绩。具体考核标准包含以下几个部分:a平时出勤 (占10%)b系统需求分析、功能设计、数据结构设计及程序总体结构合理与否(占10%)c程序能否完整、准确地运行,个人能否独立、熟练地调试程序(占40%)d设计报告(占30%)注意:不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。e独立完成情况(占10%)。 课程验收要求a判定算法设计的合理性,运行相关程序,获得正确的数值结果。

4、b回答有关问题。c提交课程设计报告。d提交软盘(源程序、设计报告文档)。e依内容的创新程度,完善程序情况及对程序讲解情况打分。3、进度安排1、 班级: 信息与计算科学:0501、0502、05032、 主讲教师:聂 存 云3、 辅导教师:聂 存 云、赵 钍 焱4、 时间安排:第 16 周 星期一 8时:00分16时:30分 星期三 8时:00分16时:30分 星期五 8时:00分16时:30分 星期天 8时:00分11时:00分二、 问题的描述及算法设计 对于给定矩阵A用幂法求解矩阵A的最大特征值;本算法用于求矩阵按模最大的特征值及其相应特征向量。程序执行后,先通过键盘输入矩阵、迭代初值向量、

5、精度控制和迭代允许最大次数,程序即可给出每次迭代的次数和对应的迭代特征值、特征向量及误差序列,它们都按10位有效数输出。其中最后输出的结果即为所求的特征值和特征向量序列。如果迭代超出次还没有求出满足精度的根则输出迭代超限提示,此时可以根据输出序列判别收敛情况。三、 算法的描述;(1)输入矩阵、初始向量,误差;(2);(3)计算;(4);(5);(6)如果,则显示特征值和对应的特征向量),终止; (7),转(3)注:如上算法中的符号表示取向量中绝对值最大的分量。本算法使用了数据规范化处理技术以防止计算过程中出现益出错误。四、 算法的理论依据及其推导; 幂法是通过求矩阵特征向量来求出特征值的一种迭

6、代法.其基本思想是:若我们求某个n阶方阵A的特征值和特征向量,先任取一个初始向量X(0),构造如下序列: X(0) ,X(1) =AX(0) ,X(2) =AX(1) , X(K) =AX(K+1) , 当k增大时,序列的收敛情况与绝对值最大的特征值有密切关系,分析这一序列的极限,即可求出按模最大的特征值和特征向量. 假定矩阵A有n个线性无关的特征向量.n个特征值按模由大到小排列: 1=2=n 其相应的特征向量为: V1 ,V2 , ,Vn 它们构成n维空间的一组基.任取的初始向量X(0)由它们的线性组合给出 X(0)=a1V1+a2V2+anVn 由此知,构造的向量序列有 X(k) =AX(

7、k-1) = A2X(k-2) =AkX(0) = a11kV1+a2 2kV2+annkVn 下面按模最大特征值1是单根的情况讨论: 由此公式(5)可写成 X(k) = 1k (a1V1+a2 (2/1)kV2+an(n/1)kVn ) 若a10,由于|i/1 |1 (i2),故k充分大时, X(k) = 1k (a1V1+k) 其中k为一可以忽略的小量,这说明X(k)与特征向量V1相差一个常数因子,即使a1=0,由于计算过程的舍入误差,必将引入在方向上的微小分量,这一分量随着迭代过程的进展而逐渐成为主导,其收敛情况最终也将与相同。特征值按下属方法求得: 1 Xj(k+1)/ Xj(k) 其

8、中Xj(k+1), Xj(k)分别为X(k+1),X(k)的第j各分量。 实际计算时,为了避免计算过程中出现绝对值过大或过小的数参加运算,通常在每步迭代时,将向量“归一化”即用的按模最大的分量 max |Xj(k)| 1jn去除X(k)的各个分量,得到归一化的向量Y(k),并令X(k+1) = AY(k)由此得到下列选代公式 : Y(k) = X(k)/ X(k) X(k+1) = AY(k) k=0,1,2, 当k充分大时,或当 X(k)- X(k+1)时, Y(k)V1 max |Xj(k)| 1 1jn五、 相关的数值结果(通过程序调试),; 六、 数值计算结果的分析;对于同一个矩阵,给

9、定不同的处值及精度计算出的结果如下七、 附件 #include #include#include#define eps 1e-6int main() float Maxline(float* p); float Matrix1616 = 0 , x16 = 0 , Init16 = 0 , fore16 = 0; float MaxCV = 0 , eps2 = 100; int i = 0 , j = 0 , t = 0 , col = 0; printf(The Matrixs col is : ); scanf(%d , &col); printf(The Matrix is n); f

10、or(i = 0 ; i col ; i +) for(j = 0 ; j col ; j +) scanf(%f , &Matrixij); printf(The Init is n); for(i = 0 ; i col ; i +) scanf(%f , &Initi); for(j = 0 ; j 10 ; j +) MaxCV = Maxline(Init); for(i = 0 ; i col ; i +) xi = (Initi / MaxCV); for(i = 0 ; i col ; i +) printf(%.4ft , Initi); printf(t%.4ftt , M

11、axCV); for(i = 0 ; i col ; i +) printf(%.4ft , xi); for(i = 0 ; i col ; i +) forei = Initi; Initi = 0; for(t = 0 ; t col ; t +) Initi += (Matrixit * xt); if(fabs(Initi - forei) eps2) eps2 = fabs(Initi - forei); printf(n); if(eps2 eps) break; getch();float Maxline(float* p) float max = 0; int i = 0; for(i = 0 ; *(p + i) != 0 ; i +) if(max *(p + i) max = *(p + i); return max;八,总结 在这次的编程练习中我学到了很多东西,在多次的c编程中我学会了种种不同的有效算法,并且更熟练的掌握了一些编程技巧。在多次的编写,调试和运行程序中我更加深刻的了解了一些算法的优越性和一些问题。这是我在以后的编程过程中更加深刻的思考和努力的学习。数理系课程设计评分表课程名称: 项 目评 价设计方案的合理性与创造性设计与调试结果设计说明书的质量答辩陈述与回答问题情况课程设计周表现情况综合成绩 教师签名: 日 期:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1