如何利用matlab写topsis程序

如何利用matlab写topsis程序,第1张

function [ output_args ] = TOPSIS( A,W,M,N )

%topsis法,指标归一化采用向量归一化法,即正负指标均存在

%A为决策矩阵,W为权值矩阵,M为正指标所在的列,N为负指标所在的列

[ma,na]=size(A)

A=xiangliangguiyi(A) %用向量归一化法得到[标准决策矩阵]

for i=1:na

B(:,i)=A(:,i)*W(i)%按列循环得到[加权标准化矩阵]

end

V1=zeros(1,na) %初始化理想解和负理想解

V2=zeros(1,na)

BMAX=max(B) %取加权标准化矩阵每列的最大值和最小值

BMIN=min(B) %

for i=1:na

if i<=size(M,2)%循环得到理想解和负理想解,注意判断,不然会超个数

V1(M(i))=BMAX(M(i))

V2(M(i))=BMIN(M(i))

end

if i<=size(N,2)

V1(N(i))=BMIN(N(i))

V2(N(i))=BMAX(N(i))

end

end

for i=1:ma %按行循环求各方案的贴近度

C1=B(i,:)-V1

S1(i)=norm(C1) %S1,S2分别为离正理想点和负理想点的距离,用二阶范数

可求

C2=B(i,:)-V2

S2(i)=norm(C2)

T(i)=S2(i)/(S1(i)+S2(i))%T为贴近度

end

A

B

V1

V2

S1

S2

T

上一篇使用三角模糊数去模糊的方法构建了TOPSIS多属性决策方法,这篇使用三角模糊数的距离公式构建TOPSIS多属性决策方法。

1.模糊理想解与距离公式

我们选择以下4种距离公式,度量各个方案与模糊理想解之问的分离程度,包括Euclidean距离、L2-metric距离、Dp,q距离、Hausdorff距离等。

2.排序步骤与matlab程序


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12197127.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存