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 + -
显示快捷键?