0
試圖修復我的代碼,頁面排名。不知道爲什麼權力的方法和反斜槓出現不同的答案,哪些是錯誤的,以及如何解決它。頁面排名MATLAB
p=rand(length(M),1);
pnorm=norm(p,1);
p=p/pnorm;
n=length(M);
d=0;
e=ones(n,1);
a=1/n;
Z=a*(e*e');
Mtilda=d*M+(1-d)*Z;
for k=1:n
tic;
prev_p = p;
z = Mtilda*p;
p = z/norm(z,2);
dl_p = norm(p-prev_p, 2);
t(k)=toc;
str=sprintf('for d=%g , iteration %d: time=%11.4g',d,k,t(k));
disp(str);
if dl_p < 1e-6; break; end
end
ReportPageRank(p,U,0.005)
d=1;
p2 =(eye(n)-d*M)\((((1-d)/n)*e));
它似乎出了2倍,所以我不能完全錯誤。 –
你能給一個數組'M'表示的例子嗎?另外,ReportPageRank(p,U,0,005)函數的定義是什麼?參數'p','U'和'0.005'是什麼?這樣我可以在我的機器上運行它。最後兩行代碼的意圖是什麼?他們似乎沒有任何目的。 – Falimond
我不得不比較反斜槓運算符。我現在幸運地工作。我必須以不同的方式設置強力方法,並且出於某種原因起作用。 –