matlab 二进制文件的读取fead,节约内存

fread 函数 读取二进制文件*.bin

fread 函数默认读取一个字节(byte),将每个字节读成uint8格式的数据

如创建一个 nine.bin的二进制文件
fid = fopen('nine.bin','w');
fwrite(fid, [1:9]);
fclose(fid);

读取其中的所有数据
fid = fopen('nine.bin');
col9 = fread(fid);
fclose(fid);


仅仅读取前6个数据
col6 = fread(fid, 6);

返回文件头
frewind(fid);

将前4个数据读成2*2的矩阵形式
frewind(fid);
two_dim4 = fread(fid, [2, 2]);


将数据读成3行
frewind(fid);
two_dim9 = fread(fid, [3, inf]);

节约内存

如果要读取的二进制文件很大,32bit的内存可能不够,这时我们可以将原来更高精度要求的数据类型转成整型,单精度类型的数据,使得占用的内存空间变小

例如将 uint8 的值读成 uint16 类型的数组
mydata = fread(fid,'uint8=>uint16')

猜你喜欢

转载自blog.csdn.net/qq_19531479/article/details/51387272