オイラー法電卓
オイラー法を使用して、任意の一次常微分方程式 y' = f(x, y) を数値的に解きます。反復テーブル、方向場に重ねられたオイラー折れ線、h、h/2、h/4 でのライブ収束比較を表示します。オプションで厳密解に対する誤差分析も可能です。
広告ブロッカーにより広告が表示できません
MiniWebtool は広告収益で無料提供しています。このツールが役に立ったら、Premium(広告なし+高速)をご利用いただくか、MiniWebtool.com を許可リストに追加して再読み込みしてください。
- または Premium(広告なし)にアップグレード
- MiniWebtool.com の広告を許可してから再読み込みしてください
オイラー法電卓
オイラー法電卓は、古典的な(前進)オイラー法を使用して、\( y' = f(x, y), \; y(x_0) = y_0 \) という形式の任意の1階初期値問題を数値的に解きます。完全な反復テーブルを返し、ライブスロープフィールドの上にオイラー折れ線をプロットし、3つの異なるステップサイズでの解を比較して手法が収束する様子を視覚的に確認できます。また、厳密な閉形式の解を入力した場合は、ステップごとの誤差分析も行います。
オイラー法とは?
オイラー法は、初期値問題の解を近似するための最も単純なアルゴリズムです。解曲線上の既知の点 \( (x_0, y_0) \) から始めて、局所的な傾き \( f(x, y) \) に沿って、小さいステップサイズ h ずつ繰り返し進みます:
幾何学的には、各ステップは現在の点における微分方程式の値に等しい傾きを持つ短い直線セグメントです。その結果得られる折れ線 — オイラー折れ線 — は、真の(通常は曲線である)解の近似となります。
精度はどのくらいですか?
オイラー法は 1次精度 の手法です。各ステップでの局所的な打ち切り誤差は \( O(h^2) \) であり、固定された区間にわたって積分した後のグローバル誤差は \( O(h) \) です。実用的には以下のことが言えます:
- ステップサイズを半分にすると、グローバル誤差もおおよそ 半分 になります。
- 誤差は積分区間の長さに比例して大きくなります。
- 誤差は、解の曲率が高い場所で最も顕著になります。
内蔵のステップサイズ比較(h, h/2, h/4)を使用すると、この線形収束を直接確認できます。オプションを有効にして、3つの最終値が共通の極限に近づき、各値が前の値に比べて極限からの距離がおよそ半分になっていることを確認してください。
チャートの読み方
可視化では、単一の座標平面上に4種類の情報を重ねて表示します:
- グレーのスロープフィールド — その点での傾きが \( f(x, y) \) に等しい短い線分です。「微分方程式が規定する流れ」と考えてください。あらゆる解曲線は、すべての点でこのフィールドの接線になっている必要があります。
- 藍色のオイラー折れ線 — 段階的な数値解です。各セグメントは前のグリッド点から始まり、\( f(x_n, y_n) \) に沿って距離 h だけ進みます。
- 緑色の破線(厳密解) — 閉形式の解を入力した場合のみ表示されます。垂直なオレンジ色の破線スタブは、符号付きの局所誤差 \( y_n - y_{\text{exact}}(x_n) \) を表します。
- オレンジと緑の比較曲線 — ステップサイズ比較が有効な場合に表示される、h/2 および h/4 で再実行した同じ問題の結果です。
この電卓の使い方
- 微分方程式の右辺を y' = と書かれたフィールドに入力します。変数には
xとyを使用します。サポートされている演算子は+ − × ÷ ^、サポートされている関数にはsin, cos, tan, asin, acos, atan, exp, ln, log, log10, log2, sqrt, absが含まれます。 - 初期条件を設定する:開始値 x₀、その点での初期値 y₀、ステップサイズ h(正の値で順方向、負の値で逆方向に積分)、およびステップ数 n を入力します。
- (任意)厳密解 y(x) を入力する:既知の場合は入力してください。電卓は各ステップで \( |y_n - y(x_n)| \) を計算し、最大誤差と最終誤差を報告します。
- 可視化オプションを切り替える:スロープフィールドはデフォルトでオンになっています。ステップサイズ比較をオンにすると、h/2 と h/4 での2つの追加曲線が重畳されます。
- 実行をクリック。結果セクションに要約統計、チャート、収束比較パネル、および完全な反復テーブルが表示されます。テーブルの行にマウスを合わせると、チャート上の対応するポイントが強調表示されます(逆も同様です)。
計算例
\( y' = x + y, \; y(0) = 1 \) で h = 0.1、10ステップの場合を考えます。厳密解は \( y(x) = -x - 1 + 2e^x \) です。オイラーの公式を適用すると以下のようになります:
最終的な誤差は約 0.249 です。h を 0.05 に半減させると最終誤差は約 0.13 に下がり、さらに 0.025 に半減させると約 0.067 に下がります。理論が予測する通り、見事な線形収束を示しています。
オイラー法と他の数値解法の比較
| 手法 | 次数 | ステップごとの評価回数 | グローバル誤差 | 備考 |
|---|---|---|---|---|
| オイラー法(前進) | 1 | 1 | O(h) | 最も単純な手法。教育やプロトタイピングに最適。 |
| 改良オイラー法(ホイン法) | 2 | 2 | O(h²) | ステップの開始点と終了点での傾きを平均化。 |
| 中点法(RK2) | 2 | 2 | O(h²) | 各ステップの中点での傾きを評価。 |
| 4次ルンゲ・クッタ法(RK4) | 4 | 4 | O(h⁴) | 汎用ソルバーの定番。1ステップあたりの精度が非常に高い。 |
| 後退(後退)オイラー法 | 1 | 1(+方程式の根の算出) | O(h) | 無条件に安定。スティフな微分方程式に不可欠。 |
オイラー法がうまくいかない場合
前進オイラー法は、以下の3つの状況で不適切な挙動を示すことがあります:
- ステップサイズが大きすぎる — 折れ線が振動したり発散したりします。解決策は h を小さくすることです。h, h/2, h/4 の比較により、これが即座に可視化されます。
- スティフな微分方程式 — 急激に減衰するモードとゆっくり減衰するモードが同時に存在する方程式では、安定性のために h を極端に小さくする必要があります。陰解法(後退オイラー法)や BDF 法に切り替えてください。
- f(x, y) の特異点 — ゼロ除算、負の数の
sqrt、または正でない数のlnは積分を停止させます。電卓は問題のあるステップを明確に報告します。
一般的な用途
- 物理学 — 1階の連立系としてのニュートンの第2法則、放射性崩壊 \( \dot{N} = -\lambda N \)、ニュートンの冷却の法則。
- 生物学・疫学 — ロジスティック成長 \( \dot{y} = r\,y(1 - y/K) \)、区分的 SIR モデル。
- 経済学 — 連続複利、単純なソロー成長モデル。
- 化学 — 1次反応速度論 \( \dot{c} = -k c \)。
- 教育 — RK4 や適応型ソルバーに進む前に、数値積分の概念を導入する。
よくある質問
オイラー法とは何ですか?
オイラー法は、初期値問題 y' = f(x, y), y(x0) = y0 を解くための最も単純な数値的手法です。各ステップで y_{n+1} = y_n + h · f(x_n, y_n) によって解を進め、現在の点における傾きに沿って短い距離 h だけ移動します。これは1次精度であり、グローバル誤差は O(h) です。
オイラー法の精度はどのくらいですか?
オイラー法の局所的な打ち切り誤差は O(h²) であり、グローバル誤差は O(h) です。ステップサイズを半分にすると、グローバル誤差もおおよそ半分になります。この電卓での h, h/2, h/4 の収束比較が非常に有益なのは、誤差が h に比例して線形に減少する様子を確認できるからです。
オイラー法が失敗するのはどのような時ですか?
オイラー法は、スティフな問題や、解の局所的な曲率に対してステップサイズが大きすぎる場合に不安定になることがあります。数値解が振動したり、無限大に発散したり、真の解から目に見えて逸脱したりすることがあります。通常は h を小さくすることで改善されますが、スティフな方程式には後退オイラー法などの陽解法が好まれます。
ステップサイズはどのように選べばよいですか?
まずは、対象の区間で10〜50ステップ程度になるような h から始めてください。オイラー折れ線がスロープフィールドや厳密解から明らかに逸脱している場合は、h を半分にして再実行してください。内蔵の h, h/2, h/4 比較機能を使用して、3つの曲線が互いに収束しているか確認してください。
オイラー法とルンゲ・クッタ法(RK4)の違いは何ですか?
4次ルンゲ・クッタ法は、1ステップにつき4つの点で傾きを評価し、それらを (1, 2, 2, 1)/6 の重みで組み合わせます。これにより、同じステップ数でもオイラー法の O(h) よりも数桁優れた O(h⁴) のグローバル誤差を実現します。それでも、数値積分の概念を教えるためや、非常に単純な用途、低精度の用途にはオイラー法も価値があります。
連立微分方程式に使用できますか?
この電卓は、単一のスカラー1階常微分方程式 y' = f(x, y) を扱います。連立方程式や高階微分方程式の場合は、1階の連立系に書き換えて専用のソルバーを使用するか、2階の方程式を2つの1階方程式に変換してコンポーネントごとに解く必要があります。
過去にさかのぼって積分することはできますか?
はい。負のステップサイズ h を入力してください。電卓は x₀ から負の方向に n ステップ進みます。これは、既知の現在の状態から過去の状態を復元する場合に便利です。
参考文献
このコンテンツ、ページ、またはツールを引用する場合は、次のようにしてください:
"オイラー法電卓"(https://MiniWebtool.com/ja//) MiniWebtool からの引用、https://MiniWebtool.com/
miniwebtool チーム作成。更新日: 2026年4月22日
また、AI 数学ソルバー GPT を使って、自然言語による質問と回答で数学の問題を解決することもできます。