clc; clear;
load('data.mat');
indice = data;
[m, ~] = size(indice);
normat = indice./sum(indice);
nrowsum = sum(normat, 2);
weight = nrowsum/m;
% 一致性检验
consismat = indice.*weight';
matrows = sum(consismat, 2);
cssvec = matrows./weight;
% CR标准
RI = [0,0,0.58,0.9,1.12,1.24,1.32,1.41,1.45,1.49,1.51,1.48,1.56,1.57,1.59];
CI = (mean(cssvec)-m)/(m-1);
CR = CI/RI(m);
if CR<0.1
disp(['CR=',num2str(CR),'<0.1'])
disp('通过一致性检验! 各因子权重为')
weight
else
disp(['CR=',num2str(CR),'>0.1'])
disp('未通过一致性检验, 请重新调整判断矩阵!')
end
AHP计算权重.mat
最新推荐文章于 2022-04-08 10:50:29 发布