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

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 для зберігання дійсної та уявної частини, і перевантаження операторів для підтримки арифметики.

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

Дивіться також