微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 scipy/numpy

如何解决如何在 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 举报,一经查实,本站将立刻删除。