การทำงานกับตัวเลขซับซ้อน

TypeScript:
การทำงานกับตัวเลขซับซ้อน

วิธีการ:

การจัดการกับตัวเลขเชิงซ้อนใน TypeScript ต้องการคลาสเฉพาะ มาสร้างคลาสหนึ่งและทำงานผ่านการบวกและการคูณ

class Complex {
    constructor(public re: number, public im: number) {}

    add(other: Complex): Complex {
        return new Complex(this.re + other.re, this.im + other.im);
    }

    multiply(other: Complex): Complex {
        return new Complex(
            this.re * other.re - this.im * other.im,
            this.re * other.im + this.im * other.re
        );
    }

    toString(): string {
        return `${this.re} + ${this.im}i`;
    }
}

let num1 = new Complex(1, 2);
let num2 = new Complex(3, 4);
let sum = num1.add(num2);
let product = num1.multiply(num2);

console.log(`Sum: ${sum.toString()}`); // ผลลัพธ์: Sum: 4 + 6i
console.log(`Product: ${product.toString()}`); // ผลลัพธ์: Product: -5 + 10i

การศึกษาลึก

ในอดีต ตัวเลขเชิงซ้อนถูกถกเถียง - ถึงกับมีการใช้คำว่า ‘จินตภาพ’ เพื่อแสดงความสงสัยเบื้องต้น ปัจจุบันพวกมันเป็นรากฐานในคณิตศาสตร์และวิทยาศาสตร์สมัยใหม่

ทางเลือกอื่นสำหรับคลาสเรียบง่ายของเราอาจเกี่ยวข้องกับการใช้ไลบรารีที่มีอยู่ เช่น math.js หรือ complex.js ที่รายละเอียดพร้อมคุณสมบัติเพิ่มเติมเช่นฟังก์ชันตรีโกณมิติ การยกกำลัง และการประกอบซ้อนแบบคอมเพล็กซ์

การดำเนินการของเราใน TypeScript โดยประมาณลงไปที่การกำหนดการดำเนินการทางคณิตศาสตร์ เมธอด add เพียงแค่บวกส่วนที่สอดคล้องกัน multiply ประยุกต์ใช้วิธี FOIL ที่ใช้ในพีชคณิต โดยจำไว้ว่า i^2 = -1

ดูเพิ่มเติม

สำหรับการอ่านเพิ่มเติมและทรัพยากรเกี่ยวกับตัวเลขเชิงซ้อนและการใช้งานในการเขียนโปรแกรม ตรวจสอบได้ที่: