gpt4 book ai didi

python - 在python中加载matlab稀疏矩阵(matlab v 7.3)

转载 作者:行者123 更新时间:2023-12-01 05:35:14 26 4
gpt4 key购买 nike

我有一个数据文件,存储一个大型 matlab 稀疏矩阵 (matlab 7.3),需要在我的 python 程序中使用。我使用 h5py 加载这个稀疏矩阵,发现有 3 个与稀疏矩阵相关的数据结构。

假设稀疏矩阵的名称为M,3个数据结构为M['data']、M['ir']、M['jc']。最初我认为 M['ir'] 和 M['jc'] 存储非零项的行索引和列索引,但我刚刚发现 M['jc'] 中存在一些大于行号的值稀疏矩阵。谁能解释一下3种数据结构中存储了哪些类型的信息?

最佳答案

正如您所猜测的,

ir 是非空行的行索引。对于列索引,事情稍微复杂一些,但在 Mathworks mex-Function 文档中有完整记录。

粘贴自 http://www.mathworks.de/de/help/matlab/apiref/mxsetir.html :

If the jth column of the sparse mxArray has any nonzero elements:

jc[j] is the index in ir, pr, and pi (if it exists) of the first nonzero element in the jth column.
jc[j+1]-1 is the index of the last nonzero element in the jth column.
For the jth column of the sparse matrix, jc[j] is the total number of nonzero elements in all preceding columns.
The number of nonzero elements in the jth column of the sparse mxArray is:

jc[j+1] - jc[j];

另请查看有关 mxSetIr 的文档。假设您还可以访问 matlab,您可能应该检查文档中链接的 mex 示例。

关于python - 在python中加载matlab稀疏矩阵(matlab v 7.3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19216574/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com