Вычисление кратных интегралов методом ячеек с автоматическим выбором шага

При написании программ численного интегрирования желательно, чтобы для любой функции распределение узлов являлось оптимальным или близким к нему. Однако в случае резко меняющихся функций возникают некоторые проблемы. Если первоначальная сетка, на которой исследуется подынтегральная функция, частая, то сильно загружается память ЭВМ; если она редкая, то не удаётся хорошо аппроксимировать оптимальное распределение узлов на участках резкого изменения подынтегральной функции. Рассмотрим некоторые из процедур распределения узлов интегрирования, обеспечивающие лучшее приближение к оптимальному распределению узлов для функций с особенностями.

Пусть на элементарном отрезке интегрирования вычисляется приближённое значение интеграла и мера погрешности . Требуется вычислить . Первая процедура, которую естественно назвать горизонтальной, определяется заданием параметров . Полагаем . Предположим, что каким-то образом уже вычислено приближённое значение интеграла . Программа располагает в каждый момент времени некоторым значением , с которым надо начинать считать оставшуюся часть интеграла. Вычисляем величину , соответствующую отрезку . Если оказалось , то вычисляем приближённое значение и полагаем . Мы получили приближённое значение величины . В случае полагаем , в противном случае полагаем . Мы готовы к следующему шагу. Если оказалось , то принимаем за новое значение величины и возвращаемся к исходной позиции: вычислено значение интеграла и задан шаг . Начальные условия для применения процедуры:

Процедура должна также иметь блок окончания работы: если оказалось, что , то следует положить . Установилась практика брать .

Другая процедура, которую можно назвать вертикальной, определяется заданием числа и заключается в следующем. Пусть на каком-то шаге возникает необходимость вычисления интеграла по отрезку разбиения : ; вычисляется величина , соответствующая этому отрезку. Если она оказалась меньше , то этот интеграл вычисляется по соответствующей формуле и программа переходит к следующему справа отрезку разбиения. В противном случае отрезки и объявляются отрезками разбиения, и программа обращается к вычислению интеграла по левому из этих отрезков. В начале работы программа обращается к вычислению исходного интеграла . Некоторым недостатком этой процедуры является необходимость запоминания отрезков разбиения, интегрирование по которым на данный момент не произведено.

3 Список использованной литературы.

1. Бахвалов Н.С. Численные методы. т.1 — М.: Наука. 1975.

2. Демидович Б.П., Марон И.А. Основы вычислительной математики. — М.: Наука, 1966.

3. Калиткин Н. Н Численные методы. — М.: Наука, 1978.

4. Мусіяка В.Г. Основи чисельних методів механіки. — Дніпропетровськ: Видавництво ДДУ, 1993.

4 Практическая часть

4.1 Решение задачи

Наложим на область G прямоугольную сетку с шагами и , вследствие чего получим внутреннюю прямоугольную ячейку с площадью и координатами центра и две граничные треугольные ячейки с площадями и координатами центров соответственно , и .

Не учитывая граничные ячейки, получаем: .

Дополнение от граничных ячеек: .

Окончательно получаем:

4.4 Результаты решения

Расчёт проводился при точности eps=1E-6.

Интеграл равен: 0.221 612

Количество ячеек равно 8525.