Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个 size 的密集列矩阵和一个ysize的(m,1)稀疏矩阵x。我想使用和 的每一列进行 逐元素乘法。 得到的稀疏矩阵仍然是大小。 稀疏矩阵加载到内存时大约为 10GB。 可以帮助我以高效记忆的方式实现我的目标吗?(m,n)yx(m,n)xspfun
y
(m,1)
x
(m,n)
spfun
我很难理解其背后的逻辑。
谢谢你。
你试过bsxfun吗?
out = bsxfun( @times, x, y );
spfun更适合于逐元素操作,您可以在其中操作 . 的每个非零元素x。它不完全适合矩阵向量元素的操作。 但是,如果您想沿着这条线做一些事情,您可以尝试:
[ii jj xij] = find(x); %// extract non-zeros of x and their locations out = sparse( ii, jj, xij.*y(ii), size(x,1), size(x,2) );
有关doc find更多信息,请参阅。
doc find