質問: オイラー法について
回答: オイラー法には陽的な方法と陰的な方法がありますが 陰的なものはめんどくさいので陽的なものを解説します (興味があれば返信くだされば解説します) 陽的オイラー法とは、微分方程式 dx/dt=f(x(t)) を数値的に解く方法のうち最も簡単なものです。 dx/dtを近似する方法として、{x(t+Δt)-x(t)}/Δtを用いたのが陽的オイラー法です。 これを dx/dt=f(x) に代入すると {x(t+Δt)-x(t)}/Δt=f(x(t)) これをx(t+Δt)について解いて x(t+Δt)=x(t)+f(x(t))Δt を得ます。これが陽的オイラー法の式です。 この式を文字通り解釈すると、 時刻tのときの位置がわかっているとき、Δt秒後の位置を、微分係数f(x)にΔtをかけることで近似するのが、陽的オイラー法です。 ですから、 「オイラー法というのはつまりある関数上の一点が求まった後微分係数に添いながら次の点を求めていくというものなのでしょうか?」 というのはまあ合っていると思います。 ただ、 dx/dt=f(x) の形にしか適用できないので、運動方程式のように二階の微分方程式は、変形する必要があります。 ここでちょっと道を外れて、微分方程式の理論について。 ax(n)+bx(n−1)+...+cx=0 のような微分方程式を、線形(同次)微分方程式といいました。 線形微分方程式は、以下のようなことがいえます。 [定理] 線形微分方程式は、ベクトルYを用いて dY/dt=f(Y)の形に変形できる。 証明を出してもわかりにくいとおもうので、ここでは例を話します。 y''+y=0 という線形微分方程式があったとします。 ここで、dy/dt=zと、新しい変数を導入すると、 y''+y=z'+y=0より、z'=-y となり y'=z z'=-y と簡単な形になります。 ここで、ベクトルYを、 Y= (y) (z) 行列Aを、A= (0 -1) (1 0) と定義すると、 y'=z z'=-yは、 dY/dt=AY と, f(Y)=AYとすれば dY/dt=f(Y) の形で書けていますね。 ところで、微分方程式y''+y=0は単振動の方程式ですね。 単振り子の厳密式とは異なりますが。。。 それでも同様に、単振り子の方程式 d2θ/dt2=-(g/l)sinθも変形できます。 dθ/dt=φとすると、 dφ/dt=-(g/l)sinθ dθ/dt=φ よってX=(φ,θ)とすれば dX/dt=(-(g/l)sinθ,φ) になります。 f(X)=(-(g/l)sinθ,φ)の場合ですね。この場合は線形でないので、先の定理の条件は満たしておらず、行列では書けませんが、同じ方法が通用します。