📄 flatanalyse.m
字号:
%层次分析法:plan 最终方案;rule1 准则层比较矩阵;rule2 方案层比较矩阵(为cell形式) b为各方案对目标权重,plan为最优方案
%erros为rule2中出错的比较矩阵
function [b,plan,erros]=flatanalyse(rule1,rule2)
b=[];
RI=[0.00001 0.00001 0.58 0.9 1.12 1.24 1.32 1.41 1.45 1.49 1.51 1.54 1.56 1.58 1.59 1.605];
%一致性检验
[x1,a1]=eigs(rule1);%x1为特征向量,a1特征根
c1=imag(a1(1));
b1=abs(x1(:,1));
b1=b1./sum(b1);
[m,n]=size(rule1);
if (a1(1)-n)/(n-1)/RI(m)>0.1| abs(c1)>0.001
tt=1;
sprintf('you need to modify your rule1')
end
nn=size(rule2);
erros=zeros(nn);
tt=0;
for i=1:nn
a=rule2{i};
[m2,n2]=size(a);
[x2,a2]=eigs(a);
c2=imag(a2(1));
b2(:,i)=abs(x2(:,1));
b2(:,i)=b2(:,i)./sum(b2(:,i));
if (a2(1)-n2)/(n2-1)/RI(n2)>0.1| abs(c2)>0.001
tt=1;
erros(i)=1
sprintf('you need to modify your rule2')
end
end
if tt~=1
for i=1:nn
b(:,i)=b2(:,i).*b1;
end
p=sum(b,2);
plan=find(p==max(p));
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -