Arduino:
Работа с комплексными числами
Как это сделать:
#include <Complex.h>
void setup() {
Serial.begin(9600); // Начало серийной связи
Complex myComplex(2, 3); // Создание комплексного числа 2 + 3i
Complex anotherComplex(1, 1); // Создание другого комплексного числа 1 + 1i
// Сложение
Complex result = myComplex + anotherComplex;
Serial.print("Сложение: ");
result.print(); // Выводит 3 + 4i
// Умножение
result = myComplex * anotherComplex;
Serial.print("Умножение: ");
result.print(); // Выводит -1 + 5i
}
void loop() {
// Не используется в данном примере
}
Пример вывода:
Сложение: 3 + 4i
Умножение: -1 + 5i
Подробнее
Изначально к комплексным числам относились скептически, но они стали центральными в различных научных областях. Исторически они были признаны за предоставление решений полиномиальных уравнений, которые не имеют действительных решений.
В стандартной библиотеке Arduino комплексные числа отсутствуют, но вы можете использовать такие библиотеки, как Complex.h
, для работы с ними. Внутри эти библиотеки определяют класс Complex, обычно используя два значения типа double для хранения действительной и мнимой частей, и перегружают операторы для поддержки арифметики.
В качестве альтернативы, для приложений, которым не принципиально нужна арифметика комплексных чисел, рассмотрите использование других математических стратегий или библиотек. Однако помните, что использование чисел с плавающей точкой вместо комплексных чисел может упростить некоторые задачи.
Смотрите также
- Библиотека Complex.h от Роба Тилларта.
- Больше о математике комплексных чисел.