秋休みの宿題

桂田 祐史


Date: 2017年10月27日


次回ゼミは11/17です。
休み中に、問(ii) までやっておくこと。 プログラム動かなければ質問に来て下さい。

$ k$ を実数の定数として

(1)   $\displaystyle u_t(x,t)=u_{xx}(x,t)+k u(x,t)$   ( $ (x,t)\in(0,1)\times(0,\infty)$ )$\displaystyle ,$
(2)   $\displaystyle u(0,t)=u(1,t)=0$   ( $ t\in(0,\infty)$ )$\displaystyle ,$
(3)   $\displaystyle u(x,0)=f(x)$   ($ x\in[0,1]$ )

という初期値境界値問題を考える。
(i)
heat1d-i-glsc.c は、 $ k=0$ に対して問題を解くプログラムである。 ユーザーが入力した $ k$ に対して問題を解くようにプログラムを 書き直しなさい (プログラムの名前は適当に変えること)。
(ii)
$ k$ が小さいうちは、任意の $ f$ に対して

$\displaystyle \lim_{t\to\infty}u(x,t)=0
$

が成り立つが、$ k$ がある値 $ k^\ast$ を超えると、これが成り立たなくなる。 この $ k^\ast$ の値を実験的に求めよ。 いくつか注意
(a)
(実は、差分方程式の解の場合、$ k^\ast$ $ N$ に依存する、 つまり $ k^\ast(N)$ と書くべき) 実験をしている間は、$ N$ の値は一定にしておくこと。
(b)
$ \dsp\lim_{N\to\infty}k^\ast(N)$ が微分方程式の場合の $ k^\ast$ に収束する。そういう意味で、$ N$ はある程度大きいもので計算すること。 出来れば、複数の $ N$ に対して $ k^\ast(N)$ を求めておくこと。
(iii)
$ k^\ast$ は何だろう?当てずっぽうでも良いから予想してみよう。 (真面目にやると、(1),(2),(3) の厳密解を求めることになる。)
(iv)
ちなみに (2)の代わりに

(4) $\displaystyle u_x(0,t)=u_x(1,t)=0$

とした場合は、$ k^\ast=0$ である。 それは heat1n-i-glsc.c を書き換えて実験出来る。 確かめよ。
(v)
さらに (2)の代わりに

(5) $\displaystyle u(0,t)=u_x(1,t)=0$

とした場合は、また違う $ k^\ast=0$ の値になる。その値はいくつか。 (これもプログラムを書き換えて実験出来るけれど、 書き換えが少し難しいかもしれない。)

境界条件を変えたとき、プログラムをどのように書き換えるかは、

「熱方程式に対する差分法I」の第1章
http://nalab.mind.meiji.ac.jp/~mk/labo/text/heat-fdm-1.pdf
を見て下さい。



桂田 祐史
2017-10-27