Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ Pythonによる極限の実装 | 数理解析
Pythonによるデータサイエンスのための数学

bookPythonによる極限の実装

メニューを表示するにはスワイプしてください

リミットの挙動を視覚的に探る前に、sympyライブラリを使って直接計算する方法を理解する必要があります。 ここでは、よく遭遇する3種類のリミットを紹介します。

1. 有限リミット

この例は、x2x \to 2のときに特定の有限値に近づく関数を示しています。

12345678
import sympy as sp x = sp.symbols('x') f = (x**2 - 4) / (x - 2) # Compute the limit as x approaches 2 limit_value = sp.limit(f, x, 2) print("Limit of f(x) as x approaches 2:", limit_value)
copy

2. 存在しないリミット

この場合、関数は左側と右側で異なる挙動を示すため、リミットは存在しません

1234567891011
import sympy as sp x = sp.symbols('x') f = (2 - x) # Compute the limit as x approaches infinity and negative infinity left_limit = sp.limit(f, x, -sp.oo) right_limit = sp.limit(f, x, sp.oo) print("Left-hand limit:", left_limit) print("Right-hand limit:", right_limit)
copy

3. 無限大の極限

この例は、(x) が無限大に大きくなるとき、関数がゼロに近づくことを示しています。

12345678
import sympy as sp x = sp.symbols('x') f = 1 / x # Compute the limit as x approaches infinity limit_value = sp.limit(f, x, sp.oo) print("Limit of 1/x as x approaches infinity:", limit_value)
copy

これらの短いスニペットは、sympy.limit() を使用して有限、不定、無限のさまざまなタイプの極限を計算する方法を示し、その後グラフで解析する流れを説明しています。

関数の定義

f_diff = (2 - x)  # Approaches +∞ as x → -∞ and -∞ as x → +∞
f_same = 1 / x  # Approaches 0 as x → ±∞
f_special = sp.sin(x) / x  # Special limit sin(x)/x
  • f_diff: 左極限と右極限が異なる単純な線形関数;
  • f_same: 両側から同じ極限値に近づく古典的な逆数関数;
  • f_special: 微積分でよく知られる極限で、x0x \to 0 のとき 1 となる関数。

0による除算の処理

y_vals_same = [f_same.subs(x, val).evalf() if val != 0 else np.nan for val in x_vals]
y_vals_special = [f_special.subs(x, val).evalf() if val != 0 else 1 for val in x_vals]
  • 関数 f_same = 1/xx=0x = 0 でゼロ除算の問題が発生するため、エラー回避のためにその値を NaN(非数)に置き換えます;
  • f_special については、limx0sin(x)x=1\lim_{\raisebox{-1pt}{$x \to 0$}}\frac{\raisebox{1pt}{$sin(x)$}}{\raisebox{-1pt}{$x$}} = 1 であることが知られているため、x=0x = 0 のとき手動で 11 を代入します。

水平漸近線のプロット

axs[1].axhline(0, color='blue', linestyle='dashed', linewidth=2, label='y = 0 (horizontal asymptote)')
axs[2].axhline(1, color='red', linestyle='dashed', linewidth=2, label=r"$y = 1$ (horizontal asymptote)")
  • 関数 1/xy=0y = 0 に水平漸近線を持つ;
  • 関数 sin(x)/xy=1y = 1 に近づくため、視覚的に分かりやすくするために赤の破線を追加する。
question mark

Pythonで関数の極限を計算するために使用されるsympy関数はどれか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 3.  2

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 3.  2
some-alt