




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
幂法求矩阵最大特征值幂法求矩阵最大特征值摘要在物理、力学和工程技术中的很多问题在数学上都归结为求矩阵特征值的问题,而在某些工程、物理问题中,通常只需要求出矩阵的最大的特征值(即主特征值)和相应的特征向量,对于解这种特征值问题,运用幂法则可以有效的解决这个问题。幂法是一种计算实矩阵A的最大特征值的一种迭代法,它最大的优点是方法简单。对于稀疏矩阵较合适, 但有时收敛速度很慢。 用java来编写算法。这个程序主要分成了三个大部分:第一部分为将矩阵转化为线性方程组;第二部分为求特征向量的极大值;第三部分为求幂法函数块。其基本流程为幂法函数块通过调用将矩阵转化为线性方程组的方法,再经过一系列的验证和迭代得到结果。 关键词:幂法;矩阵最大特征值;java;迭代POWER METHOD TO CALCULATE THE MAXIMUM EIGENVALUE MATRIXABSTRACTIn physics, mechanics and engineering technology of a lot of problems in math boil down to matrix eigenvalue problem, and in some engineering, physical problems, usually only the largest eigenvalue of the matrix (i.e., the main characteristics of the value) and the corresponding eigenvectors, the eigenvalue problem for solution, using the power law can effectively solve the problem.Power method is A kind of computing the largest eigenvalue of real matrix A of an iterative method, its biggest advantage is simple.For sparse matrix is right, but sometimes very slow convergence speed.Using Java to write algorithms.This program is mainly divided into three most: the first part for matrix can be converted to linear equations;The second part is the eigenvector of the maximum;The third part is the exponentiation method of function block.Its basic process as a power law function block by calling the method of matrix can be converted to linear equations, then after a series of validation and iteration to get the results. Key words: Power method; Matrix eigenvalue; Java; The iteration目 录 1 幂法.1 1.1 幂法基本思想.11.2规范化.22 概要设计.3 2.1 设计背景. .3 2.2 运行流程 .32.3运行环境.33 程序详细设计 .4 3.1 第一部分:矩阵转化为线性方程组. .4 3.2 第二部分:特征向量的极大值.4 3.3 第三部分:求幂法函数块.54 运行过程及结果 .6 4.1 运行过程. .6 4.2 运行结果.6 4.3 结果分析.65 心得体会 .7参考文献.8附录:源程序.9 2 1 幂法设An有n个线性相关的特征向量v1,v2,vn,对应的特征值l1,l2,ln,满足|l1| |l2| |ln|1.1 基本思想因为v1,v2,vn为Cn的一组基,所以任给x(0) 0, 线性表示所以有 若a1 0,则因知,当k充分大时 A(k)x(0) l1ka1v1 = cv1 属l1的特征向量,另一方面,记max(x) = xi,其中|xi| = |x|,则当k充分大时,若a1 = 0,则因舍入误差的影响,会有某次迭代向量在v1方向上的分量不为0,迭代下去可求得l1及对应特征向量的近似值。1.2 规范化在实际计算中,若|l1| 1则|l1ka1| ,若|l1| |l r +1| |ln|则定理结论仍成立。此时不同初始向量的迭代向量序列一般趋向于l1的不同特征向量。2 概要设计2.1 设计背景用java程序来实现幂法求矩阵最大特征值。2.2 运行流程本程序分为了几大部分,通过方法间的相互调用,达到求解目的:首先matrixx方法的作用是将矩阵A与向量X相乘,结果存储在Y中,即将方程组呈现出来,slove方法求出各未知数的最大值,程序的主体方法mifa通过do while 循环中调用matrixx方法实现幂法函数。2.3 运行环境 Windows 7 2009 JDK 6.03 程序详细设计首先在桌面里新建文件夹,并运行程序J+ 6.0;令一维矩阵u = 3,4,5; 双精度浮点型初值为 a = 1.0,b = 2.0;整型变量方程组的阶数 n=3;双精度浮点型方程组系数矩阵为 A = 7,3,-2,3,4,1,-2,-1,3;3.1 第一部分:矩阵转化为线性方程组将二维矩阵A,一维矩阵x,y以及阶数n作为它的形参,通过for循环将Ax相乘得到的结果存储在Y中。 其执行程序如下:public void matrixx(double A,double x,double y,int n)for(int i=0;in;i+)yi = 0;for(int j=0;jn;j+)yi += Aij*xj;3.2 第二部分:特征向量的极大值首先将形参double型一维矩阵x中的元素通过for循环取到最大值,并将最大值赋予max。其执行程序如下:public double slove(double x,int n)double max = 0;for(int i=0;ixi+1?xi:xi+1;return max;3.3 第三部分:求幂法函数块这个方法有五个形参,二维矩阵A,一维矩阵u,双精度浮点型初值a,b矩阵的阶数n。该方法的主体部分在do while中,通过循环迭代matrixx方法和solve方法,解出矩阵的特征值并且比较出最大特征值。通过for循环列出关于该矩阵的线性方程组的所有特征向量。其执行程序如下:public void mifa(double A,double u,double a,double b,int n)double c = 0.0;double c1 = 0.0;int count = 0;double temp=0,0,0;dodouble u1 = u; matrixx(A,u1,u,n);c = slove(u,n);c1 = c;guifanhua(u,n);printfcount(count,u,n);count+;for(int i =0;ia|Math.abs(c1-c)b);System.out.println(最大特征值为:+c);System.out.println(特征向量为:);for(int i=0;in;i+)System.out.println(ui+);4 运行过程及结果4.1 运行过程通过J+ 6.0,用for循环将Ax相乘得到的结果存储在Y中,将形参double型数组x中通过for循环取到最大值,在do while 中调用matrixx方法,及solve方法,并打印最大特征值与特征向量。4.2 运行结果经多次调试程序,不再报错,结果如下图:4.3 结果分析该程序运行结果无误,其最大特征值为35.0,是实际运算结果。5 心得体会由于这次课程设计题目是由老师选的,一开始我认为非常难,不知道从哪里下手。并且题目内容还是这学期学的数值分析上的内容。内容也一知半解,但是最后在同学的帮助下我还是完成了这次课程设计,通过这次课程设计收获很多,在该实验中,我学会了为具体操作选择最合适的循环语句及for、while、do.while语句的相互转换使用。最重要的是,明白了JAVA程序中,定义方法中的局部变量时一定要赋初始值,否则编译不能通过会报错;但类中的成员变量则不一定需要。同时通过这次课程设计让我意识到自己的java的基础还是很薄弱,有很多基本的知识都一知半解,不会合理利用学过的东西,在设计的过程中不时地翻阅资料,有时花费一天时间就只能完成一个功能。程序代码完成之后,要进行运行调试,刚开始由于没有调试经验和方法效率很低,同时发现了许多错误,最后同学的帮助下,终于顺利完成了,自己也从中学到了不少东西。更重要的是,在测试过程中的往往发现自己粗心大意犯了很多不必要的错误,通过这次课题,也使我认识到了认真在学习中的重要。以后我要更认真努力的学习java。参考文献1 李庆扬 王能超 以大义数值分析华中科技大学出版社 第四版2 李兴华 Java从入门到精通 人民邮电出版社 2010-4-1版3 臧萌 编著 Java入门123清华大学出版社2010-5-1版4 朱福喜.Java语言程序设计(第二版).科学出版社5 李辉 打通经脉 Java 基础入门编程详解中国铁道出版社2010-11-01版6 陈国君等.Java程序设计基础(第二版).清华大学出版社7 Deitel.Java大学基础教程(第六版).电子工业出版社 8 MaryCampione.Java语言导学(第四版).机械工业出版社9 Y.Daniel Liang.Java语言程序设计基础篇(第六版).机械工业出版社10 Kathy Sierra.Head First Java(第二版).东南大学出版社11 喻桃阳 Java快速入门与商用项目培训清华大学出版社2011-03-01版12 温沿书 Java入门与实战教程人民邮电出版社2010-03-01版13 李钟尉 Java范例完全自学手册人民邮电出版社2009-10-114 印旻编著,Java语言与面向对象程序设计,清华大学出版社15 耿详义编著,Java2程序设计实用教程,清华大学出版社16 辛运帏 Java程序设计(第二版) 清华大学出版社源程序public class MifaSolve public static void main(String args) / TODO Auto-generated method stubMifaSolve mifaSolve = new MifaSolve();double u = 3,4,5;double a = 1.0;double b = 2.0;int n=3;double A = 7,3,-2,3,4,1,-2,-1,3;mifaSolve.mifa(A,u,a,b,n);/将矩阵A与向量X相乘,结果存储在Y中(用for循环将Ax相乘得到的结果存储在Y中)public void matrixx(double A,double x,double y,int n)for(int i=0;in;i+)yi = 0;for(int j=0;jn;j+)yi += Aij*xj;/求最大值(将形参double型数组x中通过for循环取到最大值)public double slove(double x,int n)double max = 0;for(int i=0;ixi+1?xi:xi+1;return max;/规范化函数public void guifanhua(double x,int n)double temp = slove(x,n);for(int i=0;in;i+)xi/=temp;/幂法函数(在do while 中调用matrixx方法,及solve方法,并打印最大特征值与特征向量)public void mifa(double A,double u,double a,double b,int n)double c = 0.0;double c1 = 0.0;int count = 0;double temp=0,0,0;dodouble u1 = u; matrixx(A,u1,u,n);c = slove(u,n);c1 = c;guifanhua(u,n);printfcount(c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安陆市2024-2025学年七年级上学期语文期中测试试卷
- 阿勒泰地区2024-2025学年七年级下学期语文期中测试试卷
- 安徽省阜阳市太和县2023-2024学年高三下学期高考第一模拟考试(一模)化学题目及答案
- 2025 年小升初上海市初一新生分班考试数学试卷(带答案解析)-(沪教版)
- 以专病护士为主导的帕金森病全周期照护模式案例分享课件
- 甘肃省高台县2025年春学期期中九年级化学试卷(无答案)
- 湖北省武汉市九师联盟2025-2026学年高三上学期8月开学考地理试题
- 社区档案管理课件
- 供销合同范本茶叶
- 收购成品金属合同范本
- 2025年秋招:新媒体运营笔试题目及答案
- 《2型糖尿病中医防治指南(2024版)》解读课件
- 中国兽药典三部 2020年版
- GB/T 4669-2008纺织品机织物单位长度质量和单位面积质量的测定
- Fanuc系统宏程序教程
- 药物竹罐临床应用课件
- 2022年咸阳经开城市发展集团有限公司招聘笔试试题及答案解析
- 不等式的基本性质说课课件
- 计量检定员考试题库计量基础知识
- T∕CTSS 24-2021 烘青栗香绿茶加工技术规程
- DB32T 4252-2021 民用建筑燃气安全规范
评论
0/150
提交评论