?? join_cluster.m
字號:
function [distance,member_amount]=join_cluster( XY,mark)
[m,n]=size(XY);
node_amount=n;%節點數目
member_amount=zeros(1,node_amount);
distance=zeros(2,n);
position=find(mark==1);%簇頭位置
[m,n]=size(position);
head_amount=n;%簇頭數目
current_head=1;
[m,n]=size(find(mark==0));
if n==node_amount
distance=zeros(2,node_amount);
member_amount=zeros(1,node_amount);
return
end
for i=1:node_amount
min_distance=1000;
if mark(1,i)==0%判斷是否為普通節點
for j=1:head_amount%找出距離最短簇頭節點
%普通節點i與簇頭節點j距離
if distance_two_node(XY(:,i)',XY(:,position(j))')<min_distance%判斷是否比當前值小
min_distance=distance_two_node(XY(:,i)',XY(:,position(j))');
current_head=position(j);%保存當前最短簇頭節點
end
end
distance(1,i)=min_distance;%找到了離普通節點i最短簇頭節點
distance(2,i)=current_head;%簇頭位置
member_amount(current_head)=member_amount(current_head)+1;%把簇頭節點計數加1
end
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -