Werken met complexe getallen

Kotlin:
Werken met complexe getallen

Hoe te:

Laten we een eenvoudige complexe getallenklasse in Kotlin definiëren:

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}")  // Uitvoer: a + b = (4.0 + 6.0i)
    println("a - b = ${a - b}")  // Uitvoer: a - b = (-2.0 - 2.0i)
    println("a * b = ${a * b}")  // Uitvoer: a * b = (-5.0 + 10.0i)
}

Diepgaande Duik

Complexe getallen werden voor het eerst genoemd in de 16e eeuw, bij het oplossen van kubieke vergelijkingen die geen reële oplossingen hadden. Techniek en natuurkunde profiteren enorm van complexe getallen voor het analyseren van wisselstroomcircuits en golfvormen. Je zou ook een bibliotheek zoals Kotlin’s koma of ejml kunnen gebruiken voor zwaar werk.

Operaties op complexe getallen spiegelen die van reële getallen, maar met aandacht voor de imaginaire eenheid. Vermenigvuldiging volgt bijvoorbeeld de distributieve eigenschap, met de herinnering dat i^2 = -1. Deze imaginaire eenheid stelt ons in staat om multidimensionale getallen te vertegenwoordigen, cruciaal in verschillende wetenschappelijke berekeningen.

Zie Ook

Kotlin Wiskundige bibliotheken:

  • koma: Een wetenschappelijke rekenbibliotheek voor Kotlin.

Verdere lectuur over Complexe Getallen: