首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >利用spfun在MATLAB中的稀疏矩阵乘法

利用spfun在MATLAB中的稀疏矩阵乘法
EN

Stack Overflow用户
提问于 2016-01-06 07:27:41
回答 1查看 354关注 0票数 2

我有一个大小为y的密集列矩阵(m,1)和尺寸为(m,n)的稀疏矩阵x

我想用yx的每一列进行元素乘法.

得到的稀疏矩阵仍为(m,n)大小。

稀疏矩阵x,当加载到内存中时,大约是10 is。

spfun能帮助我以一种高效的记忆方式完成我的目标吗?

我很难理解它背后的逻辑。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-06 07:39:33

你试过bsxfun吗?

代码语言:javascript
复制
out = bsxfun( @times, x, y ); 

spfun更适合于按元素处理x的每个非零元素的操作。它不完全适用于矩阵向量元的运算.

但是,如果您想沿着这条路线做一些事情,您可以尝试:

代码语言:javascript
复制
[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

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34627778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档