keisoku

オイラー法(1階常微分方程式)

dy/dx = f(x, y) と初期条件・刻み幅を入力すると、オイラー法で数値解を計算。終点での y の値、各ステップの推移表、解曲線のグラフをまとめて表示します。

入力

dy/dx=

右辺の例(タップで入力)

y
x + y
x - y
x*y
-2*y
sin(x) - y

使える記号:+ - * / ^(べき乗)/関数:sin cos tan asin acos atan sinh cosh tanh exp log(自然対数) ln log10 sqrt cbrt abs pow(a,b)/定数:pi(π), e/変数は x と y。

計算結果

dy/dx = y、 y(0) = 1 のとき

y(1) ≒

2.593742

11.522.5300.10.20.30.40.50.60.70.80.91

終点の y

2.593742

x = 1

ステップ数

10 回

h = 0.1

初期条件

y(0) = 1

区間 0 → 1


数値解の推移

nxy傾き f(x, y)
0011
10.11.11.1
20.21.211.21
30.31.3311.331
40.41.46411.4641
50.51.610511.61051
60.61.7715611.771561
70.71.9487171.948717
80.82.1435892.143589
90.92.3579482.357948
1012.5937422.593742

計算方法・使い方

  • 右辺 f(x, y)、初期値 x0・y0、刻み幅 h、終了 x(xend)を入力すると、オイラー法 y_{n+1} = y_n + h·f(x_n, y_n) によって x0 から xend まで順番に y を更新し、各ステップの値を求めます。
  • 右辺の数式では変数 x と y の両方を使えます。記号は + - * / と ^(べき乗)、関数は sin・cos・tan・exp・log(自然対数)・ln・sqrt・abs・pow(a,b) など、定数は pi(π)と e に対応しています。三角関数の角度はラジアンで扱います。
  • 主要な結果として終了 x における y の近似値を大きく表示し、あわせてステップ数・刻み幅・初期条件を確認できます。下の表ではステップ番号 n ごとの x・y・傾き f(x, y) の推移を、グラフでは解曲線と各点をたどれます。
  • オイラー法は1次精度の最も基本的な解法で、刻み幅 h に比例した誤差が残ります。h を半分にすると誤差もおよそ半分になりますが、計算ステップ数は増えます。精度が必要な場合は h を十分小さくしてください。
  • 刻み幅が大きすぎると解が振動したり発散したりすることがあります(特に -2y のように急減衰する式で顕著です)。値が発散した場合は警告を表示しますので、h を小さくするか区間を見直してください。
  • 入力した式や計算結果は外部に送信されず、すべてブラウザ内で処理されます。安心してご利用ください。