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ż
- Bibliotekę Complex.h autorstwa Roba Tillaarta.
- Głębsze wprowadzenie do matematyki za liczbami zespolonymi.