我有一个大的 m *n 稀疏矩阵 Y。我想对 Y 的每一行进行归一化,以便每一行的均值为零。
我第一次尝试这个。但是每行的平均值也会从零条目中减去,这不是我想要的。
Ynorm = bsxfun(@minus, Y, Ymean);
然后我尝试了这个。
[m, n] = size(Y);
nonZeroNum = nnz(Y);
Ynorm = spalloc(m,n,nonZeroNum);
for i = 1:m
Ynorm(i, :) = spfun(@(x)(x - Ymean(i)), Y(i, :));
end
但是,这种非矢量化解决方案太慢了。
我也想过将 bsxfun 和 spfun 结合起来,但没有成功。
有人有矢量化解决方案吗?