Skip to content

Commit ccd5d26

Browse files
authored
Update narytopsis.m
1 parent c2db8ec commit ccd5d26

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

narytopsis.m

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,36 @@
1-
function [c,Dplus,Dminus]=topsis(data,p,w,w2,crit)
1+
function [c,Dplus,Dminus]=topsis(data,p,w,w2,crit,we)
22
x=data;
33
[m,n]=size(x);
4+
if nargin<6
5+
we=ones(1,n);
6+
elseif nargin<5
7+
crit=ones(1,n);
8+
end
9+
410
a=zeros(m,n);
511
%Normalization to unit interval:
612
a=normalization(x);
7-
13+
%weigted normalized decision matrix:
14+
r=we.*a;
815
%Positive and negative ideal solutions:
916
PIS=zeros(1,n);
1017
NIS=zeros(1,n);
1118
for j=1:n
1219
if crit(j)==1
13-
PIS(j)=recursivetconorm(a(:,j)',w);
14-
NIS(j)=recursivetnorm(a(:,j),w2);
20+
PIS(j)=recursivetconorm(r(:,j)',w);
21+
NIS(j)=recursivetnorm(r(:,j),w2);
1522
else
16-
NIS(j)=recursivetconorm(a(:,j)',w);
17-
PIS(j)=recursivetnorm(a(:,j),w2);
23+
NIS(j)=recursivetconorm(r(:,j)',w);
24+
PIS(j)=recursivetnorm(r(:,j),w2);
1825
end
1926
end
2027

2128
%Distances to PIS and NIS
2229
DPISB=zeros(1,m);
2330
DNISB=zeros(1,m);
2431
for i=1:m
25-
Dplus(i)=distM(PIS,a(i,:),p);
26-
Dminus(i)=distM(NIS,a(i,:),p);
32+
Dplus(i)=distM(PIS,r(i,:),p);
33+
Dminus(i)=distM(NIS,r(i,:),p);
2734
end
2835
%Closeness coefficient:
2936
c=zeros(1,m);

0 commit comments

Comments
 (0)