Praca z liczbami zespolonymi

Arduino:
Praca z liczbami zespolonymi

Jak to zrobić:

#include <Complex.h>

void setup() {
  Serial.begin(9600); // Rozpoczęcie komunikacji szeregowej
  
  Complex myComplex(2, 3); // Tworzenie liczby zespolonej 2 + 3i
  Complex anotherComplex(1, 1); // Tworzenie kolejnej liczby zespolonej 1 + 1i
  
  // Dodawanie
  Complex result = myComplex + anotherComplex; 
  Serial.print("Dodawanie: "); 
  result.print(); // Wypisuje 3 + 4i
  
  // Mnożenie
  result = myComplex * anotherComplex; 
  Serial.print("Mnożenie: ");
  result.print(); // Wypisuje -1 + 5i
}

void loop() {
  // Nie używane w tym przykładzie
}

Przykładowe wyjście:

Dodawanie: 3 + 4i
Mnożenie: -1 + 5i

Szczegółowe omówienie

Początkowo liczby zespolone były przyjmowane ze sceptycyzmem, ale stały się one centralną częścią różnych dziedzin naukowych. Historycznie, zostały uznane za dostarczające rozwiązania równań wielomianowych, które nie mają rozwiązań rzeczywistych.

Arduino nie zawiera liczb zespolonych w swojej standardowej bibliotece, ale można wykorzystać biblioteki takie jak Complex.h do ich obsługi. Wewnętrznie, te biblioteki definiują klasę Complex, zwykle używając dwóch liczb typu double do przechowywania części rzeczywistej i urojonej, oraz przeciążają operatory, aby obsługiwać arytmetykę.

Jako alternatywę, dla aplikacji, które nie wymagają w sposób inherentny arytmetyki liczb zespolonych, można rozważyć użycie innych strategii matematycznych lub bibliotek. Pamiętaj jednak, że użycie liczb typu float zamiast liczb zespolonych może nadmiernie upraszczać niektóre problemy.

Zobacz również