หากต้องการคำนวณรากที่สอง (square root) ของค่าอินพุต ให้ใช้เมธอด np.emath.sqrt() ใน NumPy เมธอดนี้จะคืนค่ารากที่สองของ x หาก x เป็นสเกลาร์ ผลลัพธ์จะเป็นสเกลาร์เช่นกัน มิฉะนั้นจะคืนค่าเป็นอาร์เรย์ สำหรับค่าอินพุตที่เป็นลบ จะคืนค่าเป็นจำนวนเชิงซ้อน (complex value)
พารามิเตอร์หลัก
- x: ค่าอินพุตที่ต้องการหารากที่สอง
ขั้นตอนการใช้งาน
1. นำเข้าไลบรารีที่จำเป็น
import numpy as np
2. สร้างค่าเชิงซ้อน (complex) อย่างชัดเจนด้วยฟังก์ชัน complex()
a = complex(-9.0, 0.0)
3. แสดงค่าเชิงซ้อน
print("Display the complex value...\n", a)
4. คำนวณรากที่สองด้วย np.emath.sqrt()
print("\nResult...\n", np.emath.sqrt(a))
ตัวอย่างโค้ดเต็ม
import numpy as np
# สร้างค่าเชิงซ้อนอย่างชัดเจน
a = complex(-9.0, 0.0)
# แสดงค่าเชิงซ้อน
print("Display the complex value...\n", a)
# คำนวณรากที่สอง
# เมธอดคืนค่ารากที่สองของ x หาก x เป็นสเกลาร์ ผลลัพธ์ก็เป็นสเกลาร์ มิฉะนั้นเป็นอาร์เรย์
print("\nResult...\n", np.emath.sqrt(a))
ผลลัพธ์ที่ได้
Display the complex value...
(-9+0j)
Result...
3j
คำอธิบายเพิ่มเติม
ฟังก์ชัน np.emath.sqrt() ทำงานคล้ายกับ numpy.sqrt() แต่แตกต่างกันที่จุดสำคัญคือ รองรับการคำนวณรากที่สองของจำนวนลบโดยคืนค่าเป็นจำนวนเชิงซ้อน (complex number) แทนที่จะคืนค่า nan หรือเกิดข้อผิดพลาด
ในตัวอย่าง sqrt(-9) = 3j (เนื่องจาก j คือหน่วยจินตภาพใน Python ซึ่งเทียบเท่ากับ i ในคณิตศาสตร์)
สิ่งนี้มีประโยชน์อย่างยิ่งใน:
- การประมวลผลสัญญาณ (Signal Processing)
- ฟิสิกส์และวิศวกรรมไฟฟ้า
- การคำนวณทางคณิตศาสตร์ขั้นสูงที่เกี่ยวข้องกับจำนวนเชิงซ้อน
โมดูล numpy.emath (เข้าถึงได้ผ่าน np.emath) มีฟังก์ชันคณิตศาสตร์หลายตัวที่รองรับจำนวนเชิงซ้อน เช่น log, sqrt, arcsin, arccos เป็นต้น
ใช้ np.emath.sqrt() หารากที่สองของค่าเชิงซ้อน รองรับค่าติดลบ คืนผลลัพธ์เป็นจำนวนเชิงซ้อน 3j สำหรับ -9