使用matlab读入文件数据

clear ; 
data_fname = 'bag_1.pkg' ; % 这里是文件名
jump_distance = 0 ;    % 这里是跳过的字节数

% 打开方式为二进制打开,其实'r'就行,matlab是默认二进制形式打开文件的
file_id = fopen(data_fname, 'rb');

% 从文件开始跳过jump_distance个字节
fseek(file_id, jump_distance, 'bof');

% 先手工构造一个1x512大小的矩阵
raw_data = []; 

while feof(file_id) == 0
    % raw_array每次都是512x1的矩阵,ele_count为读入的数的个数(正常情况下应为512)
    [row_array, ele_count] = fread(file_id, 512, 'uint32') ; 

    if ele_count < 512 % elecount < 512代表数据不够,已经到了文件的结尾
        break ; 
    else
        % 将512x1的row_array转置一下,变为1x512的矩阵
        row_array = row_array'  ;
        % 然后,将row_array追加到raw_data中
        raw_data = [raw_data, row_array] ; 
    end
end

fclose(file_id);
clear data_fname jump_distance file_id fid ele_count i m n row_array ans;

猜你喜欢

转载自blog.csdn.net/renjiewen1995/article/details/79217883