如何在 scipy/numpy

问题描述

我必须使用类似于 Matlab 函数函数在 python 中创建一个稀疏矩阵 S = sparse(i,j,v,m,n) 其中 i、j 和 v 使得 S(i(k),j(k)) = v(k) 并且 S 的大小指定为 m-由-n。

我选择了函数 scipy.sparse.csr_matrix 来做到这一点。我的代码类似于以下内容

arg_shape=np.array([ndof,ndof])
K = csr_matrix((arg_data,(arg_x,arg_y)),shape=arg_shape)

这里 ndof=786432 和 arg_data,arg_x,arg_y 是 numpy 数组并且所有的形状都相同。 (150994944,).

当我运行此代码时,出现以下错误

ValueError: row index exceeds matrix dimensions

在 Matlab 中,代码如下所示并且有效:

K = sparse(arg_x,arg_y,arg_data,ndof,ndof);

谁能帮我解决以下几点: 1)。 scipy.sparse.csr_matrix 是 Matlab 备用函数的良好替代品。 2)。如果是,我在代码中犯了什么错误

非常感谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)