【问题标题】:Python's scipy.sparse.csr_matrix to Matlab conversionPython 的 scipy.sparse.csr_matrix 到 Matlab 的转换
【发布时间】:2021-01-15 03:58:19
【问题描述】:

我正在尝试将代码从 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变量?有没有等价的功能?

【问题讨论】:

  • 你不能改变问题来问另一个问题!如果已解决,您需要在单独的帖子中提出另一个问题。

标签: python matlab matrix scipy sparse-matrix


【解决方案1】:

代替csr_matrixsparse function 可能有用:

S = sparse(i,j,v) 从三元组 ijv 生成稀疏矩阵 S,使得 S(i(k),j(k)) = v(k)。 max(i)-by-max(j) 输出矩阵为length(v) 非零元素分配了空间。 如果输入 ijv 是向量或矩阵,则它们必须具有相同数量的元素。或者,参数v 和/或参数ij 之一可以是标量。

S = sparse(i,j,v,m,n) 指定 S 的大小为 m×n。

【讨论】:

  • 我试过了。它似乎有效,但如果我想要 2 个不同的 S 矩阵怎么办。给定一个原始矩阵 M (m-by-n) 我希望找到 a) S1 将是 nu-by-m 并且 b) S2 将是 n-by-nu。我不确定如何处理 i j v。因为我不想在查找 S1 和 S2 时使用相同的。有什么想法吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-19
  • 2014-01-23
  • 1970-01-01
  • 2016-01-21
  • 2012-07-25
  • 1970-01-01
  • 2016-12-29
相关资源
最近更新 更多