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
- La libreria Complex.h di Rob Tillaart.
- Un approfondimento sulla matematica dietro i numeri complessi.