形式が不明なmatlabでtxtファイルを読み取ることに関して質問がありますが、txtファイルの各行は常に次のように始まります。
2012-11-01 00:00:00.00 XX YY 00.000s
次に、いくつかの異なるものがログに記録され、txt ファイルが異なって見える場合があります。たとえば、
Ex1: 2012-11-01 00:00:00.00 XX YY 00.000s 000.00deg 0.00rpm 0.00rpm
Ex2: 2012-11-01 00:00:00.00 XX YY 00.000s 000.00deg 0.00rpm
Ex3: 2012-11-01 00:00:00.00 XX YY 00.000s 0.00deg 0.00rpm 0.00rpm 0.0deg
Ex4: 2012-11-01 00:00:00.00 XX YY 00.000s 0.00rpm
私はこれを処理しtextscan
て使用します:
Fid = fopen('text.txt');
initfrm = {'%s%s%s%s %.3f %s'};
frm = repmat('%.2f %s',1,NCol);
frm = strcat(initfrm, frm);
Tmp = textscan(fid,frm{1});
Fclose(fid);
ファイルには、ログに記録した col ( NCol
) の数が計算されていますが、ここには表示されていません
ただし、テキスト ファイルに次のような が含まれている場合があります0.0%
。
Ex1: 2012-11-01 00:00:00.00 XX YY 00.000s 000.00deg 0.00rpm 0.00rpm 0.0%
今'%.2f'
はうまくいきません。ログがいつこうなったかわかりません。float と string を一緒に印刷するときに分離するより良い方法はありますか? プロットできるように、データ(フロート)を収集したいだけです。
%.2f と %.1f で変化する場合、すべての float 値を取得するにはどうすればよいですか? あなたはそのパターンを知りません。