2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SymPyで極限値を求める

Posted at

 SymPyを使って高校数学でおなじみの三角関数の極限値を求めます。
$$
\begin{equation*}
\lim_{x \to 0} \frac{\sin x}{x} = 1
\end{equation*}
$$

関数のプロット

はじめに関数をプロットしてみます。複数のSymbolを宣言する場合はsymbolsが便利です。

%matplotlib inline
from sympy import sin
from sympy import pi
from sympy import symbols
from sympy.plotting import plot
x, y1, y2, y3  = symbols('x y1 y2 y3')
y1 = x
y2 = sin(x)
y3 = y2/y1

plot(y1, y2, y3, (x, -pi/2, pi/2))

output_5_0.png

このままだとグラフと関数y1 y2 y3の対応がわかりません。
y1 y2 y3を個別にプロットして、一つのグラフにまとめる形にします。

p1 = plot(y1,(x, -pi/2, pi/2),line_color='#ff0000', legend=True)
p2 = plot(y2,(x, -pi/2, pi/2),line_color='#00ff00', legend=True)
p3 = plot(y3,(x, -pi/2, pi/2),line_color='#0000ff', legend=True)
p1.extend(p2)
p1.extend(p3)
p1.legend = True
p1.show()

output_7_0.png

output_7_1.png

output_7_2.png
output_7_3.png

原点付近でxsin(x)の傾きが等しいように見えます。

極限値の計算

$\lim_{x \to 0} \frac{\sin x}{x}$の極限値を求めます。
sympyからlimitを読み込みます。

from sympy import limit
limit(sin(x)/x, x, 0)

$$1$$

当然ながら$\lim_{x \to 0} \frac{\sin x}{x}=1$となることがわかります。
引数が無限大における極限値$\lim_{x \to \infty} f(x)$を求める場合はsympyからooを読み込む必要があります。

from sympy import oo
limit(sin(x)/x, x, oo)

$$0$$
$y = \sin x$が振動するのに対して$y = x$は単調増加するため極限値は0になります。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?