III 熱方程式と差分近似


長さ l の細いアルミニュームの棒 (棒の位置を x で表す.x は 0 から l の間とする) が一定の温度 (x における温度を f(x) とする) に 温められている.時刻 t=0 のときに棒の両端が 0℃ の氷と接触しているとする.時間が経過するに つれ,棒は冷えてくるはずである.時刻 t に おける位置 x の温度を u(t,x) とすると関数 u(t,x) は熱方程式

ut=c2 uxx

に従うことが知られている. ただし,c2 は定数で熱拡散係数と呼ばれ, ut uxx はそれぞれ,関数 u(t,x) を変数 t で1回偏微分,変数xで2回偏微分したものを表す. さらに考えている状況により, 境界条件

u(0,x) = f(x), u(t,0) = u(t,l) = 0

が付加される.


以後,簡単のために, c2=1 でかつ,l=Pi (円周率) としよう.


本当ですか?

棒の温度が下がっていく状態を記述しようとするとき,指数関数

e-t

が登場 !

(これが関数 e-t のグラフです)


(1) f(x)=sin x であれば,関数 u(t,x)=e-tsin x が棒が 冷えていく状況を表す.

まず,熱方程式を満たすことを確認しよう.
(実際, 紙の上で計算してみよう)

次に, t=0 のときの温度分布を見てみよう. (ここをクリック)

では,温度が下がって棒が冷えていく状況 をアニメーションで観察して見ましょう.

これを観察するために MathReader を起動し,実行ファイル lesson3.nb を開きます. (file メニューで open をクリックして lesson3.nb を選択).
(注意) 実行ファイル lesson3.nb が C ドライブのフォルダー MathReader に保存していない場合は ここをクリックして手に入れてください.


(2) 差分近似を利用して解の意味を考察する.

まず,2次導関数 f''(x) は, 小さな数 k に対して

(f(x+k)-2f(x)+f(x-k))/k2

で近似されることに注意しよう. (ここをクリック)

さらに導関数 f'(x) の差分近似式

f(x+h)-f(x)/h (h は小さな数)

を用いて,偏微分方程式 ut(t,x)=uxx(t,x) を書き直してみましょう.
(ここをクリックすると,関係式が出ます)

今,時間が,t=0/m, 1/m, 2/m, 3/m, ...と経過するものとし,区間 [0,Pi] を n 等分し,その位置を x=0/n, Pi/n, 2 Pi/n, ..., (n-1) Pi/n, n Pi/n(=Pi) とする.
このとき, 時間 t=i/m のとき, 位置 x=j Pi/n における温度を

u(i,j)

と表す.h=1/m, k=1/n と考えて,上の関係式に代入すると
u(i+1,j)=u(i,j)+h(u(i,j+1)-2u(i,j)+u(i,j-1))/k2.

この式を整理すると,対応する差分方程式は
u(i+1,j)=au(i,j-1)+(1-2a)u(i,j)+au(i,j+1), ただし a=h/k2.

この式は,u(i+1,j) が3つの値 u(i,j+1),u(i,j),u(i,j-1) から決定される ことを示している.
これを行列で表してみましょう.

(ここ または ここ(PDFファイル) をクリックすると,行列の関係式と温度が順に決まるシステムがわかります)

このように,差分方程式から,時間 t=0/m における各位置の温度(境界条件)

u(0,0), u(0,1), ... n(0,n)

から行列の積を実行することにより,t=1/m における各位置の温度

u(1,0), u(1,1), ... n(1,n)
が決まり,
以下同じ手順で t=k/m(k=2, 3, 4, ...) における 温度が順々に決まっていくことがわかる.

では,温度が下がって棒が冷えていく状況を をアニメーションで観察して見ましょう.

これを観察するために MathReader を起動し,実行ファイル lesson4.nb を開きます. (file メニューで open をクリックして lesson4.nb を選択).
(注意) 実行ファイル lesson4.nb が C ドライブのフォルダー MathReader に保存していない場合は ここをクリックして手に入れてください.


(3) アルミニュームの棒が100℃ の温度に一様に温められている場合

境界条件が f(x)=sin x (0 < x < Pi) ではなく

f(x)=100 (0 < x < Pi) です.

ここだけ違いますが,あとは全く同じです.

まず, t=0 のときの温度分布を見てみよう. (ここをクリック)

では,温度が下がって棒が冷えていく状況を をアニメーションで観察して見ましょう.

これを観察するために MathReader を起動し,実行ファイル lesson5.nb を開きます. (file メニューで open をクリックして lesson5.nb を選択).
(注意) 実行ファイル lesson5.nb が C ドライブのフォルダー MathReader に保存していない場合は ここをクリックして手に入れてください.


これを,n を限りなく大きくした状況を考えて,
これを(解析的に)解くには,
フーリエ級数展開が必要になります.


THANK YOU VERY MUCH


前のページに戻る

最初のページに戻る

特別講義のホームページに戻る