Работа с комплексными числами

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, для работы с ними. Внутри эти библиотеки определяют класс Complex, обычно используя два значения типа double для хранения действительной и мнимой частей, и перегружают операторы для поддержки арифметики.

В качестве альтернативы, для приложений, которым не принципиально нужна арифметика комплексных чисел, рассмотрите использование других математических стратегий или библиотек. Однако помните, что использование чисел с плавающей точкой вместо комплексных чисел может упростить некоторые задачи.

Смотрите также