テキスト ファイルから一部の固定幅 (6E12) データを読み取ることができません。ファイルの先頭にスペースがあることに注意してください。
最初の行はそれほど重要ではありません。ただし、2 行目からは 59 個の値を読み取りたいと考えています。
file.txt
PleaseAnswer 3 , ThisQuestion 40
0.00000E+00 4.78181E+01-4.76356E+01 3.76280E-01 0.00000E+00 1.59238E+00
1.88171E+00 1.73928E-06 0.00000E+00 3.57826E+01 0.00000E+00 0.00000E+00
0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
0.00000E+00 3.75261E-07 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
0.00000E+00 0.00000E+00 0.00000E+00 3.28103E+01 0.00000E+00 0.00000E+00
0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
...
終了ファイル.txt
以下に示すように、負の符号が原因で 2 番目と 3 番目の値で問題が発生します。先頭にスペースがない理由がわかりません。負の数値を除いて、ほとんどすべての数値に先行スペースが必要です。
私はこのファイルを読み込もうとしています
fid = fopen(filename);
dontcare = textscan(fid, '%s %d %s %s %n', 1);
fixme = textscan(fid, '%12s', 59, 'Delimiter', '', 'Whitespace', '');
fixme{1}
ans =
' 0.00000E+00'
'4.78181E+01-'
'4.76356E+01 '
'3.76280E-01 '
'0.00000E+00 '
'1.59238E+00'
' 1.88171E+00'
'1.73928E-06 '
'0.00000E+00 '
'3.57826E+01 '
'0.00000E+00 '
'0.00000E+00'
' 0.00000E+00'
'0.00000E+00 '
'0.00000E+00 '
'0.00000E+00 '
'0.00000E+00 '
'0.00000E+00'
' 0.00000E+00'
...