Lavorare con i numeri complessi

Arduino:
Lavorare con i numeri complessi

Come fare:

#include <Complex.h>

void setup() {
  Serial.begin(9600); // Avvia la comunicazione seriale
  
  Complex myComplex(2, 3); // Crea un numero complesso 2 + 3i
  Complex anotherComplex(1, 1); // Crea un altro numero complesso 1 + 1i
  
  // Addizione
  Complex result = myComplex + anotherComplex; 
  Serial.print("Addizione: "); 
  result.print(); // Mostra 3 + 4i
  
  // Moltiplicazione
  result = myComplex * anotherComplex; 
  Serial.print("Moltiplicazione: ");
  result.print(); // Mostra -1 + 5i
}

void loop() {
  // Non usato in questo esempio
}

Output di esempio:

Addizione: 3 + 4i
Moltiplicazione: -1 + 5i

Approfondimento

In origine, i numeri complessi furono accolti con scetticismo, ma sono diventati centrali in vari campi scientifici. Storicamente, sono stati riconosciuti per fornire soluzioni a equazioni polinomiali che mancano di soluzioni reali.

Arduino non include i numeri complessi nella sua libreria standard, ma è possibile sfruttare librerie come Complex.h per gestirli. Internamente, queste librerie definiscono una classe Complex, tipicamente utilizzando due double per memorizzare le parti reale e immaginaria, e sovraccaricano gli operatori per supportare l’aritmetica.

Come alternativa, per applicazioni che non necessitano intrinsecamente dell’aritmetica dei numeri complessi, considerate l’uso di altre strategie matematiche o librerie. Ricordate, tuttavia, che usare i float invece dei numeri complessi potrebbe semplificare eccessivamente alcuni problemi.

Vedi Anche