3

さて、前回の質問の続きです。前述したように、データ ファイルは Fortran コードから生成されます。すべてのデータ ファイルには、2 列のデータが含まれています。Fortran コードではFORMAT(2(1X,D22.16)) を使用します。したがって、出力ファイルは次のようになります

-.4515533388641104D-01 -.6842652196656712D+01
-.1381692033642749D+00 0.6762844180244199D+01
-.5741668880663318D-01 -.7891086299010933D+01
-.1051164522902431D+00 0.7758389636011907D+01
-.7574000988697732D-01 -.8180315630079706D+01
-.7939204753736680D-01 0.8167097825331970D+01
-.1003250672387262D+00 -.7865995561517515D+01
-.6006135667296913D-01 0.7987393828927278D+01
 ..................... ......................

これは、1 つのデータ ファイルのほんの一部のサンプルです。私が使用するこのデータファイルをプロットするために

plot "data001.out" u 1:2 w d lc rgb 'black'

ただし、gnuplotデータを正しく読み取ることができず、このプロットが作成されました

ここに画像の説明を入力

Mathematica プログラムを使用した正しいプロットは次のとおりです

ここに画像の説明を入力

FORMATを(2(1X,F22.16)) (10 進形式)に変更すると、すべて問題ないことに気付きました。gnuplot指数形式でデータを読み取れないのはなぜですか? このタイプのデータを読み取る方法をプログラムに伝える方法はありますか?

4

1 に答える 1

6

gnuplot 4.6 マニュアルから:

「データは、指数の前に文字 e または E を付けた指数形式で書き込むことができます。コマンドが有効な場合は、Fortran 指数指定子 d、D、q、および Q も使用できset datafile fortranます。」

set datafile fortranしたがって、前に置く必要がありますplot

それが役に立てば幸い!

于 2013-02-02T17:16:09.137 に答える