📄 matlab读取数据.txt
字号:
% %逐行读取数据,多通道数据(即文本中多列数据)
fid = fopen('exp.txt');
A= fscanf(fid,'%g %g',[2 inf]);
fclose(fid)
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;
.....
处理函数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-');
%逐行读取数据,单通道
fid=fopen(fname,'r');i=1;
while 1
tline = fgetl(fid);
if ~ischar(tline), break, end
A(i,1)=str2num(tline);i=i+1;
end
fclose(fid);
fscanf()为读取连续的一系列的非空格字符
fgetl()为读取文件的一行
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -