Kotlin:
Att arbeta med komplexa tal
Hur man gör:
Låt oss definiera en grundläggande klass för komplexa tal i 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}") // Utdata: a + b = (4.0 + 6.0i)
println("a - b = ${a - b}") // Utdata: a - b = (-2.0 - 2.0i)
println("a * b = ${a * b}") // Utdata: a * b = (-5.0 + 10.0i)
}
Fördjupning
Komplexa tal nämndes först på 1500-talet när det löste kubiska ekvationer som saknade reella lösningar. Teknik och fysik drar stor nytta av komplexa tal för att analysera växelströmskretsar och vågformer. Alternativt kan du använda ett bibliotek som Kotlin’s koma
eller ejml
för arbete som kräver mer kraft.
Operationer på komplexa tal speglar de reella talen, men med uppmärksamhet på den imaginära enheten. Multiplikation följer till exempel distributiva egenskapen, med minnet av att i^2 = -1
. Denna imaginära enhet gör det möjligt för oss att representera flerdimensionella tal, vilka är avgörande i olika vetenskapliga beräkningar.
Se även
Kotlin Matematikbibliotek:
- koma: Ett vetenskapligt beräkningsbibliotek för Kotlin.
Fördjupad läsning om Komplexa Tal: