PageRank MATLAB 实现
PageRank
参考http://www.doc88.com/p-11465283738.html
G=[0110110;1011000;1001100;1000100;1001011;0001100;1000000];[n,n]=size(G);p=0.85delta=(1-p)/n;sn=sum(G,1);%按列求矩阵G的列和D=diag(1./sn);A=p*G*D+delta;%幂迭代法x=ones(n,1)/n;%迭代初始向量z=zeros(n,1);cnt=0;%记录迭代步数whilemax(abs(x-z))>0.0001z=x;x=A*x;cnt=cnt+1;end[x1,index]=sort(x);x1=flipud(x1);index=flipud(index);out=[1:n;x1';index'];fprintf('迭代步数=%d\n',cnt)str1='排名';str2='PageRank得分';str3='序号';fprintf('%-6s%-15s%-5s\n',str1,str2,str3);fprintf('%-6d%-15f%-5d\n',out);
结果
p=0.8500迭代步数=11排名PageRank得分序号10.276926120.185228530.147001240.130779350.107858460.083714670.0684947
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。