| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > Расчёт интегрла? |
| Автор: aconite 5.5.2006, 01:34 |
| Интеграл вида: S(t)=1/(2*pi)\\интеграл-пределы(бесконечность)\\s(w)*e^jwt*dw; //это обратное преобразование Фурье Хоть в консоли? Буду благодарен! |
| Автор: hypocrisy 5.5.2006, 11:47 |
| бесконечность в пределах интегрирования замени на конечное число w_max и w_min (из соображения чтобы подинтегральная функция была почти нулевой), а дальше заменяй интеграл на сумму, при этом можно использовать метод Симпсона (или более сложные модели: 5-ти точечные схемы и т.д. (Симпсон- это 3-х точечная сх.)). Если подинтегральная функция не имеет особенностей, то код, что-то на подобие: //N число точек на которое разбивается пределы интегрирования(чем больше тем лучше, но дольше считает) Delta_w=(w_max-w_min)/N; for(n=0, I=0; n<=N; n++){ w=w_min+Delta_w*n; I+=f(w);//f(w) подинтегральная функция } I*=Delta_w/(2*pi) |
| Автор: Nikol 6.5.2006, 02:33 |
| Вот хорошая ссылка - здесь описано много алгоритмов с реализацией на некоторых языках. Может найдешь подходящий. http://alglib.sources.ru/ |