【发布时间】:2019-06-13 19:22:08
【问题描述】:
我在 Octave 中创建了一个函数,此时我只想显示其中一个可能的输出。代码:
function [pi, time, numiter] = PageRank(pi0,H,v,n,alpha,epsilon);
rowsumvector=ones(1,n)*H';
nonzerorows=find(rowsumvector);
zerorows=setdiff(1:n,nonzerorows); l=length(zerorows);
a=sparse(zerorows,ones(l,1),ones(l,1),n,1);
k=0;
residual=1;
pi=pi0;
tic;
while (residual >= epsilon)
prevpi=pi;
k=k+1;
pi=alpha*pi*H + (alpha*(pi*a)+1-alpha)*v;
residual = norm(pi-prevpi,1);
end
pi;
numiter=k
time=toc;
endfunction
现在我只想返回 numiter,但无论我是否删除 pi;,它都会不断返回 pi。
它以以下格式返回:
>> PageRank(pi0,H,v,length(H),0.9,epsilon)
numiter = 32
ans =
0.026867 0.157753 0.026867 0.133573 0.315385
对我来说,pi 没有与它的变量一起给出,而仅仅是作为ans,这似乎很奇怪。
有什么建议吗?
【问题讨论】: