【发布时间】:2021-09-21 15:34:54
【问题描述】:
我有一个循环,其中“i”取决于“i-1”值,所以我无法对其进行矢量化。 我读过我可以使用稀疏矩阵来对其进行矢量化,从而加快我的代码速度,但我不明白这是如何工作的。 有什么帮助吗? 谢谢
【问题讨论】:
-
稀疏矩阵可用于表示其中包含大量零元素的矩阵。他们允许向量化没有它们就无法向量化的代码是没有意义的。无论如何,MATLAB 中的循环在 15 年内一直没有变慢。如果您的循环是您程序中的瓶颈,请向我们展示代码(但请参阅minimal reproducible example),我们可能会有如何加快它的想法。
-
@CrisLuengo 实际上确实有道理;请参阅下面的答案-我很确定这就是 OP 所指的。显然这种方法的适用性是相当有限的,但它仍然是一个相当巧妙的小技巧。
-
抱歉我的 MATLAB 评论,没有注意并意识到这是标记为 Octave。我的评论的其余部分仍然有效,最后一部分是最重要的:请发布一些代码,以便我们尝试加快速度。
标签: performance vectorization octave sparse-matrix