幂法,反幂法求解矩阵最大最小特征值及其对应特征向量.doc

幂法,反幂法求解矩阵最大最小特征值及其对应特征向量.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数值计算解矩阵的按模最大最小特征值及对应的特征向量 一.幂法 1. 幂法简介: 当矩阵A满足一定条件时,在工程中可用幂法计算其主特征值(按模最大)及其特征向量。矩阵A需要满足的条件为: 存在n个线性无关的特征向量,设为 1.1计算过程: 不全为0,则有 可见,当越小时,收敛越快;且当k充分大时,有,对应的特征向量即是。 2 算法实现 3 matlab程序代码 function [t,y]=lpowerA,x0,eps,N) % t 为所求特征值,y是对应特征向量 k=1; z=0; % z 相当于 y=x0./max(abs(x0)); % 规范化初始向量 x=A*y; % 迭代格式 b=max(x); % b 相当于 if abs(z-b)<eps % 判断第一次迭代后是否满足要求 t=max(x); return; end while abs(z-b)>eps && k<N k=k+1; z=b; y=x./max(abs(x)); x=A*y; b=max(x); end [m,index]=max(abs(x)); % 这两步保证取出来的按模最大特征值 t=x(index); % 是原值,而非其绝对值。 end 4 举例验证 选取一个矩阵A,代入程序,得到结果,并与eig(A)的得到结果比较,再计算 A*y-t*y,验证y是否是对应的特征向量。结果如下: 结果正确,表明算法和代码正确,然后利用此程序计算15阶Hilb矩阵,与eig(A)的得到结果比较,再计算 A*y-t*y,验证y是否是对应的特征向量。设置初始向量为x0=ones(15,1),结果显示如下 可见,结果正确。得到了15阶Hilb矩阵的按模最大特征值和对应的特征向量。 二.反幂法 1.反幂法简介及其理论 在工程计算中,可以利用反幂法计算矩阵按模最小特征值及其对应特征向量。其基本理论如下,与幂法基本相同: ,可知,A和A-1的特征值互为倒数,求A按模最小特征值即求A-1的按模最大特征值,取倒数即为A的按模最小特征值所以算法基本相同,区别就是在计算 算法实现 3 matlab程序代码 function [s,y]=invpower(A,x0,eps,n) % s 为按模最小特征值,y是对应特征向量 k=1; r=0; % r相当于 y=x0./max(abs(x0)); % 规范化初始向量 [L,U]=lu(A); z=L\y; x=U\z; u=max(x); s=1/u; % 按模最小为A-1按模最大的倒数. if abs(u-r)<eps % 判断第一次迭代后是否满足终止条件 return end while abs(u-r)>eps && k<n % 终止条件. k=k+1; r=u; y=x./max(abs(x)); z=L\y; x=U\z; u=max(x); end [m,index]=max(abs(x)); % 这两步保证取出来的按模最大特征值 s=1/x(index); % 是原值,而非其绝对值。 end 4 举例验证 同幂法一样,选取一个矩阵A,代入程序,得到结果,并与eig(A)的得到结果比较,再计算 A*y-t*y,验证y是否是对应的特征向量。 可见结果正确,然后利用此程序计算15阶Hilb矩阵,eig(A)的得到结果比较,再计算 A*y-s*y,验证y是否是对应的特征向量。设置初始向量为x0=ones(15,1),结果显示如下 可见,结果真确。得到了15阶Hilb矩阵的按模最大特征值和对应的特征向量。 计算条件数 矩阵A的条件数等于A的范数与A的逆的范数的乘积,即cond(A)=‖A‖·‖A^(-1)‖,对应矩阵的3种范数,可以定义3种条件数。 函数 cond(A,1)、cond(A)或cond(A inf)是判断矩阵病态与否的一种度量,条件数越大表明矩阵的病态程度越大. , 而如果A为对称矩阵,如Hilb矩阵,的最大最小特征值,分别为A的最大最小特征值的平方。所以cond(A) 为A的最大最小特征值得比值。对于本例中的15阶Hilb矩阵来说,利用上面计算结果得其条件数(选择第二种条件数)为:3.0934e+0

文档评论(0)

汪汪队 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档