2003/11/25 これから、二週間、常微分方程式を行う # 常微分方程式に関しては、微分方程式論で学んでいるはず.. 独立変数を何にするかによって、異なるが.. \frac{\dy}{dt} = f(t,y) # 時間によって、どう変化するか \frac{\dy}{dx} = f(x,y) # 場所よって、どう変化するか 多次元を表現する必要があるばあいは、連立の形になる。 \frac{\dy}{dt} = f_1(t,x,y) \frac{\dx}{dt} = f_2(t,x,y) 微分方程式の階数による分類もある。 \frac{\dy}{dx} = f(x,y) # 一階(常)微分方程式 物理学では、 => 増幅か減衰するかのどちらかの形 \exp{\alpha t} \alpha > 1 : 増幅 \alpha < 1 : 減衰 \frac{\d^2y}{dx^2} + \alpha \frac{\dy^1}{dx^1} + \frac{\dy^0}{dx^0} = g(x,y) # 二階(常)微分方程式 物理学の運動方程式などがこの形。 => 振動の形が答としてよく出てくる。 重りつきのバネの動きなど.. 三次以後は、物理学では普通には、存在しない => 上記の組み合わせの場合が多い 音叉の音 音は 2 階 (振動) 段々と減衰するので、それが 1 階 -> 三階 マイクのハウリング 増幅の例 一階の方程式の解 指数関数 二階の方程式の解 三角関数 (sin/cos) これらは、複素関数としてみた場合は、同じもの \exp{\alpha + \beta i}t の特別な形 一階 : \beta = 0 二階 : \alpha = 0 # 物理現象でも、複数物が発展して、統一した見方で同一視可能 # になることがあるが、これもそのような例。 偏微分 独立変数が複数ある場合 ( 変数が一つなら常微分.. ) ただし、常微分と偏微分は解法が異なる.. Text p.108 \frac{dy}{dx} = y' = f(x,y) # 関数の傾きに関する情報が与えられている。 y' = y # 一番簡単な常微分方程式 ## 右辺に y が含まれていないと、単なる ## 積分になり、微分方程式と言えない。 平行移動した関数の傾きは、同じなので、この微分方程式を満す解が 一つ定まれば、その解の平行移動した結果が同じになる。 => 解の集合しか定まらない。 解を一つに固定するには、一点の値を定めれば ( 平行移動できなくな るので.. )よく、値が一つ決れば、解が一つに定まる。 一点の値 : 初期値 (y_0,x_0) を通る : y0 = y(x0) を与える => 初期値問題 # 不定積分の積分定数を与えることと同じ意味 数値積分 関数の値が分っている時の面積の計算 常微分方程式 傾きが分っている時の関数の形の計算 [解法] 今週 : オイラー 来週 : ルンゲクッタ 常微分方程式が与えられている 物理現象としては.. : 傾きの場が与えられていると同じ 一点から開始して、その傾きに従って、移動して行 く軌跡を考える.. ( 解を追っかける.. ) [解法 の方針] 初期値が定まる。 そこでの傾きが解る (近似して..) 次の場所の値が解る そこでの傾きが解り .. y_0 = y(x_0) (初期値) が与えられているとして、y_n = y(x_n) まで を計算する。 刻み幅 h = \frac{x_n-x_0}{n} として離散化する。 まず、y のテーラ展開を行う y = y(x_i) + (x-x_i)y'(x_i)+\frac{(x-x_i)^2}}2!}y''(x_i) + .. +\frac{(x-x_i)^q}}1!}y^(q)(x_i) .. ( \frac{(x-x_i)^(q+1)}}1!}y^{(q+1)}(\iota) ) # where x < \iota < x_i ## 平均値の定理 = y(x_i) + (h y'(x)+\frac{h^2}}2!}y''(x_i) + .. +\frac{h^q}}1!}y^(q)(x_i) .. ( \frac{h^(q+1)}}1!}y^{(q+1)}(\iota) ) これの二次の項目以下を無視すれば... y = y(x_i) + h y'(x_i) # オイラー法 ここで、y' が与えらえているので、これは解くことができる。 # オイラー法は、与えられた条件をそのまま利用する # という意味で、素直で単純な方式 # では、二次以後は ?? ## 次数を高くすると、精度が高くなることが多いので、これは ## 当然の要求.. ## => 実は、ルンゲ=クッタ法は、これに答える方式.. # y'' 等がわかれば、勿論、高次の公式も作れる == 課題 11/25 常微分方程式をオイラー法で解く 方程式 y' = y 初期値 x = 0 の時 y = 1 # これは、解析的に解けて y = e^x になっている ## 本来、解析的に解ける問題は、数値的に解くことはないが、 ## 演習問題なので、解りやすい ( 確認がしやすい ) 例にした。 区間 [0, 1] step 数 : n = 20 位 解法としては.. y(x_{n+1}) = y(x_n) + h y'( x_n ) = y(x_n) + h y( x_n ) # y'( x_n ) = y( x_n ) = ( 1 + h ) y( x_n ) = ( 1 + h )^n y( x_0 ) これは、複利計算と同じ # 電卓でも解けるので、電卓で計算してもよい。 ## 複利計算は、実は、常微分方程式を解いているのと同じ h を 0 に収束させると、グラフ的には、下から上に収束して 行く。 # 一年に 5% より半年に 2.5% の方が余分に貰える.. h が無限小の時に初めて、正しい近似であることに注意 ## 人口統計も、複利計算になる。 ## h の値によって、実は答が違う ## h の値を操作することにより答を ## 選ぶことができる.. # 数値計算の世界で、一次近似の公式は、誤差は多いが、素直で、変 # なことがおきない ## 精度をあげようとして、次数をあげると、振舞いが変になる。 # 公式が n 次式 : 差分公式にすると、漸化式の形になる # 漸化式に対応した、特性方程式の次数が n にになる # この特性根の性質が重要 # # 差分公式が正しくなるには、根が 単位円の内側になければ # # ならない !! ( 特に 1 という根がなければならない ) # 一次式の根は、一つなので、問題が起き難い.. # # # 当っている ( 根 = 1 ) か当っていない ( 根 != # # # 1 )かのどちらか.. # 二次以上の場合は、根が複数あるので、その根 ( 1 以外 ) # の性質 ( 絶対値が 1 より大きいと.. ) によって、変な # 振舞いをする。 # 「安定なこと」と「精度が良い」が反することが多い # 答えが解らないとき # シンプルな方法を取る ( 安定性を重視 ) # 答の様子がわかってきたら # 複雑な方法を取る ( 精度を重視 )