python - 在 scipy.io.savemat 中以不同的数值数据格式保存 mat 文件

标签 python matlab scipy

我知道这很简单,我不敢相信我在任何地方都找不到任何关于它的东西,但它在这里:

我在 python 中有一个大的高维矩阵,我想将其保存为 .mat 格式(用于 matlab)。 我正在使用 scipy.io.savemat 方法来保存这个矩阵,但它总是保存为 double 。我想将其保存为精度较低的东西,例如单精度或 16 位 float 。

我在保存前将数组转换为低精度数据类型,但它始终保存为 double 。真的没有办法将 mat 文件保存为精度较低的 float 类型吗?

.savemat 似乎不接受 dtype 参数。

 import scipy as sp
 sp.io.savemat('test.mat', {'test': sp.array([0.001, 1, 1.004], dtype='Float16')})

最佳答案

显然它需要是单人或双人。 scipy.io.savemat() 不支持其他浮点精度,如果它不喜欢你的数据类型,它会在没有警告的情况下随意默认为 double。

关于python - 在 scipy.io.savemat 中以不同的数值数据格式保存 mat 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23326266/

相关文章:

python - 连接多个 pandas groupby 输出

matlab - 如何在不设置位置的情况下在 Matlab 中设置图形大小?

python - Scipy Griddata 输出维度

python - 寻找大稀疏矩阵的最小特征向量,在 SciPy 中比在 Octave 中慢 100 倍以上

python - scipy.optimize.fsolve 收敛错误?

python - 直接在反向引用之后的数值

python - 如何使用python和请求登录wordpress?

matlab - 全局常数。使用它们有什么问题吗?

python - 计算字符串出现次数/枚举列表中的出现次数

matlab - 如何在 MATLAB 中生成 'clusterable' 数据集