📄 classcover1103hybrid.m
字号:
RateB=0.7;
end
if sequence==7
RateA=0.03;
RateB=0.5;
end
if sequence==8
RateA=0.045;
RateB=0.65;
end
if sequence==9
RateA=0.04;
RateB=0.55;
end
if sequence==10
RateA=0.055;
RateB=0.7;
end
if sequence==11
RateA=0.045;
RateB=0.55;
end
A(5,1)=0;%num of covered points w.r.t a point
A(6,1)=0;%uncovered points
coverend=1;
while coverend>=1
for i=1:1:NumofClass1
x=0;
if A(6,i)==0
for j=1:1:NumofClass1
if A(6,j)==0
tempradius=sqrt((A(1,i)-A(1,j))^2+(A(2,i)-A(2,j))^2);
if A(4,i)>RateB*MaxRadius
A(4,i)=RateB*MaxRadius;
end
if tempradius<=A(4,i)
x=x+1;
end
end
end
A(5,i)=x;
end
end
%找中心点
var=0;
position=0;
for i=1:1:NumofClass1
if (A(6,i)==0)&(A(5,i)>=RateA*NumofClass1)
if (var==0)
var=1;
position=i;
y=A(5,i);
elseif A(5,i)>y
position=i;
y=A(5,i);
end
end
end
%去除已被覆盖的点
if position>0
for i=1:1:NumofClass1
tempredius=sqrt((A(1,i)-A(1,position))^2+(A(2,i)-A(2,position))^2);
if tempredius<=A(4,position)
A(6,i)=1; %1 rep. be covered
end
end
end
%画图显示,B(2,x)---radius;(A(1,x),A(2,x))---centra
if position ==0
coverend=0;
else %paint circle
%write point and radius to file for statistic
fprintf(fid2,'%i %f\n',sequence,A(4,position));
fprintf(fid3,'%f %f %f %i\n',A(1,position),A(2,position),A(4,position),sequence);
hold on
for t=A(1,position)-A(4,position):A(4,position)/100:A(1,position)+A(4,position);
y1=A(2,position)+sqrt(A(4,position)^2-(t-A(1,position))^2);
y2=A(2,position)-sqrt(A(4,position)^2-(t-A(1,position))^2);
plot(t,y1);
plot(t,y2);
end
switch sequence
case 1
for i=1:1:NumofClass1
hold on
plot(A(1,i),A(2,i),'kd','MarkerSize',3);
plot(A(1,i+100),A(2,i+100),'ks','MarkerSize',3);
plot(A(1,i+200),A(2,i+200),'kp','MarkerSize',3);
plot(A(1,i+300),A(2,i+300),'k^','MarkerSize',3);
plot(A(1,i+400),A(2,i+400),'kx','MarkerSize',3);
plot(A(1,i+500),A(2,i+500),'ko','MarkerSize',3);
plot(A(1,i+600),A(2,i+600),'k*','MarkerSize',3);
plot(A(1,i+700),A(2,i+700),'k+','MarkerSize',3);
plot(A(1,i+800),A(2,i+800),'k.','MarkerSize',3);
plot(A(1,i+900),A(2,i+900),'kv','MarkerSize',3);
plot(A(1,i+1000),A(2,i+1000),'k>','MarkerSize',3);
end
case 2
for i=1:1:NumofClass1
hold on
plot(A(1,i),A(2,i),'ks','MarkerSize',3);
plot(A(1,i+100),A(2,i+100),'kd','MarkerSize',3);
plot(A(1,i+200),A(2,i+200),'kp','MarkerSize',3);
plot(A(1,i+300),A(2,i+300),'k^','MarkerSize',3);
plot(A(1,i+400),A(2,i+400),'kx','MarkerSize',3);
plot(A(1,i+500),A(2,i+500),'ko','MarkerSize',3);
plot(A(1,i+600),A(2,i+600),'k*','MarkerSize',3);
plot(A(1,i+700),A(2,i+700),'k+','MarkerSize',3);
plot(A(1,i+800),A(2,i+800),'k.','MarkerSize',3);
plot(A(1,i+900),A(2,i+900),'kv','MarkerSize',3);
plot(A(1,i+1000),A(2,i+1000),'k>','MarkerSize',3);
end
case 3
for i=1:1:NumofClass1
hold on
plot(A(1,i),A(2,i),'kp','MarkerSize',3);
plot(A(1,i+100),A(2,i+100),'ks','MarkerSize',3);
plot(A(1,i+200),A(2,i+200),'kd','MarkerSize',3);
plot(A(1,i+300),A(2,i+300),'k^','MarkerSize',3);
plot(A(1,i+400),A(2,i+400),'kx','MarkerSize',3);
plot(A(1,i+500),A(2,i+500),'ko','MarkerSize',3);
plot(A(1,i+600),A(2,i+600),'k*','MarkerSize',3);
plot(A(1,i+700),A(2,i+700),'k+','MarkerSize',3);
plot(A(1,i+800),A(2,i+800),'k.','MarkerSize',3);
plot(A(1,i+900),A(2,i+900),'kv','MarkerSize',3);
plot(A(1,i+1000),A(2,i+1000),'k>','MarkerSize',3);
end
case 4
for i=1:1:NumofClass1
hold on
plot(A(1,i),A(2,i),'k^','MarkerSize',3);
plot(A(1,i+100),A(2,i+100),'ks','MarkerSize',3);
plot(A(1,i+200),A(2,i+200),'kp','MarkerSize',3);
plot(A(1,i+300),A(2,i+300),'kd','MarkerSize',3);
plot(A(1,i+400),A(2,i+400),'kx','MarkerSize',3);
plot(A(1,i+500),A(2,i+500),'ko','MarkerSize',3);
plot(A(1,i+600),A(2,i+600),'k*','MarkerSize',3);
plot(A(1,i+700),A(2,i+700),'k+','MarkerSize',3);
plot(A(1,i+800),A(2,i+800),'k.','MarkerSize',3);
plot(A(1,i+900),A(2,i+900),'kv','MarkerSize',3);
plot(A(1,i+1000),A(2,i+1000),'k>','MarkerSize',3);
end
case 5
for i=1:1:NumofClass1
hold on
plot(A(1,i),A(2,i),'kx','MarkerSize',3);
plot(A(1,i+100),A(2,i+100),'ks','MarkerSize',3);
plot(A(1,i+200),A(2,i+200),'kp','MarkerSize',3);
plot(A(1,i+300),A(2,i+300),'k^','MarkerSize',3);
plot(A(1,i+400),A(2,i+400),'kd','MarkerSize',3);
plot(A(1,i+500),A(2,i+500),'ko','MarkerSize',3);
plot(A(1,i+600),A(2,i+600),'k*','MarkerSize',3);
plot(A(1,i+700),A(2,i+700),'k+','MarkerSize',3);
plot(A(1,i+800),A(2,i+800),'k.','MarkerSize',3);
plot(A(1,i+900),A(2,i+900),'kv','MarkerSize',3);
plot(A(1,i+1000),A(2,i+1000),'k>','MarkerSize',3);
end
case 6
for i=1:1:NumofClass1
hold on
plot(A(1,i),A(2,i),'ko','MarkerSize',3);
plot(A(1,i+100),A(2,i+100),'ks','MarkerSize',3);
plot(A(1,i+200),A(2,i+200),'kp','MarkerSize',3);
plot(A(1,i+300),A(2,i+300),'k^','MarkerSize',3);
plot(A(1,i+400),A(2,i+400),'kx','MarkerSize',3);
plot(A(1,i+500),A(2,i+500),'kd','MarkerSize',3);
plot(A(1,i+600),A(2,i+600),'k*','MarkerSize',3);
plot(A(1,i+700),A(2,i+700),'k+','MarkerSize',3);
plot(A(1,i+800),A(2,i+800),'k.','MarkerSize',3);
plot(A(1,i+900),A(2,i+900),'kv','MarkerSize',3);
plot(A(1,i+1000),A(2,i+1000),'k>','MarkerSize',3);
end
case 7
for i=1:1:NumofClass1
hold on
plot(A(1,i),A(2,i),'k*','MarkerSize',3);
plot(A(1,i+100),A(2,i+100),'ks','MarkerSize',3);
plot(A(1,i+200),A(2,i+200),'kp','MarkerSize',3);
plot(A(1,i+300),A(2,i+300),'k^','MarkerSize',3);
plot(A(1,i+400),A(2,i+400),'kx','MarkerSize',3);
plot(A(1,i+500),A(2,i+500),'ko','MarkerSize',3);
plot(A(1,i+600),A(2,i+600),'kd','MarkerSize',3);
plot(A(1,i+700),A(2,i+700),'k+','MarkerSize',3);
plot(A(1,i+800),A(2,i+800),'k.','MarkerSize',3);
plot(A(1,i+900),A(2,i+900),'kv','MarkerSize',3);
plot(A(1,i+1000),A(2,i+1000),'k>','MarkerSize',3);
end
case 8
for i=1:1:NumofClass1
hold on
plot(A(1,i),A(2,i),'k+','MarkerSize',3);
plot(A(1,i+100),A(2,i+100),'ks','MarkerSize',3);
plot(A(1,i+200),A(2,i+200),'kp','MarkerSize',3);
plot(A(1,i+300),A(2,i+300),'k^','MarkerSize',3);
plot(A(1,i+400),A(2,i+400),'kx','MarkerSize',3);
plot(A(1,i+500),A(2,i+500),'ko','MarkerSize',3);
plot(A(1,i+600),A(2,i+600),'k*','MarkerSize',3);
plot(A(1,i+700),A(2,i+700),'kd','MarkerSize',3);
plot(A(1,i+800),A(2,i+800),'k.','MarkerSize',3);
plot(A(1,i+900),A(2,i+900),'kv','MarkerSize',3);
plot(A(1,i+1000),A(2,i+1000),'k>','MarkerSize',3);
end
case 9
for i=1:1:NumofClass1
hold on
plot(A(1,i),A(2,i),'k.','MarkerSize',3);
plot(A(1,i+100),A(2,i+100),'ks','MarkerSize',3);
plot(A(1,i+200),A(2,i+200),'kp','MarkerSize',3);
plot(A(1,i+300),A(2,i+300),'k^','MarkerSize',3);
plot(A(1,i+400),A(2,i+400),'kx','MarkerSize',3);
plot(A(1,i+500),A(2,i+500),'ko','MarkerSize',3);
plot(A(1,i+600),A(2,i+600),'k*','MarkerSize',3);
plot(A(1,i+700),A(2,i+700),'k+','MarkerSize',3);
plot(A(1,i+800),A(2,i+800),'kd','MarkerSize',3);
plot(A(1,i+900),A(2,i+900),'kv','MarkerSize',3);
plot(A(1,i+1000),A(2,i+1000),'k>','MarkerSize',3);
end
case 10
for i=1:1:NumofClass1
hold on
plot(A(1,i),A(2,i),'kv','MarkerSize',3);
plot(A(1,i+100),A(2,i+100),'ks','MarkerSize',3);
plot(A(1,i+200),A(2,i+200),'kp','MarkerSize',3);
plot(A(1,i+300),A(2,i+300),'k^','MarkerSize',3);
plot(A(1,i+400),A(2,i+400),'kx','MarkerSize',3);
plot(A(1,i+500),A(2,i+500),'ko','MarkerSize',3);
plot(A(1,i+600),A(2,i+600),'k*','MarkerSize',3);
plot(A(1,i+700),A(2,i+700),'k+','MarkerSize',3);
plot(A(1,i+800),A(2,i+800),'k.','MarkerSize',3);
plot(A(1,i+900),A(2,i+900),'kd','MarkerSize',3);
plot(A(1,i+1000),A(2,i+1000),'k>','MarkerSize',3);
end
case 11
for i=1:1:NumofClass1
hold on
plot(A(1,i),A(2,i),'k>','MarkerSize',3);
plot(A(1,i+100),A(2,i+100),'ks','MarkerSize',3);
plot(A(1,i+200),A(2,i+200),'kp','MarkerSize',3);
plot(A(1,i+300),A(2,i+300),'k^','MarkerSize',3);
plot(A(1,i+400),A(2,i+400),'kx','MarkerSize',3);
plot(A(1,i+500),A(2,i+500),'ko','MarkerSize',3);
plot(A(1,i+600),A(2,i+600),'k*','MarkerSize',3);
plot(A(1,i+700),A(2,i+700),'k+','MarkerSize',3);
plot(A(1,i+800),A(2,i+800),'k.','MarkerSize',3);
plot(A(1,i+900),A(2,i+900),'kv','MarkerSize',3);
plot(A(1,i+1000),A(2,i+1000),'kd','MarkerSize',3);
end
end%end-switch
end%end-if
end%end-while
end%end for sequence
fclose(fid2);
fclose(fid3);
return;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -