資源簡介
多屬性決策的TOPSIS算法。其中leibie.mat可修改各個屬性效益型or成本型,效益型即為1,成本型即為-1。shuxing.mat可修改各個方案的評價值。最終輸出的index為最終的排名結果。
代碼片段和文件信息
%function?lixiangjie
%global?leibie
load(‘leibie.mat‘);%讀入數據,確定效益型or成本型
%%?考慮效益型or成本型
D=nan;
Z=normalization();
[hanglie]=size(Z);
for?i=1:hang
????for?j=1:lie
????????D(ij)=Z(ij)*leibie(j);
????end
end
%%?考慮正負理想解
zhenglixiang=max(D);
fulixiang=min(D);
%%?計算各方案到正負理想解的距離
for?i=1:hang
????temp=0;
????temp1=0;
????for?j=1:lie
????????temp=temp+(D(ij)-zhenglixiang(j))^2;
????????temp1=temp1+(D(ij)-fulixiang(j))^2;
????end
????d_1(i)=sqrt(temp);
????d_2(i)=sqrt(temp1);
end
%%?計算各方案的接近程度
for?i=1:hang
????c(i)=d_2(i)/(d_2(i)+d_1(i));
end
[Aindex]=sort(c‘descend‘);
評論
共有 條評論