1.为什么不单独使用层次分析法
1.评价决策层不能太多,太多的话n很大,判断矩阵和一致矩阵差异可能会很大
2.RI限制
3.主观性太强
2.流程
3.数据正向化方式
数据正向化代码
%%极小型指标正向化
a=mL;%%正向化的列
b=size(a);
c=[];
M=max(a);
for i=1:b
c(i,1)=M-a(i,1);
end
disp(c)
%%中间型指标正向化
d=input('');
a=PH;%%正向化的列
b=size(a);
%%repmat(d,b,1);%%b是行的重复次数,1是列的重复次数
e=ones(b(1,1),1)*d;
c=[];
M=max(abs(a-e));
for i=1:b
c(i,1)=1-abs(a(i)-d)/M;
end
disp(c)
%%区间型型指标正向化
function [posit_x] = Inter2Max(x,a,b)
r_x = size(x,1); % row of x
M = max([a-min(x),max(x)-b]);
posit_x = zeros(r_x,1); %zeros函数用法: zeros(3) zeros(3,1) ones(3)
% 初始化posit_x全为0 初始化的目的是节省处理时间
for i = 1: r_x
if x(i) < a
posit_x(i) = 1-(a-x(i))/M;
elseif x(i) > b
posit_x(i) = 1-(x(i)-b)/M;
else
posit_x(i) = 1;
end
end
end
后续操作