Arduino:
Trabajando con números complejos
Cómo hacerlo:
#include <Complex.h>
void setup() {
Serial.begin(9600); // Iniciar comunicación serial
Complex myComplex(2, 3); // Crear un número complejo 2 + 3i
Complex anotherComplex(1, 1); // Crear otro número complejo 1 + 1i
// Adición
Complex result = myComplex + anotherComplex;
Serial.print("Adición: ");
result.print(); // Muestra 3 + 4i
// Multiplicación
result = myComplex * anotherComplex;
Serial.print("Multiplicación: ");
result.print(); // Muestra -1 + 5i
}
void loop() {
// No se usa en este ejemplo
}
Salida de muestra:
Adición: 3 + 4i
Multiplicación: -1 + 5i
Profundización
Originalmente, los números complejos fueron recibidos con escepticismo, pero se han convertido en piezas centrales en varios campos científicos. Históricamente, se les reconoció por proporcionar soluciones a ecuaciones polinómicas que carecen de soluciones reales.
Arduino no incluye números complejos en su biblioteca estándar, pero puedes aprovechar bibliotecas como Complex.h
para manejarlos. Internamente, estas bibliotecas definen una clase Complex, usando típicamente dos doubles para almacenar las partes real e imaginaria, y sobrecargan operadores para soportar aritmética.
Como alternativa, para aplicaciones que no necesitan inherentemente de la aritmética de números complejos, considera usar otras estrategias matemáticas o bibliotecas. Recuerda, sin embargo, que usar floats en lugar de números complejos podría simplificar demasiado algunos problemas.
Ver También
- La biblioteca Complex.h por Rob Tillaart.
- Una inmersión más profunda en la matemática detrás de los números complejos.