求层次分析法中n维的RI
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
%四十二维矩阵的计算
clear
clc
A=[1 6 3 6
1/6 1 1/2 1
1/3 2 1 1
1/6 1 1 1];
B1=xlsread('德育分.xls');
B2=xlsread('智育分.xls');
B3=xlsread('体育分.xls');
B4=xlsread('能力分.xls');
BS=[B1,B2,B3,B4];
m = length(B1);n = length(A); %随机一致性指标RI
RI = [0,0,0.58,0.90,1.12,1.24,1.32,1.41,1.45,1.49,1.51];
[WA,LA] = eigen(A); %求A的特征向量WA和特征根LA
CIn = (LA - n) / (n - 1);
CRn = CIn / RI(n); %A的一致性比率CRn
if CRn < 0.10
fprintf('A 的CR=%f,通过一致性检验!\n',CRn);
else
fprintf('A 的CR=%f,未通过一致性检验!\n',CRn);
end
for k = 1:n %求B的特征向量WK和特征根LK
[WK(:,k),LK(1,k)] = eigen( BS(1:m,(k-1)*m+1:(k-1)*m+m) );
CIm(1,k) = (LK(1,k) - m) / (m - 1);
R=1.800;
CRm(1,k) = CIm(1,k)/R;
end
for k = 1:n
if CRm(1,k) < 0.10
fprintf('B%d的CR=%f,通过一致性检验!\n',k,CRm(1,k));
else
fprintf('B%d的CR=%f,未通过一致性检验!\n',k,CRm(1,k));
end
end
disp('准则层对目标层权向量'); disp(WA);
disp('方案层对准则层权向量'); disp(WK);
E = WK * WA;
disp('方案层组合权向量');disp(E);
CI = CIm * WA;
RI = R * WA;
CR = CI / RI; %组合一致性比率CR
if CR < 0.10
fprintf('组合一致性比率CR=%f,通过一致性检验!\n',CRn);
else
fprintf('组合一致性比率CR=%f,未通过一致性检验!\n',CRn);
end
[MAX,CHOICE] = max(E); %最佳选择
disp('最佳选择工作为:'); disp(CHOICE)