topsis.m

来自「many matlab script ,i colect many things」· M 代码 · 共 27 行

M
27
字号
A=[85 81 90 94 89;86 91 95 80 85;260 210 160 140 280;69 55 77 45 60];   k=2
W=diag([0.38;0.15;0.34;0.13]);
p=size(A);n=p(1);m=p(2);
for i=1:n
    B(i)=sqrt(sum(A(i,:).^2));
    V(i,:)=A(i,:)/B(i);
end
Y=W*V;
Y1=Y(1:k,:);Y2=Y(k+1:n,:);
for i=1:k
    Y11(i)=max(Y1(i,:));
    Y01(i)=min(Y1(i,:));
end
for i=1:n-k
    Y12(i)=min(Y2(i,:));
    Y02(i)=max(Y2(i,:));
end
X1=[Y11 Y12];
X0=[Y01 Y02];
for j=1:m
    d1(j)=sqrt(sum((Y(:,j)-X1').^2));
    d0(j)=sqrt(sum((Y(:,j)-X0').^2));
end
d=d0./(d1+d0);
V
Y
D=[d1;d0;d]

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?