我有一个很长的向量 1xrv
和一个很长的向量w
1xs 和一个矩阵A
rxs,它是稀疏的(但尺寸非常大)。
我期待 Matlab 对以下内容进行优化,这样我就不会遇到内存问题:
A./(v'*w)
但似乎 Matlab 实际上是在尝试生成完整的v'*w
矩阵,因为我遇到了内存不足的问题。有没有办法克服这个问题?请注意,不需要计算 all v'*w
,因为 的许多值A
是0
。
编辑:如果可能的话,一种方法是这样做A(find(A))./(v'*w)(find(A));
v'*w
但是如果不先计算矩阵并将其放入变量中,则无法选择矩阵的子集(在这种情况下)。