三角模糊TOPSIS综合评价及matlab应用:去模糊化

三角模糊TOPSIS综合评价:去模糊化
三角模糊TOPSIS综合评价中,一般有三种情况,第一种情况,计算三角模糊数的均值和方差,然后构建模糊集综合排序指标,进一步根据排序指标获得正负理想解,计算欧式距离和贴近度。第二种情况,是计算三角模糊数的模糊正理想解,然后计算三角模糊数距离测度和贴近度。第三种情况,数计算三角模糊数的模糊正负理想解,然后计算三角模糊数相似度测度和贴近度。
先看第一种情况。

1.算法步骤:
三角模糊TOPSIS综合评价及matlab应用:去模糊化_第1张图片
2.案例数据与说明
三角模糊TOPSIS综合评价及matlab应用:去模糊化_第2张图片
三角模糊数去模糊化,我们选用均匀分布,具体公式可以参考上篇博文。
三角模糊TOPSIS综合评价及matlab应用:去模糊化_第3张图片
步骤2:计算加权判断矩阵
步骤3:计算正负理解
步骤4:计算相对贴近度

3.matlab程序

clear;clc;
y=[0 0.2	0.3	0.1	0.1	0.3	0	0.1	0.3	0.4	0.6	0.7
0.5	0.6	0.8	0.6	0.8	0.9	0.9	1	1	0.9	1	1
0.6	0.8	0.9	0.7	0.9	1	0.4	0.6	0.7	0.4	0.6	0.8];  
 
ma1=sum(y(:,1:3),2)/3
ma2=sum(y(:,4:6),2)/3
ma3=sum(y(:,7:9),2)/3
ma4=sum(y(:,10:12),2)/3

X=[ma1 ma2 ma3 ma4]
W=[0.3067	0.1833	0.1867	0.3133]  %权重三角模糊数期望值。
L=[1  1	1	1]

[m,n]=size(X);
%无量纲化决策矩阵
V=zeros(m,n);
for i=1:m
    for j=1:n
        %根据指标指示值判断是越大越优型指标还是越小越优型指标
        if L(j)==1
            %越大越优型指标的无量纲化
            V(i,j)=(X(i,j)-min(X(:,j)))/(max(X(:,j))-min(X(:,j)));
        else
            %越小越优型指标的无量纲化
            V(i,j)=(max(X(:,j))-X(i,j))/(max(X(:,j))-min(X(:,j)));
        end
    end
end

%构建加权决策矩阵
R=zeros(m,n);
for i=1:m
    for j=1:n
        R(i,j)=W(j)*V(i,j);
    end
end

%计算正理想解和负理想解
SP=zeros(1,n);
SM=zeros(1,n);

    for j=1:n
        %根据指标指示值判断是越大越优型指标还是越小越优型指标
        if L(j)==1
            %越大越优型指标的正理想解和负理想解
            SP(j)=max(R(:,j));%正理想解
            SM(j)=min(R(:,j));%负理想解
        else
            %越小越优型指标的正理想解和负理想解
            SP(j)=min(R(:,j));%正理想解
            SM(j)=max(R(:,j));%负理想解
        end
    end

%计算各方案与正理想解的距离 
SdP=zeros(1,m);
for i=1:m
    s=0;
    for j=1:n
        s=s+(SP(j)-R(i,j))^2;
    end
    SdP(i)=sqrt(s);
end

%计算各方案与负理想解的距离
SdM=zeros(1,m);
for i=1:m
    s=0;
    for j=1:n
        s=s+(SM(j)-R(i,j))^2;
    end
    SdM(i)=sqrt(s);
end

%计算贴近度
yita=zeros(1,m);
for i=1:m
    yita(i)=SdM(i)/(SdP(i)+SdM(i));
end
disp('贴近度为:');yita

结果分析:
贴近度为:yita = 0 0.8638 0.5523
结果可以看到方案二是最佳的。

你可能感兴趣的:(算法,matlab,线性代数,矩阵,动态规划)