Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
matlab读取二进制文件_Matlab_Binary_Fread - Fatal编程技术网

matlab读取二进制文件

matlab读取二进制文件,matlab,binary,fread,Matlab,Binary,Fread,这个假设很简单,但我就是做不好,可能是因为我不理解一些非常基本的东西 我试图找出如何将一个二进制文件读入matlab,matlab由7个变量组成,每个变量用2个字节(Hi和low)编写。第一个字节是MSB,其他字节是LSB。 问题是我知道fread函数,但我似乎从来都不知道当涉及到多个变量时如何正确使用它(只有一个相同类型的数字向量很容易),所以如果你们中的一些人能用一两句话解释一下,我将非常感谢 谢谢,我想你得给fread打两次电话,一次一次地指定你使用的格式(大端或小端) 对于存储的变量的值

这个假设很简单,但我就是做不好,可能是因为我不理解一些非常基本的东西

我试图找出如何将一个二进制文件读入matlab,matlab由7个变量组成,每个变量用2个字节(Hi和low)编写。第一个字节是MSB,其他字节是LSB。 问题是我知道fread函数,但我似乎从来都不知道当涉及到多个变量时如何正确使用它(只有一个相同类型的数字向量很容易),所以如果你们中的一些人能用一两句话解释一下,我将非常感谢


谢谢,

我想你得给fread打两次电话,一次一次地指定你使用的格式(大端或小端)


对于存储的变量的值类型,您还必须是特定的。你说你有2个字节的变量,例如它们可以是
'int16'
。考虑到可能值类型的引用,2字节。

谢谢ACOBE,这是我没有的信息,所以我必须通过评估结果来猜测。我试试你的建议。这是参考资料。我的建议是:尝试先读取第一个变量。具有2个字节的变量类型不多。或者只需调用
fread
一次,然后交换第一个变量的字节值。@slayton,你说得对,没有2个字节的浮点变量,因此交换非常容易。
 first = fread(fileID, 1, 'int16', 0 , 'b'); %big endian
 last =  fread(fileID, 7, 'int16', 0 , 'l'); %little endian