資源簡介
用matlab編程實現(xiàn)的pagerank算法 與你們分享
代碼片段和文件信息
G=[0?1?0?0?1?0?0?0?0?0?0?0?0?0;
???1?0?1?0?1?0?0?0?0?0?0?0?0?0;
???0?1?0?1?0?0?0?0?0?0?0?0?0?0;?
???0?0?1?0?1?0?1?0?0?0?0?0?0?0;
???1?1?0?1?0?1?0?0?0?0?0?0?0?0;
???0?0?0?0?1?0?0?0?0?0?1?1?0?0;
???0?0?0?1?0?0?0?1?1?0?0?0?0?0;
???0?0?0?0?0?0?1?0?0?0?0?0?0?0;
???0?0?0?0?0?0?1?0?0?1?0?0?0?0;
???0?0?0?0?0?0?0?0?1?0?1?0?0?1;
???0?0?0?0?0?1?0?0?0?1?0?0?0?0;
???0?0?0?0?0?1?0?0?0?0?0?0?1?0;
???0?0?0?0?0?0?0?0?0?0?0?1?0?1;
???0?0?0?0?0?0?0?0?0?1?0?0?1?0];
[nn]=size(G);
p=0.85;
delta=(1-p)/n;
sn=sum(G1);?????%?按列求矩陣?G?各列的列和
D=diag(1./sn);
A=p*G*D?+?delta;
%?冪迭代法
x=ones(n1)/n;?%?迭代初始向量
z=zeros(n1);
cnt=0;??%?用于記錄迭步數(shù)
while?max(abs(x-z))?>?0.0001?
???z?=?x;
???x?=?A*x;
???cnt=cnt+1;
end
[x1index]=sort(x);
x1=flipud(x1);
index=flipud(index);
%?輸出結果
out=[1:n;?x1‘;?ind
評論
共有 條評論