SymPy เป็นไลบรารีที่อนุญาตให้คำนวณทางคณิตศาสตร์โดยใช้ Python เหมือนกับการเขียนสูตรทางคณิตศาสตร์ด้วยมือ มีความสามารถในการทำคณิตศาสตร์เชิงสัญลักษณ์ (symbolic mathematics) ซึ่งเป็นการคำนวณโดยใช้สัญลักษณ์และสมการคณิตศาสตร์ ดังนั้น SymPy จึงทำให้การเขียนโค้ด Python สำหรับการคำนวณทางคณิตศาสตร์ต่าง ๆ ง่ายขึ้นและชัดเจนขึ้นเหมือนคุณเป็นนักคณิตศาสตร์จริง ๆ นี่คือ 5 ตัวอย่างของการใช้ SymPy:
1. การดำเนินการเชิงสัญลักษณ์:
โดยปกติการทำการคำนวณทางคณิตศาสตร์ใน Python เราจะได้ทันทีผลลัพธ์เป็นตัวเลข แต่ด้วย SymPy เราสามารถทำสมการเชิงสัญลักษณ์ได้ เช่น
from sympy import Symbol, Eq
x = Symbol('x')
equation = Eq(x + 1, 4)
ในโค้ดข้างต้นเรากำหนดสัญลักษณ์ `x` และสร้างสมการ `x + 1 = 4`, ซึ่งสมการนี้ยังไม่ได้เป็นเลข
2. การแก้สมการ:
ด้วย SymPy เราสามารถแก้สมการทางคณิตศาสตร์ที่มีตัวแปรได้ง่าย ๆ เช่น
from sympy import solve
solutions = solve(equation, x)
ข้างต้นเราแก้สมการ `x + 1 = 4` และได้ผลลัพธ์เป็น`x = 3`
3. การคำนวณสมการเชิงอนุพันธ์:
การคำนวณอนุพันธ์ใน SymPy ก็ง่ายเช่นกัน เราสามารถทำได้โดยใช้ฟังก์ชัน `diff` เช่น
from sympy import diff
y = Symbol('y')
expression = x**2 + 3*x + y
derivative = diff(expression, x)
ข้างต้นเราคำนวณอนุพันธ์ของสมการ `x^2 + 3x + y` ออกมาเป็น `2x + 3`
4. การขยายและการยกเพาเวอร์:
SymPy ช่วยให้เราสามารถขยายหรือยกเพาเวอร์ของสมการได้ง่าย ๆ เช่น
from sympy import expand, simplify
expr = (x + 2)**2
expanded_expr = expand(expr)
simplified_expr = simplify(expanded_expr)
ข้างต้นเราขยายสมการ `(x + 2)^2` ออกมาเป็น `x^2 + 4x + 4` และย่อยสมการนั้นเหลือ `x^2 + 4x + 4`
5. การใช้สมการเชิงทำนาย:
เราสามารถทำนายความน่าจะเป็นของสิ่งต่าง ๆ ผ่านสมการใน SymPy เช่น
from sympy import summation, symbols, pprint
n, i = symbols('n i')
summation(1/(i**2), (i, 1, n))
ข้างต้นเราสร้างสมการทำนายผลการหาผลรวมของ `1/i^2` ตั้งแต่ `i=1` ถึง `n`
ด้วย SymPy ทำให้การคำนวณทางคณิตศาสตร์เป็นเรื่องง่ายและใช้โค้ดที่อ่านง่ายขึ้น จึงเหมาะแก่การนำไปใช้ในการศึกษาหรือโครงการที่ต้องการความแม่นยำทางคณิตศาสตร์.
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากเจอข้อผิดพลาด หรือต้องการพูดคุย ติดต่อได้ที่ https://m.me/expert.Programming.Tutor/
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM