放送大学「応用数学」第7章「発展系の数値解析」の数値実験プログラム

 しばらくは工事が続きます…と書いておいて長いこと放っておいたのですが、 工事を再開しました (2001 January)。

 放送大学の科目「応用数学」第7章「発展系の数値解析」では、 発展系の例として、 針金上の温度分布を表す1次元熱伝導方程式の初期値境界値問題を取り上げ、 差分法による数値計算で解析しています。

 講義する立場としてもどかしかったのは、この種の数値実験は、 学習する人が各自色々試してみるのが、 (興味を持つためにも、理解を深めるためにも) 一番有効であるにもかかわらず、 紙のテキストでは「紙芝居」を載せておくのが精一杯だ、ということです。 そのため、テキストにプログラムを掲載しようとも考えましたが、 N88-BASIC の流行していた頃ならいざしらず (その頃ならば、 BASIC プログラムを載せておけば万事解決だったのですが)、 だれでも試せるようなプログラムを作るのは難しいため、 それはあきらめることにしました。 (ちなみに、テキストに載せた図の計算は、 ワークステーション上の C プログラムによるものです。 公開プログラムのページあります。)

 ところで、最近は「インターネット・サーフィン」が流行しています。 コンピューターの機種・OS を問わず、 Netscape, Microsoft Internet explorer などの高機能 WWW ブラウザーが 使えるのが「標準」になりつつあります。 そこで、 これらの WWW ブラウザーが持っている Java アプレットの実行機能を利用して、 数値実験ができたら面白いのではないか?と考えるようになりました。

 最初のバージョンは JDK 1.0.2 の頃に自分で作成したのですが、 卒研生の佐藤晴郎君&大葉敏文君に書き直してもらったバージョンを公開します。 ソースプログラム heat1d.zip と実行するための WWW ページです (両方ともリンクが切れていたのを直しました 2002/4/15)。

(2016/3/2追記) 久しぶりに自分でこのページを読んでみて、 「今はこうは考えない」というところがあるので、少し書いてみます。 Java はメジャーになりましたが、 2000年頃に私が考えていたようにはなりませんでした。 セキュリティ上の理由から、 WWWサイト上で気軽にアプレットを動かせるようにはなっていませんね。 それから、その問題が解決されても、何かについて、 誰かが用意したアプレットを動かすことで理解を深めることは、 あまり期待できそうにないようです。 「求めよ、さらば与えられん」というのでしょうか、 自分で知りたい、分かりたい、 そのためにどうすれば良いか考え、行動しないと。 そういうわけで、その気になれば、 (自分で一からプログラムを書かないにしても) プログラムを手直しして試すこと、 それが大事なようです。


katurada atmark meiji.ac.jp
Last modified: Wed Mar 2 12:59:40 2016