【发布时间】:2016-06-28 04:58:24
【问题描述】:
以下 MATLAB 代码在 10^5 方阵 A 上永远运行。但是,它在 10^3 方阵上运行几秒钟。有什么办法可以加快速度吗?
function [meanNV]=calcMeanNV_k(A,V,d)
%A: input matrix (n x n)
%V: eigenvectors of k-th largest eigenvalues (n x 1)
%d: degrees of each node (n x 1)
%meanNV: mean of neighbors vectors (n x 1)
m=size(A,2);
meanNV=zeros(113336);
for i=1:m
sumNode = 0;
for j=1:m
if A(i,j)==1
sumNode=sumNode+V(j);
end
end
[meanNV(i)]=sumNode/d(i);
end
【问题讨论】: