我正在研究一个大矩阵乘法。我有一个大矩阵 A(至少 5000x5000)和一个列向量 V(5000x1)。在我的代码中,每个 V 都将 A 元素的每一列逐个元素相乘。我用循环做到了
K = zeros(5000, 5000);
for n=1:5000
K(:, n) = V.*A(:, n);
end
但它太慢了。所以我创建了一个大矩阵,每列分配为 V 使得
MV=repmat(V,1,5000);
K = MV.*A;
它速度很快,但它浪费了太多的内存。当矩阵的大小增加时,它会占用过多的内存。这是使用更少内存但速度更快的任何想法吗?