|compphys|

● Gnuplot でグラフを書いてみよう & ファイルからの入力とファイルへの出力 (Lesson05)

赤い文字の部分を打ち込んで下さい。
(コマンド・プロンプトの部分 (ap1 : の部分)は login のたびに異なります。 )

詳しい説明については gnuplot についての説明のページ を見て下さい。


プログラムができたら、ファイルから入力して計算を実行してみましょう。

  1. まず、ファイルへの出力の説明ページ をよく読んで下さい。

  2. 次に、 n の値を書いたファイル prog05.inmule 等で 作って下さい。
      ap1 xx: mule prog05.in &
    例えば n=2000 であれば、2000 と1行だけ書きます。 (その後で改行だけはしておいて下さい。)
      2000

  3. これを save (C-x C-s) してから、 プログラムをファイルから入力して実行してみましょう。 下の例では、
    通常はキーボードから入力する n の値を prog05.in というファイルに書いてある内容から read し、
    通常は画面に出力する内容を prog05.dat というファイルに write して
    います。

      ap1 xx: f90 prog05.f
      ap1 xx: a.out < prog05.in > prog05.dat

    既に prog05.dat というファイルがある場合には、 消して (rm prog05.dat) から実行して下さい。

  4. さて、prog05.dat というファイルに、 結果が出力されていますか? これが確認できれば、グラフを書いてみましょう。 今週の最後のページにある gnuplot のスクリプト・ファイル prog05.plt を作って下さい。 mule を終っていない場合は、 file open (C-x C-f) で file 名 prog05.plt を指定すれば、 新しい file として開けます。

    最初の数字は行数なのでファイルに書いてはいけません。 また、これは fortran program ではないので、最初の 6 つのスペースは 必要はありません。 また、# で始まる行はコメントですから、書かなくても構いません。
    ファイルが出来たら save (C-x C-s) してから、 グラフを描いてみましょう。

      ap1 xx: gnuplot prog05.plt

    ファイルを書くのが面倒であれば、今回はコピーして使っても 構いません。(ただしファイルの中身は読んで下さい。)

      ap1 xx: cp /www1/s-0007/PRINT/lesson05/prog05.plt .
      ap1 xx: gnuplot prog05.plt

  5. グラフは見えましたか ?

  6. このように redirect (<, > によって入力・出力先(direction) を変える)による ファイルへの出力を使うと

    • プログラム中に open 文を書かなくてもよい、
    • 自分の好みのファイル名を実行時に選べる、
    • テスト段階では画面に、完成すればファイルに、という出力の切替えが簡単、

    などのメリットがあります。 一方、

    • 出力ファイル名が場合によって変わるので、 どのファイルがどのプログラムの出力かを 覚えておく (あるいは、出力時に計算の内容まで書かせておく)必要がある、
    • 既に prog05.dat というファイルがある場合には、 いったん消して (rm prog05.dat) から出力する必要がある。

    というデメリットもあります。 場合により、open 文と使い分けて下さい。