Страница 1 из 2
вычисление интеграла
Добавлено: 31 окт 2010, 15:04
carlos0n
Здравствуйте. Задали написать программу для вычисления интегралов вида:
![$$\int_{-\infty}^{+\infty}{exp(-x^2)f(x)dx}$$ $$\int_{-\infty}^{+\infty}{exp(-x^2)f(x)dx}$$](http://fx.ifz.ru/tex2.php?d=120&i=%24%24%5Cint_%7B-%5Cinfty%7D%5E%7B%2B%5Cinfty%7D%7Bexp%28-x%5E2%29f%28x%29dx%7D%24%24)
подскажите каким методом его можно вычислить, чтобы это можно было без проблем запрограммировать. желательно его ещё и объяснить, но это не обязательно))
был бы вам очень признателен))
вычисление интеграла
Добавлено: 31 окт 2010, 17:25
Ellipsoid
B элементарных функциях не выражается.
вычисление интеграла
Добавлено: 31 окт 2010, 17:32
vicvolf
Это несобственный интеграл. Он сходится далеко не для всех f(x). Какая у Bac f(x)?
вычисление интеграла
Добавлено: 31 окт 2010, 17:36
Ellipsoid
Чушь, кажется, написал...
вычисление интеграла
Добавлено: 31 окт 2010, 17:44
mihailm
Вначале наверно надо концы отрезка интегрирования определить, что нибудь типа по модулю больше 10 и значение подынтегральной функции меньше эпсилон/4
потом любым методом численного интегрирования их библиотек как собак
a про функцию f(x) что-нить известно?
вычисление интеграла
Добавлено: 31 окт 2010, 18:09
venja
Насколько я помню, есть специальные квадратурные формулы для бесконечного промежутка интегрирования c весом
![$$exp(-x^2)$$ $$exp(-x^2)$$](http://fx.ifz.ru/tex2.php?d=120&i=%24%24exp%28-x%5E2%29%24%24)
. Найдите, там есть узлы и веса.
вычисление интеграла
Добавлено: 31 окт 2010, 18:17
laplas
метод Монте Карло
вычисление интеграла
Добавлено: 31 окт 2010, 22:35
Георгий
Давайте рассмотрим конкретный пример (принял наобум)
![$$\int \limits _{-\infty}^{+\infty}{e^{-x^2}ln(10|x|)dx}$$ $$\int \limits _{-\infty}^{+\infty}{e^{-x^2}ln(10|x|)dx}$$](http://fx.ifz.ru/tex2.php?d=120&i=%24%24%5Cint%20%5Climits%20_%7B-%5Cinfty%7D%5E%7B%2B%5Cinfty%7D%7Be%5E%7B-x%5E2%7Dln%2810%7Cx%7C%29dx%7D%24%24)
Вольфрам дает только численное значение исходного интеграла:
[url=http://www.wolframalpha.com/input/?i=int%2...ty..infinity%29]http://www.wolframalpha.com/input/?i=int%2...ty..infinity%29[/url]
Он равен 2,34111
Теперь мой рекомендуемый подход. Обязательно строим подинтегральную функцию (см. Рис)
Мы видим, что функция симметричная и достаточно найти интеграл
![$$2 \int \limits _{0}^{4}{e^{-x^2}ln(10|x|)dx}$$ $$2 \int \limits _{0}^{4}{e^{-x^2}ln(10|x|)dx}$$](http://fx.ifz.ru/tex2.php?d=120&i=%24%242%20%5Cint%20%5Climits%20_%7B0%7D%5E%7B4%7D%7Be%5E%7B-x%5E2%7Dln%2810%7Cx%7C%29dx%7D%24%24)
Составим программу расчета этого интеграла методом прямоугольников. Вот прога на Yabasic:
for k=2 to 6
d=10^(-k)
for x=d/2 to 4 step d
sum=sum+exp(-x^2)*log(10*x)*d
next x
print d,2*sum
sum=0
next k
При разных d (то есть ширин полос разбиения) получим такие результаты:
d= 0.01 ; S=2.34804
d=0.001 ; S=2.3418
d=0.0001 ; S=2.34118
d=0.00001 ; S=2.34112
d=0.000001 ; S=2.34111
Как видим, задача успешно решена самым простым способом.
![Изображение](http://e-science.ru/sites/default/files/upload_forums_files/4g/expLn.gif)
вычисление интеграла
Добавлено: 01 ноя 2010, 04:58
bot
Чтобы получился вид, нужны какие-то описания возможностей выбора функции
![$$f(x)$$ $$f(x)$$](http://fx.ifz.ru/tex2.php?d=120&i=%24%24f%28x%29%24%24)
, a так никаким видом и не пахнет - под интегралом любая функция. Для представления любой функции
![$$F(x)$$ $$F(x)$$](http://fx.ifz.ru/tex2.php?d=120&i=%24%24F%28x%29%24%24)
в таком "виде" достаточно взять
![$$f(x)=e^{x^2}F(x)$$ $$f(x)=e^{x^2}F(x)$$](http://fx.ifz.ru/tex2.php?d=120&i=%24%24f%28x%29%3De%5E%7Bx%5E2%7DF%28x%29%24%24)
.
вычисление интеграла
Добавлено: 01 ноя 2010, 08:52
Георгий
Вы все свели к "Таблице интегралов". Так не интересно.