我正在嘗試將以下代碼行從 Python 轉換為 MATLAB。V、Id和J的大小(6400,)在 MATLAB 中為 1 × 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?
uj5u.com熱心網友回復:
MATLABsparse函式有幾種形式:
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 索引,然后是值,并且您將值作為第一個引數。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/426546.html
