XPEHOMETP
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору akaGM Я брал отсюда. Мне надо было для вещественных чисел, я брал ezfftf + ezfftb со всеми нужными подпрограммами. Берет любое количество точек. Если количество точек раскладывается на множители 2,3,5, то совсем хорошо - тогда используются оптимизированные подпрограммы. Для всех множителей, которые больше, есть отдельная подпрограмма. Собственно, этот пакетик в разных вариациях гуляет по сети просто толпами, я что-то подобное для Ф-77 скачивал с Нетлиба. Исходно это FFTPACK 1985 года, автор Paul Swarztrauber. Зато тут John Burkardt все хорошо причесал (по сравнению с версией под Ф-77), где смог, написал реальную размерность вызываемых в подпрограммах массивов (вместо единичек), прописал все используемые переменные, кое-что добавил от себя и из других источников. Но - все одинарной точности. Причем указать при компиляции ключиком, что real = real*8, не прокатит: там внутри постоянные прописаны через Е + операторы типа real(2). Собственно, выбор ezfftf + ezfftb был обусловлен тем, что там абсолютно ясно, что и как выводится; кроме того, ezfft слегка описана в имеющейся у меня книжке Каханера, Моулера и Нэша. Проверил коэффициенты разложения на соответствие с примером, приводимым в старой книжке Уиттекера и Робинсона "Математическая обработка результатов измерений" 1935 г., там разложение Фурье для 24 точек, данные по яркости переменной звезды из созвездия Кассиопея. Программа работает. Кстати, недурно оказалось у них посчитано, без компьютеров-то. Для наименьших частот соответствие весьма хорошее, дальше ошибка на уровне 10%. Есть еще сильно навороченный алгоритм от Daisuke Takahashi FFTE, с возможностью распараллеливания. Но - для комплексных чисел, и только для таких, которые раскладываются на множители 2,3,5. Правда, никто не запрещал свою раскладываемую последовательность дополнить нулями до ближайшей нужной циферки, как это обычно делается. А в комплексный массив два раза уложить свой действительный, что раньше было обычной практикой. Но мне лень этим заморачиваться. У Takahashi написано под Ф-77, есть более модерновый вариант, который сделал Robert Harkness. Не пробовал ни то, ни другое. | Всего записей: 2489 | Зарегистр. 21-06-2005 | Отправлено: 12:24 09-04-2011 | Исправлено: XPEHOMETP, 12:32 09-04-2011 |
|