ルンゲ・クッタ法(2次・2階常微分方程式)
y''=f(x,y,y') を1階連立に変換し、2次ルンゲ・クッタ法で数値的に解きます。終点での y と y' を求め、解曲線のグラフと各ステップの数表を表示します。
入力
y''=
式の例(タップで入力)
単振動 y''=-y
減衰振動 y''=-y-0.2v
強制振動
y''=-9.8(自由落下)
van der Pol
変数は x(独立変数)、y(解)、v(= y'、解の傾き)。使える記号:+ - * / ^(べき乗)/関数:sin cos tan exp log(自然対数) ln log10 sqrt abs pow(a,b) など/定数:pi(π), e。
計算結果
x = 10 における近似解 y
y ≒ -0.333058
そのときの傾き y' ≒ 0.189841
ステップ数
100 回
刻み幅 h = 0.1
初期条件
y(0) = 1
y'(0) = 0
終点での解
y = -0.3331
y' = 0.1898
数値解の推移(抜粋)
| x | y | y'(= v) |
|---|---|---|
| 0 | 1 | 0 |
| 0.8 | 0.711093 | -0.663591 |
| 1.7 | -0.019739 | -0.840923 |
| 2.5 | -0.572066 | -0.47327 |
| 3.3 | -0.72085 | 0.105891 |
| 4.2 | -0.386692 | 0.570002 |
| 5 | 0.103275 | 0.58628 |
| 5.8 | 0.462488 | 0.270557 |
| 6.7 | 0.490978 | -0.197022 |
| 7.5 | 0.218389 | -0.439761 |
| 8.3 | -0.136527 | -0.399268 |
| 9.2 | -0.374116 | -0.101006 |
| 10 | -0.333058 | 0.189841 |
y'' = -y - 0.2*vを y' = v, v' = f(x, y, v) の連立に変換し、 2次ルンゲ・クッタ法で逐次計算しています。
計算方法・使い方
- 2階の微分方程式 y''=f(x,y,y') を、解 y とその傾き y'(v と表記)の2つを同時に追う1階連立に置き換えて解きます。式の中では独立変数 x、解 y、傾き v(=y')の3変数が使えます。
- 右辺の式・初期点 x0・初期値 y(x0)・初期傾き y'(x0)・刻み幅 h・終点 x_end を入力すると、終点での y と y' の近似値が大きく表示されます。
- 刻み幅 h を小さくするほど精度は上がりますが、ステップ数が増えて計算量も大きくなります。結果が振動・発散する場合はまず h を小さくして試してください。
- sin・cos・exp・log・sqrt などの関数や、円周率 pi・自然対数の底 e といった定数を式に含められます。2引数の pow(a,b) も利用できます。
- 単振動 y''=-y、減衰振動 y''=-y-0.2y'、外力のある強制振動など、物理でよく現れる運動方程式の挙動を手早く確認できます。
- 表示される数表は計算ステップを間引いた抜粋で、解曲線のグラフには初期点と終点の位置も合わせて示します。
関連する計算ツール
関数 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)を色分けで重ねた折れ線グラフを描き、各系列の点数・最大最小を表示します。
計算する →