SymPy - Entegrasyon
SymPy paketi, integral modülü içerir. İfadelerin belirli ve belirsiz integrallerini hesaplamak için yöntemler uygular. İntegrate () yöntemi hem belirli hem de belirsiz integralleri hesaplamak için kullanılır. Belirsiz veya ilkel bir integrali hesaplamak için, değişkeni ifadeden sonra iletmeniz yeterlidir.
Örneğin -
integrate(f, x)
Belirli bir integrali hesaplamak için argümanı aşağıdaki gibi iletin -
(integration_variable, lower_limit, upper_limit)
>>> from sympy import *
>>> x,y = symbols('x y')
>>> expr=x**2 + x + 1
>>> integrate(expr, x)
Yukarıdaki kod parçacığı, aşağıdaki ifadeye eşdeğer bir çıktı verir -
$\frac{x^3}{3} + \frac{x^2}{2} + x$
>>> expr=sin(x)*tan(x)
>>> expr
>>> integrate(expr,x)
Yukarıdaki kod parçacığı, aşağıdaki ifadeye eşdeğer bir çıktı verir -
$-\frac{\log(\sin(x) - 1)}{2} + \frac{\log(\sin(x) + 1)}{2} - \sin(x)$
Belirli integral örneği aşağıda verilmiştir -
>>> expr=exp(-x**2)
>>> integrate(expr,(x,0,oo) )
Yukarıdaki kod parçacığı, aşağıdaki ifadeye eşdeğer bir çıktı verir -
$\frac{\sqrt\pi}{2}$
Bir çoklu integral gerçekleştirmek için birden çok limit demetini geçebilirsiniz. Aşağıda bir örnek verilmiştir -
>>> expr=exp(-x**2 - y**2)
>>> integrate(expr,(x,0,oo),(y,0,oo))
Yukarıdaki kod parçacığı, aşağıdaki ifadeye eşdeğer bir çıktı verir -
$\frac{\pi}{4}$
Doit () yöntemini çağırarak değerlendirilebilen Integral nesnesini kullanarak değerlendirilmemiş integral oluşturabilirsiniz.
>>> expr = Integral(log(x)**2, x)
>>> expr
Yukarıdaki kod parçacığı, aşağıdaki ifadeye eşdeğer bir çıktı verir -
$\int \mathrm\log(x)^2 \mathrm{d}x$
>>> expr.doit()
Yukarıdaki kod parçacığı, aşağıdaki ifadeye eşdeğer bir çıktı verir -
$x\log(x)^2 - 2xlog(x) + 2x$
İntegral Dönüşümler
SymPy, aşağıdaki gibi çeşitli integral dönüşüm türlerini destekler -
- laplace_transform
- fourier_transform
- sine_transform
- cosine_transform
- hankel_transform
Bu işlevler sympy.integrals.transforms modülünde tanımlanmıştır. Aşağıdaki örnekler sırasıyla Fourier dönüşümünü ve Laplace dönüşümünü hesaplar.
Example 1
>>> from sympy import fourier_transform, exp
>>> from sympy.abc import x, k
>>> expr=exp(-x**2)
>>> fourier_transform(expr, x, k)
Yukarıdaki komutu python kabuğunda çalıştırırken, aşağıdaki çıktı üretilecektir -
sqrt(pi)*exp(-pi**2*k**2)
Hangi eşdeğerdir -
$\sqrt\pi * e^{\pi^2k^2}$
Example 2
>>> from sympy.integrals import laplace_transform
>>> from sympy.abc import t, s, a
>>> laplace_transform(t**a, t, s)
Yukarıdaki komutu python kabuğunda çalıştırırken, aşağıdaki çıktı üretilecektir -
(s**(-a)*gamma(a + 1)/s, 0, re(a) > -1)