Matlab數(shù)據(jù)文件處理小程序
在實(shí)驗(yàn)中,處理記錄數(shù)據(jù)文件是經(jīng)常要做的,而用Matlab來處理是我最推崇的,方便快捷,數(shù)據(jù)文件格式任意設(shè)置,均可處理,如用下面格式保存的數(shù)據(jù)文本data.txt,用Matlab來處理,用這個(gè)小程序做來非常容易,而且處理后得到的圖形可直接Copy到各種需要的文件中。
data.txt文件:
......
d+00005.00;v+00001.92;e+00003.08;u-0016;m+1004;t+0286;
d+00005.00;v+00002.06;e+00002.94;u-0041;m+0988;t+0287;
d+00005.00;v+00002.19;e+00002.81;u-0040;m+0947;t+0288;
d+00005.00;v+00002.31;e+00002.69;u-0033;m+0907;t+0289;
d+00005.00;v+00002.39;e+00002.61;u-0024;m+0874;t+0290;
d+00005.00;v+00002.47;e+00002.53;u-0024;m+0850;t+0291;
d+00005.00;v+00002.56;e+00002.44;u-0025;m+0826;t+0292;
d+00005.00;v+00002.61;e+00002.39;u-0016;m+0801;t+0293;
d+00005.00;v+00002.69;e+00002.31;u-0024;m+0785;t+0294;
d+00005.00;v+00002.72;e+00002.28;u-0007;m+0761;t+0295;
.....
處理函數(shù)readprocess
function readprocess(file)
fid=fopen(file,'rt');
if(fid==-1)
display('File not exist!');
return;
end
array=[];
while(~feof(fid))
str=fscanf(fid,'%s',1);
if(length(str)>10)
%d+00005.00;v+00002.72;e+00002.28;u-0007;m+0761;t+0295;
col=sscanf(str,'d%f;v%f;e%f;u%f;m%d;t%d;');
array=[array col];
end
end
fclose(fid);
dhead=array(1,:);
head=array(2,:);
'r:',t,head,'b-');
運(yùn)行環(huán)境,Matlab5X
使用方法:readprocess data.txt
你可以根據(jù)需要處理。