پیاده سازی متد مزدوج یا Conjugate برای کلاس اعداد مختلط در جاوا :
متد مزدوج یا Conjugate در علم ریاضیات و فیزیک به معنای تبدیل یک عدد مختلط به همنهاد آن، با تغییر علامت بخش موهومی آن میباشد. در جاوا، چنین تابعی برای کلاس اعداد مختلط پیاده سازی میشود.
ابتدا باید کلاس اعداد مختلط را تعریف کنیم. در این کلاس، دو ویژگی برای نگهداری بخش حقیقی و موهومی عدد مختلط وجود دارد. همچنین، توابعی برای عملیات جمع، تفریق، ضرب و تقسیم دو عدد مختلط نیز تعریف میشوند.
کد زیر نمونهای از کلاس اعداد مختلط در جاوا را نشان میدهد:
“`
public class ComplexNumber {
private double real;
private double imaginary;
public ComplexNumber(double real, double imaginary) {
this.real = real;
this.imaginary = imaginary;
}
public double getReal() {
return real;
}
public double getImaginary() {
return imaginary;
}
public ComplexNumber add(ComplexNumber other) {
double newReal = this.real + other.real;
double newImaginary = this.imaginary + other.imaginary;
return new ComplexNumber(newReal, newImaginary);
}
public ComplexNumber subtract(ComplexNumber other) {
double newReal = this.real – other.real;
double newImaginary = this.imaginary – other.imaginary;
return new ComplexNumber(newReal, newImaginary);
}
public ComplexNumber multiply(ComplexNumber other) {
double newReal = (this.real * other.real) – (this.imaginary * other.imaginary);
double newImaginary = (this.real * other.imaginary) + (this.imaginary * other.real);
return new ComplexNumber(newReal, newImaginary);
}
public ComplexNumber divide(ComplexNumber other) {
double denominator = Math.pow(other.real, 2) + Math.pow(other.imaginary, 2);
double newReal = ((this.real * other.real) + (this.imaginary * other.imaginary)) / denominator;
double newImaginary = ((this.imaginary * other.real) – (this.real * other.imaginary)) / denominator;
return new ComplexNumber(newReal, newImaginary);
}
public ComplexNumber conjugate() {
return new ComplexNumber(this.real, -this.imaginary);
}
@Override
public String toString() {
return real + ” + ” + imaginary + “i”;
}
}
“`
در این کلاس، تابع conjugate() به عنوان تابعی برای محاسبه مزدوج یک عدد مختلط پیاده سازی شده است. این تابع یک نمونه جدید از کلاس ComplexNumber را با بخش حقیقی برابر با بخش حقیقی عدد اولیه و بخش موهومی برابر با عکس بخش موهومی اصلی ایجاد میکند.
برای مثال، در کد زیر، ابتدا دو عدد مختلط ایجاد میشود و سپس تابع conjugate() برای هر یک از آنها فراخوانی میشود:
“`
ComplexNumber num1 = new ComplexNumber(3, 4);
ComplexNumber num2 = new ComplexNumber(1, -2);
ComplexNumber conjugateNum1 = num1.conjugate();
ComplexNumber conjugateNum2 = num2.conjugate();
System.out.println(“Conjugate of ” + num1 + ” is ” + conjugateNum1);
System.out.println(“Conjugate of ” + num2 + ” is ” + conjugateNum2);
“`
خروجی این برنامه به شکل زیر خواهد بود:
“`
Conjugate of 3 + 4i is 3 – 4i
Conjugate of 1 + -2i is 1 + 2i
“`
با استفاده از تابع conjugate()، میتوان عدد مختلط را به همنهاد آن تبدیل کرد و استفادههای مختلفی در ریاضیات و فیزیک داشت.