MATLAB .dat读、存及简单处理 | 您所在的位置:网站首页 › 如何将dat文件打开 › MATLAB .dat读、存及简单处理 |
文章目录
0 前言1 思路2 MATLAB3 结语
0 前言
近期接触到二进制文件.dat,写一个简单的教程。 假设文件内容为连续的通信数据,含有不符合的数据,对其进行简单剔除。 1 思路假设输入.dat文件共有3个整帧数据,每帧长度5,共15个数据 数据为: 129 130 131 132 133 0 0 0 0 0 5 4 3 2 1要求剔除某帧和为0的数据,输出.dat文件包含符合要求的数据 2 MATLAB clear % 新建.dat用于测试 fidIn = fopen('in.dat','w'); dataRows = 3; dataLength = 5; for i=1:dataLength fwrite(fidIn,i+128) end for i=1:dataLength fwrite(fidIn,0) end for i=1:dataLength fwrite(fidIn,dataLength + 1 - i) end fclose(fidIn) % 读取.dat文件 count = 0; fidIn = fopen('in.dat','r'); fidOut = fopen('out.dat','w'); for i=1:dataRows % 读取一帧数据 data(i, :) = fread(fidIn,dataLength); % 判断 if sum(data(i, :)) ~= 0 fwrite(fidOut, data(i, :)) else % 记录不合格数据个数 count = count + 1; end end % 读取.dat文件 fidOut = fopen('out.dat','r'); for i=1:dataRows-count dataOut(i, :) = fread(fidOut,dataLength); end fclose(fidIn) fclose(fidOut)输入文件16进制显示为 输出文件16进制显示为 第45篇 半年没更了,也不知道自己在忙啥 DSP暂时也用不到,FPGA也没学 工作也不对口,每天都想离职 个人水平有限,有问题欢迎各位大神批评指正! |
CopyRight 2018-2019 实验室设备网 版权所有 |