DEMATEL算法程序

DEMATEL算法程序
写了一个简单的DEMATEL算法的程序

clear;clc;
%% 计算直接关联矩阵
w=[1,2,3,4,5,6]; %整体权值向量
m=length(w);
B=zeros(m); %初始化直接关联矩阵
for i=1:m
    for j=1:m
        B(i,j)=w(i)/w(j);
        B(i,i)=0
    end
end
%% 归一化
X=mapminmax(B,-1,1);  %归一化直接关联矩阵,归一化至[-1,1]
T=X*inv(eye(m)-X); %全关联矩阵
%% 建立因果关系图
for i=1:m
    for j=1:m
        D(i)=sum(T(i,:));  % 全关联矩阵的各行之和-被影响度
        R(j)=sum(T(:,j));  % 全关联矩阵的各列之和-影响度
    end
end
f=R+D; % 中心度
r=R-D; % 原因度

你可能感兴趣的:(DEMATEL)