我想在 Matlab 中计算同一向量的外积。一个有代表性的例子是:
x=rand(1e5,1);
sigma=x*x'-spdiags(x,0,length(x),length(x));
有什么明显的方法可以加快速度吗?x*x' 是一个对称矩阵,但还没有找到一种方法来帮助 Matlab 使用该信息来加快速度。
编辑:有一种方法可以用循环来做到这一点,但我还看不到好处:
for k=1:length(x)
sigma(k:length(x),k)=x(k).*x(k:length(x));
end
以上可能适用于稀疏数组。