如
Bill the Lizard所写,您可以使用fread将数据加载到向量中.我只想扩大一点他的答案.
阅读数据
>> fid=fopen('data.bin','rb') % opens the file for reading
>> A = fread(fid, count, 'int16') % reads _count_ elements and stores them in A.
命令fopen和fread默认为Little-endian [1]编码整数.如果你的文件是Big-endian编码的,你需要改变fread
>> A = fread(fid, count, 'int16', 'ieee-be');
另外,如果你想读整个文件集
>> count=inf;
并且如果要使用n列将数据读入矩阵
>> count=[n inf];
写数据
至于把数据写入文件. Bill’s答案中的命令,fwrite将写入二进制文件.如果要将数据写入文本文件,可以使用dlmwrite
>> dlmwrite('data.csv',A,',');
参考
更新
>机器格式(IE,ieee-be,
ieee-le,vaxd等)二进制数据可以在两者中指定
fopen或matlab中的fread命令.支持的细节
机器格式可以找到
Matlab的fopen文档.
> Scott French’s评论Bill’s
answer
建议将数据读入
int16变量.要做这个使用
>> A = int16(fread(fid,count,precision,machineFormat));
其中count是大小/形状
要读取的数据,精度是
数据格式和机器格式
是每个字节的编码.
>请参阅命令fseek移动文件.例如,
>> fseek(fid,0,'bof');
将文件倒回到开始的位置,其中bof表示文件的开头.