Å jobbe med komplekse tall

Arduino:
Å jobbe med komplekse tall

Hvordan:

#include <Complex.h>

void setup() {
  Serial.begin(9600); // Start seriekommunikasjon
  
  Complex myComplex(2, 3); // Opprett et komplekst tall 2 + 3i
  Complex anotherComplex(1, 1); // Opprett et annet komplekst tall 1 + 1i
  
  // Addisjon
  Complex result = myComplex + anotherComplex; 
  Serial.print("Addisjon: "); 
  result.print(); // Gir ut 3 + 4i
  
  // Multiplikasjon
  result = myComplex * anotherComplex; 
  Serial.print("Multiplikasjon: ");
  result.print(); // Gir ut -1 + 5i
}

void loop() {
  // Ikke brukt i dette eksempelet
}

Eksempel på output:

Addisjon: 3 + 4i
Multiplikasjon: -1 + 5i

Dypdykk

Opprinnelig ble komplekse tall møtt med skepsis, men de har blitt sentrale i ulike vitenskapelige felt. Historisk sett ble de anerkjent for å gi løsninger på polynomligninger som mangler reelle løsninger.

Arduino inkluderer ikke komplekse tall i sitt standardbibliotek, men du kan benytte biblioteker som Complex.h for å håndtere dem. Internt definerer disse bibliotekene en Complex-klasse, vanligvis ved å bruke to dobler for å lagre den reelle og den imaginære delen, og overbelaste operatorer for å støtte aritmetikk.

Som et alternativ, for applikasjoner som ikke inherent trenger aritmetikk med komplekse tall, vurder å bruke andre matte-strategier eller biblioteker. Husk, dog, at bruk av flyttall i stedet for komplekse tall kan forenkle noen problemer for mye.

Se også