clear all
clc
E = input(‘输入计算精度e:’);
Max = input(‘输入最大迭代次数Max:’);
F = input(‘输入优先关系矩阵F:’);
%计算模糊一致矩阵
N = size(F);
r = sum(F’);
for i = 1:N(1)
for j = 1:N(2)
R(i,j) = (r(i)-r(j))/(2*N(1))+0.5;
end
end
E = R./R’;
%计算初始向量————————————
% W = sum(R’)./sum(sum®);%和行归一法
%——————————————————
for i = 1:N(1)
S(i) = R(i,1);
for j = 2:N(2)
S(i) = S(i)R(i,j);
end
end
S = S^(1/N(1));
W = S./sum(S); %方根法
%——————————————————
% a = imput(‘参数a=?’);
% W = sum(R’)/(N(1)a)-1/(2a)+1/N(1); %排序法
% 利用幂法计算排序向量————————
V(:,1) = W’/max(abs(W)); %归一化
for i = 1:Max
V(:,i+1) = EV(:,i);
V(:,i+1) = V(:,i+1)/max(abs(V(:,i+1)));
if max(abs(V(:,i+1) - V(:,i))) < E
k = i;
A = V(:,i+1)./sum(V(:,i+1));
break
else
end
end
matlab实现模糊层次分析
于 2020-05-18 17:31:43 首次发布