2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу 1, 2  След.
 
 Численное взятие интеграла. Функция Бесселя.
Сообщение06.03.2014, 12:15 
Здравствуйте,
столкнулся с проблемой численного взятия интеграла
$$\int\limits_{0}^{u_0} xe^{e^{-{x^2}}}J_0(ax) dx$$

Университет закончил уже давно, Бессели повылетали из головы, поэтому беглый пробег по книге Ватсона помог слабо.
Известно решение для интеграла $\int\limits_{0}^{\infty} xe^{-bx}J_0(ax) dx$, но как это может помочь, я не представляю.

В принципе, совет для взятия интеграла при бесконечном пределе $\int\limits_{0}^{\infty} xe^{e^{-{x^2}}}J_0(ax) dx$ был бы очень полезен.

С уважением.

 
 
 
 Re: Численное взятие интеграла. Функция Бесселя.
Сообщение06.03.2014, 12:26 
Вольфрам численно берет. Например, при $a=2$
http://www.wolframalpha.com/input/?i=ev ... nfty%29%29

 
 
 
 Re: Численное взятие интеграла. Функция Бесселя.
Сообщение06.03.2014, 12:39 
Аватара пользователя
Вы там функцию не ту набрали. Правильно так:
http://www.wolframalpha.com/input/?i=evalf%28int%28x*e%5E%28e%5E%28-x%5E2%29%29*J_0%282*x%29%2Cx%3D0..infty%29%29.

 
 
 
 Re: Численное взятие интеграла. Функция Бесселя.
Сообщение06.03.2014, 12:51 
Someone, а, ну да! Спасибо за внимательность!

 
 
 
 Re: Численное взятие интеграла. Функция Бесселя.
Сообщение06.03.2014, 13:17 
Спасибо за ответы.

Проблема в том, что мне нужно уметь самому вычислять в программе (на си++ или фортране, не важно) этот интеграл. И при этом я сталкиваюсь с проблемой дискретизации. Получается слишком большой разлёт значений в зависимости от выбранного шага интегрирования. В связи с чем вопрос, как нужно оптимизировать вычисления в случае вычисления подобных интегралов?

 
 
 
 Re: Численное взятие интеграла. Функция Бесселя.
Сообщение06.03.2014, 13:30 
Вычтите из экспоненту единичку. Интеграл от бесселя с иксом берётся явно (в смысле выражается через бесселя же), а оставшееся подынтегральное выражение очень быстро стремится к нулю на бесконечности, поэтому там проблемы с осцилляциями будут уже несущественны. Во всяком случае, при не слишком больших значениях параметра.

 
 
 
 Re: Численное взятие интеграла. Функция Бесселя.
Сообщение06.03.2014, 13:31 
Аватара пользователя
Разложите экспоненту (внешнюю) в ряд Тейлора, там должно получиться что-то довольно весело сходящееся.

 
 
 
 Re: Численное взятие интеграла. Функция Бесселя.
Сообщение06.03.2014, 13:40 
Petek.RF в сообщении #833347 писал(а):
Получается слишком большой разлёт значений в зависимости от выбранного шага интегрирования.

Да, а если считать исходный интеграл (не до бесконечности) в лоб, и если время счёта и потеря нескольких знаков не критичны, то никакого разброса не будет, если начать с шага, в несколько раз меньшего, чем полупериод осцилляций (скажем, в четыре раза). Асимптотика же бесселя известна -- он ведёт себя (с точностью до несущественных для дискретизации деталей) просто как косинус.

-- Чт мар 06, 2014 14:49:21 --

Да, совсем не заметил:

Petek.RF в сообщении #833326 писал(а):
В принципе, совет для взятия интеграла при бесконечном пределе $\int\limits_{0}^{\infty} xe^{e^{-{x^2}}}J_0(ax) dx$ был бы очень полезен.

Советую про него забыть -- он расходится.

 
 
 
 Re: Численное взятие интеграла. Функция Бесселя.
Сообщение06.03.2014, 14:05 
Аватара пользователя
Муахаха! А мы-то хороши! :lol: :lol: :lol:

 
 
 
 Re: Численное взятие интеграла. Функция Бесселя.
Сообщение06.03.2014, 14:07 
Но вольфрам ещё круче!

 
 
 
 Re: Численное взятие интеграла. Функция Бесселя.
Сообщение06.03.2014, 14:33 
Аватара пользователя
Да…

 
 
 
 Re: Численное взятие интеграла. Функция Бесселя.
Сообщение06.03.2014, 15:33 
Спасибо.
Вольфрам клёвый. С его помощью элементарно оказалось прикинуть поведение всех интересующих функций, что сильно помогло.

BTW, оффтоп, а можно заставить Вольфрам отрисовать поведение интеграла в зависимости от верхнего предела интеграла? Ну, скажем, банально $\int\limits_{0}^{y} (x^2+3x+5) dx$ при y от 1 до 100?

Алсо было очень приятно вспомнить ТеХ. C третьего курса с отчётов по ВычМашу не писал на нём.

 
 
 
 Re: Численное взятие интеграла. Функция Бесселя.
Сообщение06.03.2014, 16:05 
1. График интеграла рисуется как график любой функции.
2. Стандартный подход к вычислению подобных интегралов примерно такой. Промежуток разбивается на две части, где икс маленький, где икс большой. Где маленький-используется разложение ф. Бесселя в ряд. Где большой-её асимптотика. Где выбрать точку перехода от первого ко второму-большой вопрос. В идеале можно пользоваться неравенствами для функций Бесселя, они есть точные и вблизи нуля, и далеко. На практике где сшивать нужно подобрать путём расчётов.

 
 
 
 Re: Численное взятие интеграла. Функция Бесселя.
Сообщение06.03.2014, 16:18 
sergei1961 в сообщении #833421 писал(а):
Где маленький-используется разложение ф. Бесселя в ряд. Где большой-её асимптотика.

Только не в ряд, а чебышёвское приближение. И не асимптотика, а опять же основанное на ней приближение многочленами (в данном случае -- $x^{-\frac12}P(\frac1x)\cos(x+Q(\frac1x))$, где $P,Q$ -- многочлены.

 
 
 
 Re: Численное взятие интеграла. Функция Бесселя.
Сообщение06.03.2014, 16:39 
Petek.RF, Вольфрам ваш пример (полином) легко рисует:
http://www.wolframalpha.com/input/?i=pl ... D0..100%29

Но вот с функцией Бесселя так не получилось :-(

 
 
 [ Сообщений: 19 ]  На страницу 1, 2  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group