为什么spdiag在Octave中不推荐使用,但不适用speye?

问题描述:

我注意到spdiag已被弃用,但不是speye。为什么是这样? diag和eye都会生成对角矩阵,所以不应该不需要speye(或至少与spdiag一样不必要)?为什么spdiag在Octave中不推荐使用,但不适用speye?

如果该功能已弃用,则必须使用旧版本的八度。它在最近的5个版本中已经被删除(自3.6.0以来所有5个小版本)。

无论如何,要解决您的问题spdiag()不会返回一个稀疏矩阵,它确实与diag()一样。要获得稀疏对角矩阵,请使用spdiags()

+0

我正在使用3.2.4(Ubuntu的回购版中提供的版本),spdiag()确实会返回一个稀疏矩阵。 spdiag(1:5)给出了一个稀疏的5x5矩阵,其中主对角线是数字1到5。 – dspyz