| [Vmax,Vind,T,MajorityVoterOutput]=MajorityVotingNbit(y1,y2,y3,y4,y5,a)
|
function [Vmax,Vind,T,MajorityVoterOutput]=MajorityVotingNbit(y1,y2,y3,y4,y5,a)
% This fuction finds Majority Group Vm described in Referrence [12] and
% in the paper (page:4 Title:Majority Voter Using Distance Metric)
% a:consensus threshold.
% y1,y2,y3,y4,y5: bit vektors
a11=1;
a12=inCloseDist(y1,y2,a);
a13=inCloseDist(y1,y3,a);
a14=inCloseDist(y1,y4,a);
a15=inCloseDist(y1,y5,a);
a22=1;
a23=inCloseDist(y2,y3,a);
a24=inCloseDist(y2,y4,a);
a25=inCloseDist(y2,y5,a);
a33=1;
a34=inCloseDist(y3,y4,a);
a35=inCloseDist(y3,y5,a);
a44=1;
a45=inCloseDist(y4,y5,a);
a55=1;
T1=a11+a12+a13+a14+a15;
T2=a12+a22+a23+a24+a25;
T3=a13+a23+a33+a34+a35;
T4=a14+a24+a34+a44+a45;
T5=a15+a25+a35+a45+a55;
T=[ T1 T2 T3 T4 T5];
maxValue=0;
if T1>maxValue
maxValue=T1;
MajorityVoterOutput=y1;
end
if T2>maxValue
maxValue=T2;
MajorityVoterOutput=y2;
end
if T3>maxValue
maxValue=T3;
MajorityVoterOutput=y3;
end
if T4>maxValue
maxValue=T4;
MajorityVoterOutput=y4;
end
if T5>maxValue
maxValue=T5;
MajorityVoterOutput=y5;
end
maxValue;
Vmax=[];
Vind=[];
if maxValue==1
maxValue=0;
end
Vmax=[];
Vind=[];
if T1==maxValue
if a11==1
Vmax=cat(1,Vmax,y1);
Vind=cat(2,Vind,1);
end
if a12==1
Vmax=cat(1,Vmax,y2);
Vind=cat(2,Vind,2);
end
if a13==1
Vmax=cat(1,Vmax,y3);
Vind=cat(2,Vind,3);
end
if a14==1
Vmax=cat(1,Vmax,y4);
Vind=cat(2,Vind,4);
end
if a15==1
Vmax=cat(1,Vmax,y5);
Vind=cat(2,Vind,5);
end
elseif T2==maxValue
if a12==1
Vmax=cat(1,Vmax,y1);
Vind=cat(2,Vind,1);
end
if a22==1
Vmax=cat(1,Vmax,y2);
Vind=cat(2,Vind,2);
end
if a23==1
Vmax=cat(1,Vmax,y3);
Vind=cat(2,Vind,3);
end
if a24==1
Vmax=cat(1,Vmax,y4);
Vind=cat(2,Vind,4);
end
if a25==1
Vmax=cat(1,Vmax,y5);
Vind=cat(2,Vind,5);
end
elseif T3==maxValue
if a13==1
Vmax=cat(1,Vmax,y1);
Vind=cat(2,Vind,1);
end
if a23==1
Vmax=cat(1,Vmax,y2);
Vind=cat(2,Vind,2);
end
if a33==1
Vmax=cat(1,Vmax,y3);
Vind=cat(2,Vind,3);
end
if a34==1
Vmax=cat(1,Vmax,y4);
Vind=cat(2,Vind,4);
end
if a35==1
Vmax=cat(1,Vmax,y5);
Vind=cat(2,Vind,5);
end
elseif T4==maxValue
if a12==1
Vmax=cat(1,Vmax,y1);
Vind=cat(2,Vind,1);
end
if a22==1
Vmax=cat(1,Vmax,y2);
Vind=cat(2,Vind,2);
end
if a34==1
Vmax=cat(1,Vmax,y3);
Vind=cat(2,Vind,3);
end
if a44==1
Vmax=cat(1,Vmax,y4);
Vind=cat(2,Vind,4);
end
if a45==1
Vmax=cat(1,Vmax,y5);
Vind=cat(2,Vind,5);
end
elseif T5==maxValue
if a15==1
Vmax=cat(1,Vmax,y1);
Vind=cat(2,Vind,1);
end
if a25==1
Vmax=cat(1,Vmax,y2);
Vind=cat(2,Vind,2);
end
if a35==1
Vmax=cat(1,Vmax,y3);
Vind=cat(2,Vind,3);
end
if a45==1
Vmax=cat(1,Vmax,y4);
Vind=cat(2,Vind,4);
end
if a55==1
Vmax=cat(1,Vmax,y5);
Vind=cat(2,Vind,5);
end
end
|
|