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
ดูเพิ่มเติม
สำหรับการอ่านเพิ่มเติมและทรัพยากรเกี่ยวกับตัวเลขเชิงซ้อนและการใช้งานในการเขียนโปรแกรม ตรวจสอบได้ที่:
- พีชคณิตตัวเลขเชิงซ้อน MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt
- ไลบรารี
math.js
: https://mathjs.org/docs/datatypes/complex_numbers.html - ไลบรารี
complex.js
: https://complex-js.github.io/complex.js/