温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PageRank MATLAB 实现

发布时间:2020-07-01 16:04:20 来源:网络 阅读:1522 作者:adelazhu 栏目:开发技术


PageRank
参考http://www.doc88.com/p-11465283738.html

G = [0 1 1 0 1 1 0;
     1 0 1 1 0 0 0;
     1 0 0 1 1 0 0;
     1 0 0 0 1 0 0;
     1 0 0 1 0 1 1;
     0 0 0 1 1 0 0;
     1 0 0 0 0 0 0];

[n,n] = size(G);
p = 0.85
delta = (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; %记录迭代步数
while max(abs(x-z)) > 0.0001
  z = 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得分      序号   
1      0.276926        1    
2      0.185228        5    
3      0.147001        2    
4      0.130779        3    
5      0.107858        4    
6      0.083714        6    
7      0.068494        7


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI