この計算機でできること
このツールは、初期条件 \(y(x_0) = y_0\) のもとで \(y' = F(x, y)\) の形の1階常微分方程式を、古典的な前進(陽的)オイラー法で数値的に解きます。\(x_0\) から \(x_n\) まで \(n\) 等分で進み、刻み幅 \(h\)、\((x, y)\) 近似値の数表、そして終点における近似値 \(y(x_n)\) を出力します。
使い方
右辺 \(F(x, y)\) を、変数 x・y を用いた数式として入力します(演算子 + - * / ^、括弧、sin・cos・exp・log/ln・sqrt・abs などの関数、および定数 pi・e が使えます)。開始点 \(x_0\)、初期値 \(y_0\)、終点 \(x_n\) を設定し、分割数 \(n\) を指定してください。\(n\) を大きくするほど刻み幅が小さくなり、一般により高い精度が得られます。
計算式の解説
刻み幅は $$h = \frac{x_n - x_0}{n}$$ 各格子点は \(x_k = x_0 + k \cdot h\) で与えられます。\(y_0\) から出発し、次の値を $$y_{k+1} = y_k + h \cdot F(x_k, y_k)$$ として求めます。つまり、現在の点で傾き \(F\) を評価し、その傾きに沿って幅 \(h\) の直線を1歩進めるわけです。本手法は1次精度なので、全体の誤差は \(O(h)\) のオーダーになります。
計算例
\(y' = 1 - y^2\)、\(x_0 = 0\)、\(y_0 = 0\)、\(x_n = 1\)、\(n = 5\) の場合、刻み幅は \(h = 0.2\) です。漸化式により \(y_1 = 0.2\)、\(y_2 = 0.392\)、\(y_3 = 0.5612672\)、\(y_4 \approx 0.6982668\)、\(y_5 \approx 0.8007513\) となります。したがって \(x = 1\) におけるオイラー法の近似値は約 \(0.8008\) です。厳密解は \(\tanh(x)\) なので \(\tanh(1) \approx 0.7616\) となり、\(n\) を大きくするとオイラー法の値はこの真値に近づいていきます。
よくある質問
厳密解と答えが違うのはなぜ? オイラー法は1次精度しかありません。誤差はおおむね \(h\) に比例して小さくなるため、\(n\) を大きく(刻み幅を小さく)すると精度が向上します。
\(x_n\) を \(x_0\) より小さくできますか? はい。刻み幅 \(h\) が負になり、同じ漸化式で逆向きに積分します。
使える関数は? sin・cos・tan・asin・acos・atan・sinh・cosh・tanh・exp・log/ln・log10・sqrt・abs、および定数 pi・e が利用できます。