Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaで複素数を扱う方法:実部と虚部の加算プログラムを解説

複素数とは、実部とそれに対応する虚部を持つ数値のことです。通常の数値と同じように、足し算や引き算を行うことができます。加算・減算の際には、実部同士と虚部同士がそれぞれ計算され、乗算や除算についても同様に定義することが可能です。

サンプルコード

public class Demo{
   double my_real;
   double my_imag;
   public Demo(double my_real, double my_imag){
      this.my_real = my_real;
      this.my_imag = my_imag;
   }
   public static void main(String[] args){
      Demo n1 = new Demo(76.8, 24.0),
      n2 = new Demo(65.9, 11.23),
      temp;
      temp = add(n1, n2);
      System.out.printf("The sum of two complex numbers is %.1f + %.1fi", temp.my_real,
      temp.my_imag);
   }
   public static Demo add(Demo n1, Demo n2){
      Demo temp = new Demo(0.0, 0.0);
      temp.my_real = n1.my_real + n2.my_real;
      temp.my_imag = n1.my_imag + n2.my_imag;
      return(temp);
   }
}

実行結果

The sum of two complex numbers is 142.7 + 35.2i

コードの解説

まず、Demo という名前のクラスが、double型の2つのフィールド my_real(実部)と my_imag(虚部)を定義しています。コンストラクタは、これら2つの値を引数として受け取り、それぞれ対応するフィールドに代入します。

main メソッド内では、Demo クラスのインスタンス n1n2 を生成し、add メソッドを使って2つの複素数を加算した結果を、一時オブジェクト temp に格納しています。

add メソッドの中では、新しい一時インスタンスが作成され、引数として渡された2つの複素数の実部同士、虚部同士がそれぞれ加算されます。そして、計算結果を保持するこの一時オブジェクトが、出力として呼び出し元へ返されます。

最後に、printf メソッドによって、加算後の実部と虚部が「142.7 + 35.2i」という形式で整形され、コンソールに表示されます。このように、クラスとメソッドを組み合わせることで、Javaでも複素数の演算をシンプルに実装できます。

  1. 【初心者向け】Pythonの複素数(complex型)の使い方を徹底解説!作成方法・四則演算・cmathモジュールまで

    複素数は、実数から生成される数値です。Pythonでは、直接代入文を使うか、complex()関数を使うことで、簡単に複素数を作成できます。複素数は、2つの実数(実部と虚部)を扱う場面で主に活用されます。例えば、電圧(V)と電流(C)で定義される電気回路の解析や、幾何学、科学計算、微積分などの分野で広く利用されています。構文complex([real[, imag]])Pythonでシンプルな複素数を作成するまずは、最も基本的な複素数の作成方法を見てみましょう。リテラルで直接記述する方法と、complex()関数を使う方法の2通りがあります。>>> c = 3 + 6j &g

  2. Pythonで複素数を扱う方法:complex型の基本からcmathモジュールまで

    複素数の基礎知識 正の数には必ず2つの実数平方根が存在します。たとえば x² = 25 のとき、x = ±5 です。しかし x² = -25 のような場合は実数解が存在しません。負の数の平方根は、絶対値の平方根に虚数単位 j = √−1 を掛けた形で定義されます。 したがって、√−25 = √25 × √−1 = 5j となります。 複素数は実部と虚部から構成され、「x + yj」という形式で表されます。x と y はどちらも実数であり、y に虚数単位 j を掛けた部分が虚部となります。 記述例:3+2j、10-5.5J、9.55+2.3j、5.11e-6+4j Pythonにおける複素数型