How do a textscan to read the value in the line above the strmatch
2 ビュー (過去 30 日間)
古いコメントを表示
How can i read the value of sw in the line above of strmatch
vtwait 3 1 14 14 14 2 1 8194 1 64
1 300
0
tpwr 7 1 17 17 17 2 1 8194 1 64
1 50
0
sw 1 1 5 5 5 2 1 8203 1 64
1 4801.92076831
0
sfrq 1 1 1000000000 0 0 2 1 11 1 64
1 499.4240618
0
sc2 1 1 3 3 3 4 1 8195 1 64
1 0
0
sbs1 1 1 1000 -1000 0.001 3 1 1 0 64
1 0
0
use this command line head0=textread(file,'%s'); sf=str2num(char(head0(strmatch('sfrq ',head0')+2))) The value for that is '1' but i want the value '499.4240618' in the line above
1 件のコメント
Oleg Komarov
2011 年 6 月 28 日
I would rathr skip the passage with head0 and go directly with textscan as I showed below.
採用された回答
Walter Roberson
2011 年 6 月 27 日
I think you mean "the line below" not "the line above"
sw=str2num(char(head0(strmatch('sfrq ',head0')+12)));
その他の回答 (1 件)
Oleg Komarov
2011 年 6 月 27 日
fid = fopen('C:\Users\Oleg\Desktop\test.txt');
out = textscan(fid,'%s%f%f%f%f%f%f%f%f%f%f\r\n%f%f\r\n%f','CollectOutput',1);
fid = fclose(fid);
out{2}
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Characters and Strings についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!