Принципы построения программ с автоматическим выбором шага, Решение задачи, Блок-схема программы, Результаты решения - Вычисление кратных интегралов методом ячеек с автоматическим выбором шага

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

Пусть на элементарном отрезке интегрирования вычисляется приближенное значение интеграла и мера погрешности. Требуется вычислить

.

Первая процедура, которую естественно назвать горизонтальной, определяется заданием параметро

.

Полагаем

.

Предположим, что каким-то образом уже вычислено приближенное значение интеграла

.

Программа располагает в каждый момент времени некоторым значением, с которым надо начинать считать оставшуюся часть интеграла. Вычисляем величину, соответствующую отрезку

Если оказалось

,

То вычисляем приближенное значение

И полагаем

.

Мы получили приближенное значение величины

.

В случае

Полагаем

,

В противном случае полагаем

.

Мы готовы к следующему шагу. Если оказалось

,

То принимаем за новое значение величины и возвращаемся к исходной позиции: вычислено значение интеграла

И задан шаг. Начальные условия для применения процедуры:

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

,

То следует положить

.

Установилась практика брать

.

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

;

Вычисляется величина, соответствующая этому отрезку. Если она оказалась меньше, то этот интеграл вычисляется по соответствующей формуле и программа переходит к следующему справа отрезку разбиения. В противном случае отрезки

и

Объявляются отрезками разбиения, и программа обращается к вычислению интеграла по левому из этих отрезков. В начале работы программа обращается к вычислению исходного интеграла

.

Некоторым недостатком этой процедуры является необходимость запоминания отрезков разбиения, интегрирование по которым на данный момент не произведено.

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

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

Наложим на область G прямоугольную сетку с шагами

и,

Вследствие чего получим внутреннюю прямоугольную ячейку с площадью

И координатами центра

И две граничные треугольные ячейки с площадями и координатами центров соответственно

, и.

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

.

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

.

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

Блок-схема программы

За программой и блок-схемой по данной теме обращайтесь по адресу: \n Этот адрес e-mail защищен от спам-ботов. Чтобы увидеть его, у Вас должен быть включен Java-Script

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

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

Интеграл равен: 0.221612

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

Похожие статьи




Принципы построения программ с автоматическим выбором шага, Решение задачи, Блок-схема программы, Результаты решения - Вычисление кратных интегралов методом ячеек с автоматическим выбором шага

Предыдущая | Следующая