Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

คำนวณรากที่สองของอินพุตเชิงซ้อนด้วย scimath ใน Python

หากต้องการคำนวณรากที่สอง (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 เป็นต้น

คำนวณรากที่สองของอินพุตเชิงซ้อนด้วย scimath ใน Python

ใช้ np.emath.sqrt() หารากที่สองของค่าเชิงซ้อน รองรับค่าติดลบ คืนผลลัพธ์เป็นจำนวนเชิงซ้อน 3j สำหรับ -9