欢迎来到天天文库
浏览记录
ID:56730688
大小:524.00 KB
页数:17页
时间:2020-07-06
《幂法,反幂法求解矩阵最大最小特征值及其对应的特征向量.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数值计算解矩阵的按模最大最小特征值及对应的特征向量一.幂法1.幂法简介:当矩阵A满足一定条件时,在工程中可用幂法计算其主特征值(按模最大)及其特征向量。矩阵A需要满足的条件为:(1)(2)存在n个线性无关的特征向量,设为1.1计算过程:不全为0,则有可见,当越小时,收敛越快;且当k充分大时,有,对应的特征向量即是。2算法实现3matlab程序代码function[t,y]=lpowerA,x0,eps,N)%t为所求特征值,y是对应特征向量k=1;z=0;%z相当于y=x0./max(abs(x0));%规范化初始向量x=A*y;%迭代格式
2、b=max(x);%b相当于ifabs(z-b)eps&&k3、代码正确,然后利用此程序计算15阶Hilb矩阵,与eig(A)的得到结果比较,再计算A*y-t*y,验证y是否是对应的特征向量。设置初始向量为x0=ones(15,1),结果显示如下可见,结果正确。得到了15阶Hilb矩阵的按模最大特征值和对应的特征向量。二.反幂法1.反幂法简介及其理论在工程计算中,可以利用反幂法计算矩阵按模最小特征值及其对应特征向量。其基本理论如下,与幂法基本相同:,可知,A和A-1的特征值互为倒数,求A按模最小特征值即求A-1的按模最大特征值,取倒数即为A的按模最小特征值所以算法基本相同,区别就是在计算2.算法实现3m4、atlab程序代码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=Ly;x=Uz;u=max(x);s=1/u;%按模最小为A-1按模最大的倒数.ifabs(u-r)eps&&k5、;end[m,index]=max(abs(x));%这两步保证取出来的按模最大特征值s=1/x(index);%是原值,而非其绝对值。end4举例验证同幂法一样,选取一个矩阵A,代入程序,得到结果,并与eig(A)的得到结果比较,再计算A*y-t*y,验证y是否是对应的特征向量。可见结果正确,然后利用此程序计算15阶Hilb矩阵,eig(A)的得到结果比较,再计算A*y-s*y,验证y是否是对应的特征向量。设置初始向量为x0=ones(15,1),结果显示如下可见,结果真确。得到了15阶Hilb矩阵的按模最大特征值和对应的特征向量。三.计6、算条件数矩阵A的条件数等于A的范数与A的逆的范数的乘积,即cond(A)=‖A‖·‖A^(-1)‖,对应矩阵的3种范数,可以定义3种条件数。函数cond(A,1)、cond(A)或cond(Ainf)是判断矩阵病态与否的一种度量,条件数越大表明矩阵的病态程度越大.,而如果A为对称矩阵,如Hilb矩阵,的最大最小特征值,分别为A的最大最小特征值的平方。所以cond(A)为A的最大最小特征值得比值。对于本例中的15阶Hilb矩阵来说,利用上面计算结果得其条件数(选择第二种条件数)为:3.0934e+017;这与直接利用cond(A)得到的结果:7、2.5083e+017在同一数量级,再次表明了上述算得得最大最小特征值的正确性,同时又表明Hilb矩阵是病态矩阵。四.Aitken商加速法1.简介与原理同幂法和反幂法计算最大和最小特征值类似,如果计算最大特征值,则迭代格式为;计算最小特征值时,迭代格式为。2.算法实现计算按模最大特征值算法如下:类似幂法和反幂法可以写出按模最小特征值算法,此处不再赘述。3.matlab程序代码function[r,y]=aitken(A,x0,eps,n)%r按模最大特征值,y为对应特征向量k=1;a0=0;%a相当于a1=1;%a1相当于r0=1;%相当于8、2中的y=x0./max(abs(x0));%规范化初始向量x=A*y;a2=max(abs(x));%a2相当于r=a0-(a1-a0)^2/(a2-2*a1+a0);%相当于
3、代码正确,然后利用此程序计算15阶Hilb矩阵,与eig(A)的得到结果比较,再计算A*y-t*y,验证y是否是对应的特征向量。设置初始向量为x0=ones(15,1),结果显示如下可见,结果正确。得到了15阶Hilb矩阵的按模最大特征值和对应的特征向量。二.反幂法1.反幂法简介及其理论在工程计算中,可以利用反幂法计算矩阵按模最小特征值及其对应特征向量。其基本理论如下,与幂法基本相同:,可知,A和A-1的特征值互为倒数,求A按模最小特征值即求A-1的按模最大特征值,取倒数即为A的按模最小特征值所以算法基本相同,区别就是在计算2.算法实现3m
4、atlab程序代码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=Ly;x=Uz;u=max(x);s=1/u;%按模最小为A-1按模最大的倒数.ifabs(u-r)eps&&k5、;end[m,index]=max(abs(x));%这两步保证取出来的按模最大特征值s=1/x(index);%是原值,而非其绝对值。end4举例验证同幂法一样,选取一个矩阵A,代入程序,得到结果,并与eig(A)的得到结果比较,再计算A*y-t*y,验证y是否是对应的特征向量。可见结果正确,然后利用此程序计算15阶Hilb矩阵,eig(A)的得到结果比较,再计算A*y-s*y,验证y是否是对应的特征向量。设置初始向量为x0=ones(15,1),结果显示如下可见,结果真确。得到了15阶Hilb矩阵的按模最大特征值和对应的特征向量。三.计6、算条件数矩阵A的条件数等于A的范数与A的逆的范数的乘积,即cond(A)=‖A‖·‖A^(-1)‖,对应矩阵的3种范数,可以定义3种条件数。函数cond(A,1)、cond(A)或cond(Ainf)是判断矩阵病态与否的一种度量,条件数越大表明矩阵的病态程度越大.,而如果A为对称矩阵,如Hilb矩阵,的最大最小特征值,分别为A的最大最小特征值的平方。所以cond(A)为A的最大最小特征值得比值。对于本例中的15阶Hilb矩阵来说,利用上面计算结果得其条件数(选择第二种条件数)为:3.0934e+017;这与直接利用cond(A)得到的结果:7、2.5083e+017在同一数量级,再次表明了上述算得得最大最小特征值的正确性,同时又表明Hilb矩阵是病态矩阵。四.Aitken商加速法1.简介与原理同幂法和反幂法计算最大和最小特征值类似,如果计算最大特征值,则迭代格式为;计算最小特征值时,迭代格式为。2.算法实现计算按模最大特征值算法如下:类似幂法和反幂法可以写出按模最小特征值算法,此处不再赘述。3.matlab程序代码function[r,y]=aitken(A,x0,eps,n)%r按模最大特征值,y为对应特征向量k=1;a0=0;%a相当于a1=1;%a1相当于r0=1;%相当于8、2中的y=x0./max(abs(x0));%规范化初始向量x=A*y;a2=max(abs(x));%a2相当于r=a0-(a1-a0)^2/(a2-2*a1+a0);%相当于
5、;end[m,index]=max(abs(x));%这两步保证取出来的按模最大特征值s=1/x(index);%是原值,而非其绝对值。end4举例验证同幂法一样,选取一个矩阵A,代入程序,得到结果,并与eig(A)的得到结果比较,再计算A*y-t*y,验证y是否是对应的特征向量。可见结果正确,然后利用此程序计算15阶Hilb矩阵,eig(A)的得到结果比较,再计算A*y-s*y,验证y是否是对应的特征向量。设置初始向量为x0=ones(15,1),结果显示如下可见,结果真确。得到了15阶Hilb矩阵的按模最大特征值和对应的特征向量。三.计
6、算条件数矩阵A的条件数等于A的范数与A的逆的范数的乘积,即cond(A)=‖A‖·‖A^(-1)‖,对应矩阵的3种范数,可以定义3种条件数。函数cond(A,1)、cond(A)或cond(Ainf)是判断矩阵病态与否的一种度量,条件数越大表明矩阵的病态程度越大.,而如果A为对称矩阵,如Hilb矩阵,的最大最小特征值,分别为A的最大最小特征值的平方。所以cond(A)为A的最大最小特征值得比值。对于本例中的15阶Hilb矩阵来说,利用上面计算结果得其条件数(选择第二种条件数)为:3.0934e+017;这与直接利用cond(A)得到的结果:
7、2.5083e+017在同一数量级,再次表明了上述算得得最大最小特征值的正确性,同时又表明Hilb矩阵是病态矩阵。四.Aitken商加速法1.简介与原理同幂法和反幂法计算最大和最小特征值类似,如果计算最大特征值,则迭代格式为;计算最小特征值时,迭代格式为。2.算法实现计算按模最大特征值算法如下:类似幂法和反幂法可以写出按模最小特征值算法,此处不再赘述。3.matlab程序代码function[r,y]=aitken(A,x0,eps,n)%r按模最大特征值,y为对应特征向量k=1;a0=0;%a相当于a1=1;%a1相当于r0=1;%相当于
8、2中的y=x0./max(abs(x0));%规范化初始向量x=A*y;a2=max(abs(x));%a2相当于r=a0-(a1-a0)^2/(a2-2*a1+a0);%相当于
此文档下载收益归作者所有