matlab如何求指标的权向量_层次分析法中,求出矩阵最大特征值对应的特征向量,再分别平方就是权向量么用matl......
满意答案
口袋兔子耳朵长
2015.07.09
已帮助:3148万人
已回答:104万条
来自:阳光兔(北京)科技有限公司,是学大教育集团与奇虎360成立的合资公司,利用学大教育在内容和教育方面的资源,以及奇虎360的技术积累和互联网资源,致力于以互联网和新技术推动个性化教育的普及。
这有个我们以前的MATLAB幂法求特征值和特征响量的程序:[maxnorm.m]function t=maxnorm(a)%求数列中按模最大的分量n=length(a);t=0;for i=1:n if abs(a(i)/max(abs(a)))>=1 t=a(i); endendfunction [mt,my]=maxtr(a,eps)%用幂法求矩阵的主特征值和对应的特征向量n=length(a);x0=diag(ones(n));k=1x=a*x0while norm(x-x0)>eps k=k+1 q=x; y=x/maxnorm(x) x=a*y; x0=q;endmt=maxnorm(x)my=y[main1.m]a=[3 2;4 5]maxtr(a,0.0001)[invmaxtr.m]function [mx,mt,my]=invmaxtr(a,eps)%求矩阵按模最小的特征值和对应的特征向量n=length(a);x0=diag(ones(n));x=inv(a)*x0;k=0while norm(x-x0)>eps k=k+1 q=x; y=x/maxnorm(x) x=inv(a)*y; x0=q;endmt=1/maxnorm(x)my=y[main.m]a=[3 2;4 5]invmaxtr(a
推广链接
00分享举报