Matlab:检查零稀疏矩阵的命令?

Matlab:检查零稀疏矩阵的命令?,matlab,sparse-matrix,Matlab,Sparse Matrix,我需要一个命令来检查零稀疏矩阵,isempty(..)不起作用。是否有一些稀疏版本的isempty(…) 试一试 或 编辑: Mohsen Nostratinia指出,isempty(find(mlf2),1)效率更高,因为find命令要么返回长度为1的矩阵,要么返回空矩阵 或 编辑: Mohsen Nostratinia指出,isempty(find(mlf2),1)更有效,因为find命令将返回长度为1的矩阵,或者返回一个空矩阵。请注意,这不是稀疏性问题isempty(0)也将计算为fals

我需要一个命令来检查零稀疏矩阵,isempty(..)不起作用。是否有一些稀疏版本的isempty(…)

试一试

编辑:

Mohsen Nostratinia指出,
isempty(find(mlf2),1)
效率更高,因为
find
命令要么返回长度为1的矩阵,要么返回空矩阵

编辑:


Mohsen Nostratinia指出,
isempty(find(mlf2),1)
更有效,因为
find
命令将返回长度为1的矩阵,或者返回一个空矩阵。请注意,这不是稀疏性问题
isempty(0)
也将计算为
false
,因为零不是空的。通常,您可以使用
any
nnz
来确定是否存在非零。
nnz
非零
nzmax
等都在。有几个有用的辅助函数。值得一看。注意,这不是一个稀疏的问题
isempty(0)
也将计算为
false
,因为零不是空的。通常,您可以使用
any
nnz
来确定是否存在非零。
nnz
非零
nzmax
等都在。有几个有用的辅助函数。值得一看。一个好答案+1。对于第二个解决方案,
isempty(find(mlf2,1))
似乎更有效。+1是一个不错的答案。对于第二种解决方案,
isempty(find(mlf2,1))
似乎更有效。
>> mlf2=sparse([],[],[],2^31+1,1)

mlf2 =

   All zero sparse: 2147483649-by-1

>> isempty(mlf2)

ans =

     0       % I waited for 1 here with the zero sparse matrix...
~nnz(mlf2)
isempty(find(mlf2))