Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Delphi] Вычисление несобственного интеграла


Автор: 18652tasha 6.4.2008, 15:35
Вот уже две недели бьюсь над этой задачей, помогите пожалуйста кто хорошо в этом разбирается.
Я пыталась посчитать его вручную и ходила за помощью к учительнице, но ничего не получается.
Для метода Симпсона нужен конечный предел, чтобы его разделить на равное кол-во промежутков, а у меня бесконечность. Подсказал бы кто-нибудь алгоритм, а уж дальше бы я сама. smile 
 
Конечно мой зачет не через 2 дня, но работу эту надо начинать заранее.

Тема 1. Вычисление несобственных интегралов с параметром  вида  φ(y) =  f(x,y)dx c заданной точностью eps , используя указанный метод. 

Методом Симпсона вычислить следующие интегралы:
1.1. φ(y) =   atctg(x)/(x^2+y) dx ,предел интегрирования от 0 до бесконечности,  y  [0,4], eps = 1.0*10 ^(-4);


http://ipicture.ru/uploads/080406/4wQSo36aYq.jpg


Автор: jenek28 6.4.2008, 18:56
На каком тебе языке надо это написать?

Автор: 18652tasha 6.4.2008, 19:04
программу  нужно написать на  Делфи 7

Автор: korian 6.4.2008, 22:09
я так понимаю, формула симпсона - http://alglib.sources.ru/integral/simpsont.php?
я правильного ответа не знаю! мысли вслух...
"y" в той формуле заменю на "f", т.к. "y" у нас уже используется.
у нас a = 0, b = бесконечности...
при таких данных, чтобы получить из этой формулы что-нить не бесконечное, надо чтобы n равнялось такой же бесконечности, что и b.
тогда формулу можно записать так:
1/3 * ( f(0) + f(n) + 2*сумма1( f(2i) ) + 4*сумма2( f(2i+1) ) )
для сумма1: i = [1,бесконечность/2]
для сумма2: i = [0,бесконечность/2]

я так понимаю, что f(i) = atctg(x)/(x^2+y), где x = i*((b-a)/n), т.е. в данно случае x = i.
теперь я не знаю, т.к. забыл как выглядит график функции atctg(x).
дальше можно вычислять, если соблюдаются 3 условия:
1) значение выражения atctg(0) - константа (не бесконечность)
2) функция atctg(x)/(x^2+y) монотонно убывающая (правильно назвал?) на отрезке x=[0..бесконечность]
3) функция atctg(x)/(x^2+y) стремится к 0, когда x стремится к бесконечности.

если эти условия соблюдаются, тогда получаем:
f(0) = atctg(0)/(y)
f(n) = 0
сумма1( f(2i) ) = сумма(atctg(2i)/((2i)^2+y)) - где i = [1..m), где m, это минимальное значение, при котором atctg(2m)/((2m)^2+y) < eps
сумма2( f(2i) ) = сумма(atctg(2i+1)/((2i+1)^2+y)) - где i = [0..m), где m, это минимальное значение, при котором atctg(2m+1)/((2m+1)^2+y) < eps

вопросы?  smile 

Автор: Evil00 23.4.2008, 11:49
Если решила задачу, кинь плиз исходник. А то с похожей проблемой столкнулся.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)