Matlab 中 coo_matrix 的等价物是什么?
What is the equivalent of coo_matrix in Matlab?
我正在尝试将以下代码行从 Python 转换为 MATLAB。 V
、Id
和 J
的大小为 (6400,)
,在 MATLAB 中是 1 -by- 6400 行向量。 pts
尺寸为 242。
我的Python代码
A = coo_matrix((V, (Id, J)), shape=(pts.size, pts.size)).tocsr()
A = A.tobsr(blocksize=(2, 2))
我把第一行翻译成MATLAB
A = sparse(V,Id,J,242,242);
但是,我得到了错误
Error using sparse
Index into matrix must be an integer.
如何将此代码转换为 MATLAB?
MATLAB sparse
函数有几种形式:
S = sparse(A)
S = sparse(m,n)
S = sparse(i,j,v)
S = sparse(i,j,v,m,n)
S = sparse(i,j,v,m,n,nz)
您最有可能寻找的表格是第四个表格:S = sparse(i,j,v,m,n)
,并希望将其称为(使用您的用例)为:
A = sparse(Id, J, V, 242, 242);
我认为你的错误是 MATLAB 首先需要 I 和 J 索引,然后是值,而你将值作为第一个参数。
我正在尝试将以下代码行从 Python 转换为 MATLAB。 V
、Id
和 J
的大小为 (6400,)
,在 MATLAB 中是 1 -by- 6400 行向量。 pts
尺寸为 242。
我的Python代码
A = coo_matrix((V, (Id, J)), shape=(pts.size, pts.size)).tocsr()
A = A.tobsr(blocksize=(2, 2))
我把第一行翻译成MATLAB
A = sparse(V,Id,J,242,242);
但是,我得到了错误
Error using sparse
Index into matrix must be an integer.
如何将此代码转换为 MATLAB?
MATLAB sparse
函数有几种形式:
S = sparse(A)
S = sparse(m,n)
S = sparse(i,j,v)
S = sparse(i,j,v,m,n)
S = sparse(i,j,v,m,n,nz)
您最有可能寻找的表格是第四个表格:S = sparse(i,j,v,m,n)
,并希望将其称为(使用您的用例)为:
A = sparse(Id, J, V, 242, 242);
我认为你的错误是 MATLAB 首先需要 I 和 J 索引,然后是值,而你将值作为第一个参数。