hoshimi、課題をがんばる。

そろそろ忙しくなるのでその前に課題をとどめを刺してしまおうかとおもい、ちょっと勢いをつけてやってみました。
\frac{\partial u}{\partial t}=\sigma \frac{\partial ^2 u}{\partial x^2}
で変数にいくらかの初期値が与えられており
u(x,0)=\frac{1}{\sqrt{4\pi\sigma t_0}}\exp (-\frac{(x-5)^2}{4\sigma t_0})
で初期化します。陽的スキームで差分化したとき、t=0,1,2,3,4,5でのグラフは?
っつー問題。

境界では周期的境界条件を用いてます。
この問題はだいぶあっさりといけました。
追加課題もそれなりに。
余裕があったので次の問題。

Dirichilet境界条件とNeumann境界条件
\frac{\partial u}{\partial t}=\sigma \frac{\partial ^2 u}{\partial x^2}
で変数にいくらかの初期値が与えられており
u(x,0)=\exp (-\frac{(x-1)^2}{4\sigma t_0})
で初期化します。陽的スキームで差分化したとき、t=0,1,2,3,4,5でのグラフは?

境界条件とは、漸化式的にあたいを決めてやるときに、端点で初期化してやる必要があるのですが、二通りの初期化の方法があるのですよ。
Dirichiletの場合:
x=x0,x1でのf(x,t)を初期化。
Neumannの場合:
x=x0,x1でのf'(x,t)を初期化。

数値スキームの安定条件とか、収束条件を常に意識するのは大変そう。計算機をやっていく上ではこの種のことは常に頭において生きていかなければいけないんでしょうね。

ところで。
陰的スキームに伴う一次方程式の解法が分かりません。
解けないorz...NumericalRecipiでは三重対角な一次方程式を解いておりましたがこれしか解く方法ないんですかね。自分でその計算するのか、クラメール的な関数、行列自体の実装の必要があるのか、結構悩みます。
もしこのブログを読んでいる人で次のように
\frac{u_n^{m+1}-u_n^m}{dt}=\sigma \frac{u_{n+1}^{m+1}-2u_{n}^{m+1}+u_{n-1}^{m+1}}{dx^2}
差分かされている二階常微分方程式
\frac{\partial u}{\partial t}=\sigma \frac{\partial ^2 u}{\partial x^2}
の解き方が分かる人はコメントくれると助かります。ふう。