小编hen*_*ake的帖子

在python和matlab中将浮点二进制文件读入二维数组

我有一些二进制输入文件(扩展名“.bin”),它们描述了海洋深度的二维字段,它们都是负浮点数。我已经能够在 matlab 中加载它们,如下所示:

f = fopen(filename,'r','b');
data = reshape(fread(f,'float32'),[128 64]);
Run Code Online (Sandbox Code Playgroud)

这个 matlab 代码给了我 0 到 -5200 之间的双值。但是,当我尝试在 Python 中执行相同操作时,我奇怪地得到介于 0 和 1e-37 之间的值。Python代码是:

f = open(filename, 'rb')
data = np.fromfile(f, np.float32)
data.shape = (64,128)
Run Code Online (Sandbox Code Playgroud)

奇怪的是,在这两种情况下,土地的掩码值为 0,它显示在 (64,128) 数组中的正确位置。它似乎只是numpy.float32关闭值的大小和符号。

我在 Python 代码中做错了什么?

python arrays binary matlab numpy

5
推荐指数
1
解决办法
5743
查看次数

标签 统计

arrays ×1

binary ×1

matlab ×1

numpy ×1

python ×1