Pythonによる極限の実装
メニューを表示するにはスワイプしてください
リミットの挙動を視覚的に探る前に、sympyライブラリを使って直接計算する方法を理解する必要があります。
ここでは、よく遭遇する3種類のリミットを紹介します。
1. 有限リミット
この例は、x→2のときに特定の有限値に近づく関数を示しています。
12345678import 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)
2. 存在しないリミット
この場合、関数は左側と右側で異なる挙動を示すため、リミットは存在しません。
1234567891011import 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)
3. 無限大の極限
この例は、(x) が無限大に大きくなるとき、関数がゼロに近づくことを示しています。
12345678import 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)
これらの短いスニペットは、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: 微積分でよく知られる極限で、x→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/xは x=0 でゼロ除算の問題が発生するため、エラー回避のためにその値をNaN(非数)に置き換えます; f_specialについては、limx→0xsin(x)=1 であることが知られているため、x=0 のとき手動で 1 を代入します。
水平漸近線のプロット
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/xは y=0 に水平漸近線を持つ; - 関数
sin(x)/xは y=1 に近づくため、視覚的に分かりやすくするために赤の破線を追加する。
すべて明確でしたか?
フィードバックありがとうございます!
セクション 3. 章 2
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 3. 章 2