複素数の扱い方

Arduino:
複素数の扱い方

使い方:

#include <Complex.h>

void setup() {
  Serial.begin(9600); // シリアル通信を開始
  
  Complex myComplex(2, 3); // 複素数 2 + 3i を作成
  Complex anotherComplex(1, 1); // 別の複素数 1 + 1i を作成
  
  // 加算
  Complex result = myComplex + anotherComplex; 
  Serial.print("加算: "); 
  result.print(); // 出力は 3 + 4i
  
  // 乗算
  result = myComplex * anotherComplex; 
  Serial.print("乗算: ");
  result.print(); // 出力は -1 + 5i
}

void loop() {
  // この例では使用されません
}

サンプル出力:

加算: 3 + 4i
乗算: -1 + 5i

深く掘り下げる

元々、複素数は懐疑的に受け入れられましたが、さまざまな科学分野の中心となっています。歴史的には、実際の解を欠く多項式方程式の解を提供することで認められました。

Arduinoは標準ライブラリに複素数を含んでいませんが、Complex.hのようなライブラリを活用して扱うことができます。これらのライブラリ内部では、通常、実部と虚部を2つのダブルで格納し、算術をサポートするために演算子をオーバーロードするComplexクラスを定義します。

代替案として、本質的に複素数の算術を必要としないアプリケーションでは、他の数学戦略やライブラリの使用を検討してください。ただし、複素数の代わりに浮動小数点を使用すると、一部の問題が過度に単純化される可能性があることを覚えておいてください。

参照