SymPy - บูรณาการ
แพ็คเกจ SymPy ประกอบด้วยโมดูลอินทิกรัล มันใช้วิธีการคำนวณอินทิกรัลของนิพจน์ที่แน่นอนและไม่ จำกัด วิธีการอินทิเกรต () ใช้ในการคำนวณอินทิกรัลที่แน่นอนและไม่ จำกัด ในการคำนวณอินทิกรัลแบบไม่กำหนดหรือแบบดั้งเดิมเพียงแค่ส่งตัวแปรหลังนิพจน์
ตัวอย่างเช่น -
integrate(f, x)
ในการคำนวณอินทิกรัลที่แน่นอนให้ส่งอาร์กิวเมนต์ดังนี้ -
(integration_variable, lower_limit, upper_limit)
>>> from sympy import *
>>> x,y = symbols('x y')
>>> expr=x**2 + x + 1
>>> integrate(expr, x)
ข้อมูลโค้ดด้านบนให้เอาต์พุตเทียบเท่ากับนิพจน์ด้านล่าง -
$\frac{x^3}{3} + \frac{x^2}{2} + x$
>>> expr=sin(x)*tan(x)
>>> expr
>>> integrate(expr,x)
ข้อมูลโค้ดด้านบนให้เอาต์พุตเทียบเท่ากับนิพจน์ด้านล่าง -
$-\frac{\log(\sin(x) - 1)}{2} + \frac{\log(\sin(x) + 1)}{2} - \sin(x)$
ตัวอย่างของอินทิกรัลที่ชัดเจนแสดงไว้ด้านล่าง -
>>> expr=exp(-x**2)
>>> integrate(expr,(x,0,oo) )
ข้อมูลโค้ดด้านบนให้เอาต์พุตเทียบเท่ากับนิพจน์ด้านล่าง -
$\frac{\sqrt\pi}{2}$
คุณสามารถส่งผ่านขีด จำกัด หลายรายการเพื่อดำเนินการอินทิกรัลหลายรายการ ตัวอย่างได้รับด้านล่าง -
>>> expr=exp(-x**2 - y**2)
>>> integrate(expr,(x,0,oo),(y,0,oo))
ข้อมูลโค้ดด้านบนให้เอาต์พุตเทียบเท่ากับนิพจน์ด้านล่าง -
$\frac{\pi}{4}$
คุณสามารถสร้างอินทิกรัลที่ไม่ประเมินค่าโดยใช้อ็อบเจ็กต์อินทิกรัลซึ่งสามารถประเมินได้โดยการเรียกใช้เมธอด doit ()
>>> expr = Integral(log(x)**2, x)
>>> expr
ข้อมูลโค้ดด้านบนให้เอาต์พุตเทียบเท่ากับนิพจน์ด้านล่าง -
$\int \mathrm\log(x)^2 \mathrm{d}x$
>>> expr.doit()
ข้อมูลโค้ดด้านบนให้เอาต์พุตเทียบเท่ากับนิพจน์ด้านล่าง -
$x\log(x)^2 - 2xlog(x) + 2x$
การแปลงอินทิกรัล
SymPy รองรับการแปลงอินทิกรัลประเภทต่างๆดังนี้ -
- laplace_transform
- fourier_transform
- sine_transform
- cosine_transform
- hankel_transform
ฟังก์ชันเหล่านี้กำหนดไว้ในโมดูล sympy.integrals.transforms ตัวอย่างต่อไปนี้คำนวณการแปลงฟูเรียร์และการแปลงลาปลาซตามลำดับ
Example 1
>>> from sympy import fourier_transform, exp
>>> from sympy.abc import x, k
>>> expr=exp(-x**2)
>>> fourier_transform(expr, x, k)
ในการดำเนินการคำสั่งด้านบนใน python shell ผลลัพธ์ต่อไปนี้จะถูกสร้างขึ้น -
sqrt(pi)*exp(-pi**2*k**2)
ซึ่งเทียบเท่ากับ -
$\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)
ในการดำเนินการคำสั่งด้านบนใน python shell ผลลัพธ์ต่อไปนี้จะถูกสร้างขึ้น -
(s**(-a)*gamma(a + 1)/s, 0, re(a) > -1)