Pythonで極限、微分、積分の計算(Sympy)

今日は前回に引き続きSympyを使った代数計算を勉強します。

極限

まずはsin(x)/xの無限大での極限を調べてみます。

from sympy import *
x = Symbol('x')
f = limit(sin(x)/x,x,oo)
print (f)

極限はlimitを使用し、カッコ内に関数,極限に近づける変数,近づける値の順に書いていきます。
ooは無限大を意味しています。

0

等比級数の和の極限も計算してみよう。an=(1/2)nの極限は

from sympy import *
i = Symbol('i',integer=True) #整数型宣言
n = Symbol('n',integer=True)
p = Rational(1,2)
f = summation(p**i,(i,1,n)) #summationは和を求める関数
l = limit(f,n,oo)
print (l)
1

微分

f(x)=log(x)の微分を求めてみる。
微分は曲線の傾きに等しいので

from sympy import *
x = Symbol('x')
f = (log(x+y)-log(x))/y
l = limit(f,y,0)
print (l)

ともできるが、diff関数を使えば簡単に計算できる。

from sympy import *
x = Symbol('x')
g = log(x)
f = diff(g)
print (f)

答えはどちらも

1/x

偏微分はdiffで文字を指定すれば良い。

from sympy import *
x = Symbol('x')
y = Symbol('y')
g = log(x+y)
f = diff(g,x) #ここだけ変化した
print (f)
1/(x + y)

n階微分

from sympy import *
x = Symbol('x')
g = log(x)
f = diff(g,x,3) #今回は3階微分
print (f)
2/x**3

積分

積分もできます。積分ってかなり難しいですがPythonはすごいですね。
今回もlog(x)の積分をしてみます。

from sympy import *
x = Symbol('x')
g = log(x)
f = integrate(g)
print (f)
x*log(x) - x

大学入試頻出の積分がこんなに簡単にできちゃいました。
積分は範囲を指定してあげれば良くて

f = integrate(g,(x,1,exp(1)))

とします。

1

積分範囲の極限を取る場合は

from sympy import *
x = Symbol('x')
g = exp(-x)*sin(x)
f = integrate(g,(x,0,oo))
print (f)

とできる。

1/2

今日はここまで。