load data1; double temp; distance=zeros(2,2500); k=5; right=0; for m=2501:1:3000 %测试循环 for i=1:1:2500 distance(1,i)=sqrt( (data(1,i)-data(1,m))^2 + (data(2,i)-data(2,m))^2 ); distance(2,i)=data(3,i); end for i=1:1:k for j=1:1:2500-i if(distance(1,j)<distance(1,j+1)) temp=distance(1,j); distance(1,j)=distance(1,j+1); distance(1,j+1)=temp; temp=distance(2,j); distance(2,j)=distance(2,j+1); distance(2,j+1)=temp; end end end sum1=0; sum2=0; for i=2501-k:1:2500 if(distance(2,i)==1) sum1=sum1+1; else sum2=sum2+1; end end if(((sum1>sum2)&&(data(3,m)==1))||((sum1<sum2)&&(data(3,m)==-1))) right=right+1; end end
数据下载点击打开链接