function [data]=distilldata_eight(
%功能说明:
%将保存数据的原始文件中的数值数据读入到一个data变量中(
%使用说明:
% infile——原始数据文件名;
% data=数据变量
tmpfile='tmp2.mat';
fidin=fopen(infile,'r'); % 打开原始数据文件(.list)
fidtmp=fopen(tmpfile,'w'); % 创建保存数据文件(不含说明文字)
while ~feof(fidin) % 判断是否为文件末尾
tline=fgetl(fidin); % 从文件读入一行文本(不含回车键)
if ~isempty(tline) % 判断是否空行
str = '[^0-9 | \. | \- | \s | e | E]'; %正则表达式为:该行中是否包含除 - . E e 数字 和 空白字符 外的其他字符
start = regexp(tline,str, 'once');
if isempty(start)
fprintf(fidtmp,'%s\n',tline);
end
end
end
fclose(fidin);
fclose(fidtmp);
data=textread(tmpfile);
delete(tmpfile)
"4. 上述各种文件格式、类型自动识别问题:可以利用正则表达式来处理,使之通用性较强。例如使用以下代码可以自动处理上面提到了例1到例5各种情形,不过由于存在自动判断,对某些例子(如例1)效率自然要低一点,而对于另外的例子(如例3、例5)效率估计要高一点(少用了一个循环)。 CODE: function [data]=distilldata_eight(infile) %功能说明: %将保存数据的原始文件中的数值数据读入到一个data变量中(自动判断数据行) %使用说明: % infile——原始数据文件名; % data=数据变量"
- 使用文本文件(.txt)进行数据存取的技巧总结(相当的经典) - Matlab 基础问题 - Matlab中文论坛 | Simulink 论坛 | Matlab下载 | Matlab资料 | Matlab视频 | Matlab图像处理 | Matlab神经网络 | Matlab数学运算 - Powered by Discuz! (view on Google Sidewiki)
0 评论:
发表评论