В настоящее время я пишу небольшой инструмент, который должен помочь мне проверить правильность моих правильно рассчитанных векторов Фурье. Теперь мне нужен n-й корень единства, указанный omega = exp(2*pi*i/n)
. Может ли кто-нибудь объяснить мне, как представить это omega
как complex
в C++?Представление комплексных чисел в C++ для дискретного преобразования Фурье
1
A
ответ
4
Использование Euler's formula:
exp(2πi/n) = cos(2π/n) + i sin(2π/n)
Тогда это легко:
complex<double> rootOfUnity(cos(TWOPI/n), sin(TWOPI/n));
(заменить TWOPI либо макросом, доступным в вашей системе, либо просто значением 2π, но вы считаете нужным).
2
Ну, действительные и мнимые части фактора Twiddle омега всего:
double angle = 2*pi/n;
double real = cos(angle);
double imaj = sin(angle);
complex<double> omega(real, imaj);
2
Существует функция, которая возвращает комплексное число в полярных координатах:
#include<complex>
complex polar(const T& rho)
complex polar(const T& rho, const T& theta)
, где rho
это величина, а theta
угол в радианах. В этом случае rho
всегда 1,0.
const double pi = 3.141592653589793238462643383279;
double omega = polar(1.0, 2*pi*i/n);
Смежные вопросы
- 1. Понимание дискретного преобразования Фурье
- 2. Ограниченная частота дискретного преобразования Фурье?
- 3. Matlab и дискретного преобразования Фурье
- 4. Внедрение 2D-дискретного преобразования Фурье в MATLAB
- 5. Поиск дискретного преобразования Фурье изображения 64 * 64
- 6. дискретного преобразование Фурье
- 7. Реконструировать сигнал от своего дискретного преобразования Фурье в R
- 8. частотное представление с использованием дискретного вейвлет-преобразования
- 9. Вычисление дискретного преобразования Фурье аудиоданных с помощью FFTW
- 10. Что такое формула выходного сигнала дискретного преобразования Фурье OpenCV?
- 11. Реализация дискретного преобразования Фурье дает отличный результат, чем OpenCV DFT
- 12. Использование комплексных чисел в C++
- 13. Перегрузка * = для комплексных чисел
- 14. Библиотека для комплексных чисел в Dev-C++
- 15. C++ Функция Бесселя для комплексных чисел
- 16. Извлечение коэффициентов низкочастотные преобразования Фурье
- 17. Фурье Угол преобразования изображения, C++
- 18. Визуализация комплексных чисел в Java
- 19. Добавление двойники и комплексных чисел в C++
- 20. Сортировка комплексных чисел в векторе C++
- 21. 2D дискретного косинусного преобразования
- 22. Оптимизация расчета комплексных степеней комплексных чисел в JavaScript для точности
- 23. Отображение комплексных чисел в java
- 24. Массив комплексных чисел в Python
- 25. Массив комплексных чисел в PyopenCL
- 26. Как нарисовать частотный спектр из преобразования Фурье
- 27. Быстрый код преобразования Фурье в C++
- 28. Реализация быстрого преобразования Фурье (FFT) в C#
- 29. Умножение массива комплексных чисел
- 30. Compute Mutliplication комплексных чисел
Любое конкретное предложение, как вычислить пи? Будет ли '' 4 * atan (1.0) '' достаточно? –
Вы можете либо жестко закодировать его, либо просто использовать 'M_PI'. – Mysticial
Использование Visual Studio 2010 в Windows 8 с Microsoft C++ Compiler. Включение '' cmath.h'' не предоставляет '' M_PI''! –