C 在倍频程中从MatLab手动实现多频带读取

C 在倍频程中从MatLab手动实现多频带读取,c,matlab,binary,octave,C,Matlab,Binary,Octave,这个问题是部分挑战/部分问题,因为我知道我需要做什么,但不知如何去做。我有大量的数据文件,它们是两个波段的bsq,包含纬度和经度数据。它们是.geo文件。我正试图读取文件中的数据。可以使用MATLAB使用“multibandread”命令读取它们,如下所示: data = multibandread(filename, ... [size(info_cube, 1) size(info_cube, 2) 2], ... 'double', 0, 'bsq', 'ieee-le'); 我希望能够

这个问题是部分挑战/部分问题,因为我知道我需要做什么,但不知如何去做。我有大量的数据文件,它们是两个波段的bsq,包含纬度和经度数据。它们是.geo文件。我正试图读取文件中的数据。可以使用MATLAB使用“multibandread”命令读取它们,如下所示:

data = multibandread(filename, ...
[size(info_cube, 1) size(info_cube, 2) 2], ...
'double', 0, 'bsq', 'ieee-le');
我希望能够用Octave打开文件(MATLAB的免费开源版本)

octave的一位技术帮助人员说,multibandread看起来就像是简单C风格二进制I/O的包装器。他说看看这里:

他说打开一个具有特定字节顺序的二进制文件可以通过以下方式完成:

在给定精度下读取原始二进制数据可以通过以下方法完成:

因此,他认为唯一缺少的是交错(某些数据结构的重复),必须由某些for循环控制

有人能帮我在没有matlab的情况下从这些文件中读取lat-long数据吗?
提前谢谢

这听起来很容易。因此,请给我们一个示例,说明您拥有的文件(数据)的类型以及您想对其执行的操作(请保持简单,我不是电气工程师)。正如我上面所说,这些文件的扩展名为.geo,这是两个波段的bsq,具有lat和long数据。它们是二进制的,matlab函数可以读取它们。我需要找出另一种方法来阅读它们,并从中提取长信息。像我上面说的那样,用八度音阶编写一个类似的函数,这是我认为最简单的方法。但是,如果有人知道有任何应用程序可以做到这一点,那么使用python就太好了。这很简单,然后您可以从中提取整数数据。然后,您可以使用整数数据而不是二进制数据创建文件,如果需要,还可以使用matlab(或python)进行处理。