许多朋友在用Matlab处理多个数据时常常疲于一个一个读取文件,读完之后还要自己新建变量存储,过于繁琐,浪费宝贵时间。遇到我,你就解放双手了!!!
自带弹框交互性好!
选择需要读取的文件 (按下ctrl点击多个文件多选,或者直接鼠标拉取)
当你选择的文件和输入数量不一致时错时温柔提醒!
最后时我的代码
clc;clear;
prompt = {’\fontsize{12} 麻利说读几个文件:’}; % 提示
title = ‘读个文件磨磨唧唧好几天’; % 标题
dims = [1 70]; % 输入框尺寸
definput = {‘3’,‘hsv’}; % 默认输入
opts.Interpreter = ‘tex’;
answer = inputdlg(prompt,title,dims,definput,opts);
filesnum=str2num(answer{1});
% filesnum=2;
[filename,filepath]=uigetfile({’*’}, ‘实测数据’,‘MultiSelect’, ‘on’);
cd(filepath);
if length(filename)~=filesnum
CreateStruct.Interpreter = ‘tex’;
CreateStruct.WindowStyle = ‘modal’;
msgbox(’\fontsize{12} 我真纳闷你识不识数’,‘弱智警告’,‘warn’,CreateStruct);
else
for i=1:filesnum
b=[‘data’,num2str(i)];
fid=fopen(char(filename{i}),‘r’);
data=[];
while ~feof(fid)
L=fgetl(fid);
if length(L)>=5
if strcmp(L(1:4),‘2014’)&&strcmp(L(18:19),‘00’)
S=regexp(L,’\s+’,‘split’);
% yy=str2num(char(S{1}));
% mm=str2num(char(S{2}));
% dd=str2num(char(S{3}));
% hh=str2num(char(S{4}));
% min=str2num(char(S{5}));
% sec=str2num(char(S{6}));
gra=str2num(char(S{7}));
data=[data,gra];
end
end
end
eval([b,’=data’])
end
end
新人博主,觉得有用就多多点赞,你的鼓励是我创作的最大动力!!!