r=50;n=[6,12,18,24,30];S=zeros(5,2);%用来存放实际位置G=zeros(5,2);%用来存放估计位置P=zeros(5,1);%用来存放平均误差fork=1:5Q=zeros(800,1);%用来存放实际节点和估计节点的距离fore=1:800A=100*rand(n(k)+1,2);%构建随机矩阵S(k,:)=A(1,:);%保存节点1B=zeros(n(k),2);%用来保存和节点1相连的节点j=0;fori=2:1:n+1%寻找可以和节点1连通的点len=sqrt((A(1,1)-A(i,1))^2+(A(1,2)-A(i,2))^2);iflen=rj=j+1;%当距离小于r时,将B中的点的个数加一B(j,:)=A(i,:);%将满足条件的点存入Belsej=j+1;B(j,:)=0;%如果不存在连通节点,则为0endendG(k,:)=sum(B)/j;%求估计位置Q(e)=sqrt((S(k,1)-G(k,1))^2+(S(k,2)-G(k,2))^2);%实际位置和估计位置间的距离endP(k)=sum(Q)/800;%平均误差endP%输出