问题描述
我正在尝试将代码从python转换为matlab。
m,n = np.shape(M) % M is my data
k=10;
r = k * 5
C = np.arange(n)
R = np.random.random_integers(r,size=n) - 1
D = np.random.randint(2,size=n) * 2 - 1
S = scipy.sparse.csr_matrix((D,(R,C)),shape=(r,n))
如何在matlab中编写S变量?有等效功能吗?
解决方法
sparse
function可以代替csr_matrix
:
S = sparse(i,j,v)
从三元组i
,j
和v
生成稀疏矩阵S,使得S(i(k),j(k)) = v(k)
。 max(i)by max(j)输出矩阵具有为length(v)
个非零元素分配的空间。 如果输入i
,j
和v
是向量或矩阵,则它们必须具有相同数量的元素。另外,自变量v
和/或自变量i
或j
可以是标量。
S = sparse(i,v,m,n)
将S
的大小指定为m×n。