Kotlin:
การทำงานกับตัวเลขซับซ้อน
วิธีการ:
มากำหนดคลาสจำนวนเชิงซ้อนพื้นฐานใน Kotlin:
data class Complex(val real: Double, val imaginary: Double) {
operator fun plus(other: Complex) = Complex(real + other.real, imaginary + other.imaginary)
operator fun minus(other: Complex) = Complex(real - other.real, imaginary - other.imaginary)
operator fun times(other: Complex) = Complex(
real * other.real - imaginary * other.imaginary,
real * other.imaginary + imaginary * other.real
)
override fun toString(): String = "($real + ${imaginary}i)"
}
fun main() {
val a = Complex(1.0, 2.0)
val b = Complex(3.0, 4.0)
println("a + b = ${a + b}") // ผลลัพธ์: a + b = (4.0 + 6.0i)
println("a - b = ${a - b}") // ผลลัพธ์: a - b = (-2.0 - 2.0i)
println("a * b = ${a * b}") // ผลลัพธ์: a * b = (-5.0 + 10.0i)
}
ศึกษาเพิ่มเติม
จำนวนเชิงซ้อนถูกกล่าวถึงครั้งแรกในศตวรรษที่ 16 โดยการแก้สมการลูกบาศก์ที่ขาดวิธีแก้แบบจริง วิศวกรรมและฟิสิกส์ได้ประโยชน์อย่างมากจากจำนวนเชิงซ้อนสำหรับการวิเคราะห์วงจร AC และคลื่นการส่งผ่าน คุณอาจเลือกใช้ไลบรารีของ Kotlin เช่น koma
หรือ ejml
สำหรับการทำงานที่หนักหน่วง
การดำเนินการบนจำนวนเชิงซ้อนสะท้อนถึงจำนวนจริง แต่พร้อมทั้งคำนึงถึงหน่วยจินตภาพ การคูณตัวอย่างเช่น ปฏิบัติตามคุณสมบัติการแจกแจง โดยจำไว้ว่า i^2 = -1
หน่วยจินตภาพช่วยให้เราสามารถแทนค่าตัวเลขหลายมิติได้ ซึ่งมีความสำคัญในการคำนวณทางวิทยาศาสตร์หลายประการ
ดูเพิ่มเติม
ไลบรารีคณิตศาสตร์ของ Kotlin:
- koma: ไลบรารีการคำนวณทางวิทยาศาสตร์สำหรับ Kotlin
การอ่านเพิ่มเติมเกี่ยวกับจำนวนเชิงซ้อน: