【发布时间】:2018-10-04 08:50:41
【问题描述】:
我在 Matlab 中有两个大的稀疏双矩阵:
P,维度为1048576 x 524288I,维度为1048576 x 524288
我想找到i,j这样P(i,j)<=I(i,j)的入口数
我天真地试图运行
n=sum(sum(P<=I));
但它非常慢(我不得不关闭 Matlab,因为它一直在运行而我无法停止它)。
还有其他更有效的方法可以继续吗?或者我想做的事情不可行?
【问题讨论】:
-
高度依赖于
P<=I的稀疏性。如果它一直都是真的,那么答案是一个“完整的”稀疏矩阵,如果它是一个正常的完整矩阵,它会占用大约 2.5~3 倍的内存。如果这是预期的,也许循环,即使它是逐行的,也是一个更好的主意,因为它使这个操作变慢很可能是需要内存,而不是算术
标签: matlab matrix sparse-matrix