我测了一组数据存到txt文件中,是个WIFI信号强度文档,里面有我们需要得到的数据,有没用的数据,想用matlab查找关键字(SSID),把关键字后面的数字存起来用作后期处理分析,如下图,把ky后面的信号强度数据(那个负数)弄出来。求大神指点应该怎么办,或给程序,谢谢!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | fn = 'my_data.txt' ; fid = fopen(fn, 'r' ); R = []; while ~feof(fid) tl = fgetl(fid); id = findstr(tl, 'SSID' ); while ~feof(fid) tl = fgetl(fid); id = findstr(tl, 'ky' ); if ~isempty(id) dt = tl(id+ 3 :id+ 10 ); dt = strtok(dt); R = [R; str2num(dt)]; end; end; end; disp(R); |
追问
非常感谢您!我刚才试了试,除了有一个地方都完美,就是我txt里有100个数据,但是弄出来99个,第一个没有弄出来是怎么回事呢?希望您能再看看
回答
1 2 3 4 5 6 7 8 9 10 11 12 13 | fn = 'my_data.txt' ; fid = fopen(fn, 'r' ); R = []; while ~feof(fid) tl = fgetl(fid); id = findstr(tl, 'ky' ); if ~isempty(id) dt = tl(id+ 3 :id+ 10 ); dt = strtok(dt); R = [R; str2num(dt)]; end; end; disp(R); |