資源簡介
自己編程寫的兩個小示例,具體的圖壓縮包里有,具體的聚類結果在cluster_Table矩陣中顯示,圖中有七個點,行代表有幾個類,列上打“1”的代表該列號對應的點屬于該行號所代表的的類,親測可運行哦

代碼片段和文件信息
clear?all
clc
data=xlsread(‘FriendTies.xlsx‘‘Sheet1‘‘A1:B20‘);
m=max(max(data));
Friend=zeros(m);
for?i=[1:1:size(data1)]
????Friend(data(i1)data(i2))=1;
end
%無權重的圖聚類-馬爾科夫聚類實例
Friend=Friend+diag(ones(1m));
e=2;
r=2;
iter=2000;%理論上,當前后兩次狀態矩陣一致時,即停止迭代
%Expansion操作,inflation操作
k=1;
while?k<=iter
????Friend=(Friend^e).^r;
????for?i=[1:1:m]
????????Friend(:i)=Friend(:i)/sum(Friend(:i));
????end
????if?k==1
????????Friend_last=Friend;
????else
????????if?Friend_last(::)==Friend(::)
????????????iter_times=k;%當狀態矩陣收斂時,記錄此時的迭代次數
????????????break;
????????else
????????????Friend_last=Friend;
????????end
????end
????k=k+1;
end
%計算去除重復列的列數
Friend_unique=unique(Friend‘‘rows‘)‘;
N=size(Friend_unique2);
%進行歸類
cluster_table=zeros(Nm);
for?j=[1:1:m]
????for?k=[1:1:N]
????????if?Friend(:j)==Friend_unique(:k)
????????????cluster_table(kj)=1;
????????end
????end
end
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????12600??2020-08-24?21:42??有權重的連接圖.png
?????文件???????10227??2020-08-24?21:31??無權重連接圖.png
?????文件????????1116??2020-08-24?20:40??markov_clustering_weighted.m
?????文件?????????996??2020-08-24?20:37??markov_clustering_unweighted.m
?????文件????????9389??2020-08-24?20:34??FriendTable.xlsx
?????文件????????9304??2020-08-24?18:56??FriendTies.xlsx
- 上一篇:mt7620a方案
- 下一篇:鐵通帶屏公網對講機寫頻軟件
評論
共有 條評論