Python scipy.sparse.csr_marix to Matlab Equivalent - PullRequest
0 голосов
/ 21 февраля 2020

Я читаю газету, но их код находится в python, поэтому я решил преобразовать ее в код Matlab для адаптации к моей работе. Однако есть небольшой блок кода, который я не понимаю.

  S = scipy.sparse.csr_matrix((D, (R, C)), shape=(r, old_dim))
  MSt = scipy.sparse.csr_matrix.dot(M, S.T)

Может кто-нибудь объяснить, что они пытаются здесь сделать? что означает приведенная выше строка? Примечание: переменные D, R и C являются массивами / матрицами, полученными из

    C = np.arange(old_dim)
    R = np.random.random_integers(r, size=old_dim) - 1
    D = np.random.randint(2, size=old_dim) * 2 - 1
     % also r and old_dim are dimension sizes e.g 5 or 10

. Я понимаю эту часть. Я просто не знаю, что означает sparse.csr_matrix (D, (R, C) и что может быть его эквивалентом в Matlab.

1 Ответ

0 голосов
/ 21 февраля 2020

D C и R означают Данные, столбец и строка . Он передает ненулевые элементы, чтобы создать разреженную матрицу. Это очень близко к синтаксису MATLAB S = sparse(i,j,v)

  • i - индекс строки, соответствующий R
  • j - индекс столбца, соответствующий C
  • v - Значение, соответствующее D
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...