ルンゲ・クッタ法(4次・1階常微分方程式)
dy/dx=f(x,y) の右辺の数式と初期値 x0・y0、刻み幅 h、終点 xEnd を入力すると、古典的4次ルンゲ・クッタ法(RK4)で常微分方程式を数値的に解きます。終点での近似解 y、各ステップの k1〜k4 と y の値の表、解曲線のグラフを表示します。
入力
dy/dx =
右辺の例(タップで入力)
y
x + y
x - y
-2*y
x*y
cos(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(および y'=v)が使えます。三角関数の角度はラジアンです。
計算結果
x = 1 における近似解 y
y ≒ 2.71828
dy/dx = y
ステップ数
10 回
区間を分割した回数
刻み幅 h
0.1
区間 0 → 1
初期条件
y(0) = 1
x0 における y の値
各ステップの解(k1〜k4 は次の点を求めるための傾き)
| n | x | y | k1 | k2 | k3 | k4 |
|---|---|---|---|---|---|---|
| 0 | 0 | 1 | 1 | 1.05 | 1.0525 | 1.1053 |
| 1 | 0.1 | 1.105171 | 1.1052 | 1.1604 | 1.1632 | 1.2215 |
| 2 | 0.2 | 1.221403 | 1.2214 | 1.2825 | 1.2855 | 1.35 |
| 3 | 0.3 | 1.349858 | 1.3499 | 1.4174 | 1.4207 | 1.4919 |
| 4 | 0.4 | 1.491824 | 1.4918 | 1.5664 | 1.5701 | 1.6488 |
| 5 | 0.5 | 1.648721 | 1.6487 | 1.7312 | 1.7353 | 1.8222 |
| 6 | 0.6 | 1.822118 | 1.8221 | 1.9132 | 1.9178 | 2.0139 |
| 7 | 0.7 | 2.013752 | 2.0138 | 2.1144 | 2.1195 | 2.2257 |
| 8 | 0.8 | 2.22554 | 2.2255 | 2.3368 | 2.3424 | 2.4598 |
| 9 | 0.9 | 2.459601 | 2.4596 | 2.5826 | 2.5887 | 2.7185 |
| 10 | 1 | 2.71828 | — | — | — | — |
計算方法・使い方
- 1階の常微分方程式 dy/dx=f(x,y) を、古典的な4次ルンゲ・クッタ法(RK4)で数値的に解くツールです。右辺の式 f(x,y)、初期値 x0・y0、刻み幅 h、終点 xEnd を入力すると、終点での y の近似値を求めます。
- RK4 は各ステップで4つの傾きを使います。k1=f(x,y)、k2=f(x+h/2, y+h·k1/2)、k3=f(x+h/2, y+h·k2/2)、k4=f(x+h, y+h·k3) を計算し、y(次)=y+(h/6)·(k1+2·k2+2·k3+k4) で次の点へ進みます。
- 刻み幅 h を小さくするほど誤差は小さくなり、RK4 は h の4乗に比例して精度が上がる高精度な手法です。一方でステップ数が増えるため、計算量とのバランスを見て h を選んでください。
- 終点 xEnd が初期値 x0 より小さい場合は逆向き(h を負の向き)に積分します。区間の端数は最後のステップで自動的に調整し、ちょうど xEnd まで計算します。
- 右辺の式では変数 x と y が使え、+ - * / とべき乗 ^、sin・cos・tan・exp・log・ln・sqrt・abs・pow(a,b) などの関数、定数 pi・e に対応します(角度はラジアン)。例として dy/dx=y、初期値 y(0)=1 では解が e^x になり、x=1 で約 2.71828 が得られます。
- 各ステップの x・y と傾き k1〜k4 を表に、解の点をつないだ曲線をグラフに表示します。途中で値が発散したり定義域を外れた場合は刻み幅や式を見直してください。入力や計算結果は外部に送信されず、すべてブラウザ内で処理されます。
関連する計算ツール
関数 f(x) のグラフ描画
数値解析sin(x) や x^2-2 などの数式を入力すると、指定した x の範囲で関数のグラフを自動描画。最大・最小・ゼロ点や代表点の値も同時に確認できます。
計算する →関数 f(x), g(x) のグラフ描画
数値解析2つの数式 f(x) と g(x) を同じ座標平面に色分けで重ねて描画。区間内の最大・最小値や交点も自動で求めます。
計算する →データ点 f(x) のグラフ描画
数値解析(x, y) のデータ点を入力するだけで、折れ線+点のグラフを自動描画。点数・y の最小最大・平均も同時に確認できます。
計算する →データ点 f(x), g(x) のグラフ描画
数値解析2系列の(x, y)データ点を入力すると、f(x)とg(x)を色分けで重ねた折れ線グラフを描き、各系列の点数・最大最小を表示します。
計算する →