この授業は実習科目ではないが、 簡単な数理モデルの数値計算を実際にしてみる課題を出す。 手計算で答えることも不可能ではないが、 計算機(パソコン)を使うことを勧める。 問題をつくる際には、 地理学コースの計算機室(834号室)にあるパソコンを使うことを想定する。 834号室の使いかたに関する具体的な指導はほとんどできない。 (いくつかわかったことは[別ページ]で述べた。)
計算の種類は、時間発展問題の差分計算である。 要点はこの授業の教材ページに書くつもりだが、それに加えて [差分法教材ページ] を参考にしてほしい。
一部の簡単なプログラムは、Awk (オーク)言語でつくる予定。
ファイル名はたとえばex1.awk
のようにつける。
このプログラムはどこで何をやっているかも理解してほしい。
エディタを使ってプログラムを修正して使うことを求めるかもしれない。
[Awk教材ページ]
も参考にしてほしい。
834号室では、CygWinを起動してその中でgawk
で
GNU版Awkインタプリタが起動できるはず
(awk
でも同じかもしれないが未確認)。
CygWinの使いかたの教材は用意していないが、
[フィルター型プログラムの例のページ]
で説明したUnix系OSの使いかたが参考になるかもしれない。
もう少し複雑なプログラムは、Fortran言語でつくる予定。
Fortran 77標準にその後追加されたいくつかの構造を加えた文法に従う。
ファイル名はたとえばex2.f
のようにつける。
CygWin中で
g77 ex2.f
のようにしてGNU版Fortranコンパイラを起動し、
コンパイルしてできた機械語プログラムを実行すればよい。
プログラムの詳しい理解は求めないが、
一部の行を修正して使うことを求めるかもしれない。
できれば、C言語でも同じ内容の例文を用意したいと思っているが、
準備が間に合うかどうかわからない。
[Fortranその他の教材ページ]
も参考にしてほしい。
計算の結果をグラフにしてみることを勧める。
グラフ作成ソフトウェアとしては、gnuplot
を勧める。
[gnuplot教材ページ]
も参考にしてほしい。
水平2次元のモデルの説明用の例には、表計算ソフトウェアを使うかもしれない。 2次元空間と表の縦横を直接対応させたほうがわかりやすいと思われるからだ。 例文はOpenOfficeで作成するが、Excelでもそのまま動くようにする。
それ以外の実習課題(空間0次元または1次元の時間発展問題)も 表計算ソフトウェアで計算することは不可能ではない。 (表計算ソフトウェアが開発された当初の目的は経営シミュレーションだそうだが、 それは時間発展問題の差分計算ではなかったかと思う。) しかし、わたしはその方法を指導する予定はない。 プログラム言語を使って計算することに慣れてほしいと思っている。 ただし、これまでに慶応大学や東京農工大学で担当した授業のレポート課題のうちには 表計算ソフトウェアでの計算方法の説明を添えたものもあるので、 ぜひやってみたい人は参考にしてほしい。