MCPで接続 →

計算を入力してください

公式

広告

結果

y(xn) — approximate value at endpoint
0.7652614605
Euler approximation with step size h = 0.02
分割数 n 50
刻み幅 h 0.02
k xk yk
0 0 0
1 0.02 0.02
2 0.04 0.039992
3 0.06 0.0599600128
4 0.08 0.0798881087
5 0.1 0.0997604665
6 0.12 0.1195614235
7 0.14 0.1392755248
8 0.16 0.1588875714
9 0.18 0.1783826662
10 0.2 0.1977462587
11 0.22 0.216964187
12 0.24 0.2360227179
13 0.26 0.2549085834
14 0.28 0.2736090157
15 0.3 0.2921117778
16 0.32 0.310405192
17 0.34 0.3284781643
18 0.36 0.3463202062
19 0.38 0.3639214525
20 0.4 0.3812726761
21 0.42 0.398365299
22 0.44 0.4151914008
23 0.46 0.4317437228
24 0.48 0.4480156699
25 0.5 0.4640013091
26 0.52 0.4796953648
27 0.54 0.495093212
28 0.56 0.5101908662
29 0.58 0.5249849718
30 0.6 0.5394727874
31 0.62 0.5536521696
32 0.64 0.5675215551
33 0.66 0.5810799408
34 0.68 0.5943268629
35 0.7 0.6072623745
36 0.72 0.6198870226
37 0.74 0.6322018242
38 0.76 0.6442082413
39 0.78 0.6559081561
40 0.8 0.6673038459
41 0.82 0.6783979575
42 0.84 0.6891934817
43 0.86 0.6996937286
44 0.88 0.7099023023
45 0.9 0.7198230767
46 0.92 0.7294601715
47 0.94 0.7388179287
48 0.96 0.74790089
49 0.98 0.7567137752
50 1 0.7652614605

この計算機でできること

このツールは、初期条件 \(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)\) のオーダーになります。

広告
接線に沿って次の点へと進むオイラー法
各オイラーステップは接線の傾き \(F(x,y)\) に沿ってステップ幅 \(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\) を大きくするとオイラー法の値はこの真値に近づいていきます。

x 列と y 列からなるオイラー反復ステップの表
この例題では、終点 \(x_n\) までの \(x_k\) と \(y_k\) の値を段階的に表にまとめます。

よくある質問

厳密解と答えが違うのはなぜ? オイラー法は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 が利用できます。

最終更新: