24小时热门版块排行榜    

查看: 491  |  回复: 2

lbh_xt

新虫 (小有名气)

[求助] 求助文件数据导入MATLAB中的有效函数。

例如:文件中存在标点符号、字母、数字,我想将他们全部读取,然后处理里面的数值。(文件数据量比较大,不能单个的去操作)。
例:文件的部分内容如下:
ITEM: TIMESTEP
1
ITEM: NUMBER OF ATOMS
18
ITEM: BOX BOUNDS
-16.29 16.29
-16.29 16.29
-16.29 16.29
ITEM: ATOMS v_temp
478.55                                     %10行
387.232
183.639
336.961
150.413
769.477
241.237
77.8462
271.603
199.265
45.814
161.835
35.2871
169.298
1041.55
215.567
341.299
402.336                                   %27行
ITEM: TIMESTEP
2
ITEM: NUMBER OF ATOMS
18
ITEM: BOX BOUNDS
-16.29 16.29
-16.29 16.29
-16.29 16.29
ITEM: ATOMS v_temp
477.42                                           %37行
386.346
183.389
334.154
149.753
764.984
240.199
77.5195
268.74
198.276
45.3256
159.983
35.2452
167.783
1037.04
214.329
339.301
400.582                                %54行
ITEM: TIMESTEP
3
ITEM: NUMBER OF ATOMS
18
ITEM: BOX BOUNDS
-16.2902 16.2902
-16.2902 16.2902
-16.2902 16.2902
ITEM: ATOMS v_temp
474.187                                                 %64行
383.666
182.558
325.837
147.788
751.743
237.151
76.5674
260.296
195.354
43.8821
154.379
35.1196
163.317
1023.6
210.597
333.523
395.393              %          81行
我想得到10-27行、37-54行、64-81行的数据,该用哪个函数?谢谢
回复此楼
安静
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)


余泽成(金币+1): 谢谢参与应助! 2011-09-10 20:35:27
想了一下似乎只能一行一行处理了
2楼2011-09-10 20:32:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

myw052

金虫 (正式写手)

博士

【答案】应助回帖

★ ★
xzhdty(金币+2): 教师节快乐!中秋快乐!双节快乐 2011-09-10 23:31:49
lbh_xt(金币+5): 十分感谢,我试一下。 2011-09-13 21:32:13
你这个比较简单啊。
没什么难的。
fid=fopen('文件名',‘r’);
while ~feof(fid)                   %\判断是否为文件末尾\
    tline=fgetl(fidin);              %\从文件读行,这里读入的行是字符的形式\
    i=i+1;
    if strcmp(tline,'ITEM: ATOMS v_temp')
        line_station=i;              %\记录要输出的数据文件中的位置\   
    end
end
fclose(fid);
然后依照上面的格式,在进行一次调整,就行了。反正格式就是这个样子。很容易搞定的。。
天天快乐
3楼2011-09-10 21:19:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lbh_xt 的主题更新
信息提示
请填处理意见