这样的文件如何读取-请指点
1 LYS Pg 15:22:31.3 8.0 59.1 5.5 E 482.650.68 0.42Sg 15:22:39.3 N 313.420.62 0.46
Ng 15:22:39.3 N 313.420.62 0.46
2 MZP Pg 15:22:31.7 8.5 64.3 0.04
Sg 15:22:40.2 -0.05
Sg 15:22:39.3 N 313.420.62 0.46
Wg 15:22:39.3 N 313.420.62 0.46
Sg 15:22:39.3 N 313.420.62 0.46
Ng 15:22:39.3 N 313.420.62 0.46
3 CD2 Pg 15:22:31.8 9.0 64.7 4.8 E82.600.60 0.13
Sg 15:22:40.7 0.50
4 JJS Pg 15:22:33.6 73.9 5.5 E 361.600.86 0.47
N 288.450.70
前面的1,2,3,4分别代表4个事件,第一个事件占了3行,第二个事件占了6行,第三、第四个事件分别占了2行和1行
请问如何用MATLAB读入这个文件,并把每个事件所占的行数统计出来?
请高手指点,在此先谢过了!!
[ 本帖最后由 aniso 于 2009-7-3 16:54 编辑 ] 建议传上txt档, 或说明清楚资料格式, 比较容易确定! 已经将数据文件格式上传,请大家帮忙看一下 可以试下
D = importdata('example.dat') fid=fopen('example.dat'); p_event=0; p_line=[]; ii=[];
while ~feof(fid)
= fscanf(fid, '%c', 1);
if ~isempty(str2num(A)), p_event=p_event+1; ii=1; p_line=;
else ii=ii+1; p_line(end)=ii; end
fgetl(fid);
end
fclose(fid);
p_event, p_line 非常感谢chaching,原来经常用fscanf,fgetl,textread读一些格式比较简单的文件。格式一复杂就不知道怎么处理了。谢谢!
页:
[1]