作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个数据文件,存储一个大型 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/
我是一名优秀的程序员,十分优秀!