Раздел: Точные науки Вычисление кратных интегралов методом ячеек с автоматическим выбором шага Содержание 1 Постановка задачи 2 Теоретическая часть 2.1 Понятие о кубатурных формулах 2.2 Метод ячеек 3 2.3 Последовательное интегрирование 2.4 Кубатурная формула типа Симпсона 2.5 Принципы построения программ с автоматическим выбором шага 3 Список использованной литературы 4 Практическая часть 4.1 Решение задачи 4.2 Блок-схема программы 4.3 Листинг программы 4.4 Результаты решения 1 Постановка задачи Найти при помощи метода ячеек значение интеграла , где ![]() ![]() 2 Теоретическая часть Рассмотрим K-мерный интеграл вида: ![]() где ![]() 2.1 Понятие о кубатурных формулах Кубатурные формулы или, иначе формулы численных кубатур предназначены для численного вычисления кратных интегралов. Пусть функция ![]() ![]() ![]() ![]() ![]() ![]() Чтобы найти коэффициенты ![]() ![]() степень которых не превышает заданного числа ![]() ![]() ![]() ![]() Таким образом, коэффициенты ![]() Для того чтобы система (4) была определённой, необходимо, чтобы число неизвестных ![]() ![]() ![]() 2.2 Метод ячеек Рассмотрим K-мерный интеграл по пространственному параллелепипеду ![]() ![]() Для повышения точности можно разбить область на прямоугольные ячейки (рис. 2). Приближённо вычисляя интеграл в каждой ячейке по формуле средних и обозначая через ![]() ![]() Справа стоит интегральная сумма; следовательно, для любой непрерывной ![]() Оценим погрешность интегрирования. Формула (5) по самому её выводу точна для ![]() ![]() где ![]() ![]() ибо все члены разложения, нечётные относительно центра симметрии ячейки, взаимно уничтожаются. Пусть в обобщённой квадратурной формуле (6) стороны пространственного параллелепипеда разбиты соответственно на N 1 , N 2 , …, N k равных частей. Тогда погрешность интегрирования (8) для единичной ячейки равна: ![]() Суммируя это выражение по всем ячейкам, получим погрешность обобщённой формулы: ![]() т.е. формула имеет второй порядок точности. При этом, как и для одного измерения, можно применять метод Рунге–Ромберга, но при одном дополнительном ограничении: сетки по каждой переменной сгущаются в одинаковое число раз. Обобщим формулу ячеек на более сложные области. Рассмотрим случай K=2. Легко сообразить, что для линейной функции ![]() ![]() ![]() Разумеется, практическую ценность это имеет только для областей простой формы, где площадь и центр тяжести легко определяется; например, для треугольника, правильного многоугольника, трапеции. Но это значит, что обобщённую формулу (6) можно применять к областям, ограниченным ломаной линией, ибо такую область всегда можно разбить на прямоугольники и треугольники. Для области с произвольной границей формулу (6) применяют иным способом. Наложим на область ![]() ![]() Оценим погрешность формулы (6). В каждой внутренней ячейке ошибка составляет ![]() ![]() ![]() ![]() Вычисление объёма граничной ячейки довольно трудоёмко, ибо требует определения положения границы внутри ячейки. Можно вычислять интегралы по граничным ячейкам более грубо или вообще не включать их в сумму (6). Погрешность при этом будет ![]() Мы видели, что к области произвольной формы метод ячеек трудно применять; поэтому всегда желательно заменой переменных преобразовать область интегрирования в прямоугольный параллелепипед (это относится практически ко всем методам вычисления кратных интегралов). 2.3 Последовательное интегрирование Снова рассмотрим интеграл по K-мерной области, разбитой сеткой на ячейки (рис. 2). Его можно вычислить последовательным интегрированием: ![]() Каждый однократный интеграл легко вычисляется на данной сетке по квадратурным формулам типа: ![]() Последовательное интегрирование по всем направлениям приводит к кубатурным формулам, которые являются прямым произведением одномерных квадратурных формул: ![]() Например, при K=2, если по каждому направлению выбрана обобщённая формула трапеций, а сетка равномерная, то веса кубатурной формулы равны ![]() Вообще говоря, для разных направлений можно использовать квадратурные формулы разных порядков точности ![]() ![]() Желательно для всех направлений использовать квадратурные формулы одинакового порядка точности. Можно подобрать веса и положение линий сетки так, чтобы одномерная квадратурная формула была точна для многочлена максимальной степени, т.е. была бы формулой Гаусса, тогда, для случая K=2: ![]() где –нули многочленов Лежандра и соответствующие веса. Эти формулы рассчитаны на функции высокой гладкости и дают для них большую экономию в числе узлов по сравнению с более простыми формулами. Произвольная область. Метод последовательного интегрирования можно применять к области произвольной формы, например, с криволинейной границей. Рассмотрим этот случай при K=2. Для этого проведём через область хорды, параллельные оси ![]() ![]() Сначала вычислим интеграл по ![]() ![]() При вычислении интеграла по ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Тогда второе интегрирование выполняется по формулам Гаусса–Кристоффеля: ![]() где ![]() ![]() ![]() Чтобы можно было применять эту формулу, надо ординаты хорд на рис. 4 заранее выбрать в соответствии с узлами (13). Если это не было сделано, то придётся ограничиться интегрированием ![]() 2.4 Кубатурная формула типа Симпсона Пусть сначала область интегрирования есть K-мерный пространственный параллелепипед ![]() ![]() ![]() ![]() Всего таким образом, получим ![]() ![]() Находим K-мерный интеграл, вычисляя каждый внутренний интеграл по квадратурной формуле Симпсона на соответствующем отрезке. Проведём полностью все вычисления для случая K=2: ![]() Применяя к каждому интегралу снова формулу Симпсона, получим: ![]() или ![]() Формулу (15) будем называть кубатурной формулой Симпсона . Следовательно, ![]() где ![]() ![]() ![]() ![]() ![]() ![]() ![]() Если размеры пространственного параллелепипеда ![]() Опять рассмотрим случай K=2. Положим, что стороны прямоугольника ![]() ![]() ![]() ![]() ![]() Пусть ![]() ![]() ![]() и ![]() Для сокращения введём обозначение ![]() Применяя формулу (15) к каждому из прямоугольников крупной сети, будем иметь (рис.6): ![]() Отсюда, делая приведение подобных членов, окончательно находим: ![]() где коэффициенты ![]() ![]() Если область интегрирования ![]() ![]() ![]() В таком случае, очевидно, имеем: ![]() Последний интеграл приближённо может быть вычислен по общей кубатурной формуле (16). 2.5 Принципы построения программ с автоматическим выбором шага При написании программ численного интегрирования желательно, чтобы для любой функции распределение узлов являлось оптимальным или близким к нему. Однако в случае резко меняющихся функций возникают некоторые проблемы. Если первоначальная сетка, на которой исследуется подынтегральная функция, частая, то сильно загружается память ЭВМ; если она редкая, то не удаётся хорошо аппроксимировать оптимальное распределение узлов на участках резкого изменения подынтегральной функции. Рассмотрим некоторые из процедур распределения узлов интегрирования, обеспечивающие лучшее приближение к оптимальному распределению узлов для функций с особенностями. Пусть на элементарном отрезке интегрирования ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Процедура должна также иметь блок окончания работы: если оказалось, что ![]() ![]() ![]() Другая процедура, которую можно назвать вертикальной , определяется заданием числа ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 3 Список использованной литературы. 1. Бахвалов Н.С. Численные методы. т.1 – М.: Наука. 1975. 2. Демидович Б.П., Марон И.А. Основы вычислительной математики. – М.: Наука, 1966. 3. Калиткин Н.Н Численные методы. – М.: Наука, 1978. 4. Мусіяка В.Г. Основи чисельних методів механіки. – Дніпропетровськ: Видавництво ДДУ, 1993. 4 Практическая часть 4.1 Решение задачи Наложим на область G прямоугольную сетку с шагами ![]() ![]() ![]() ![]() ![]() ![]() ![]() Не учитывая граничные ячейки, получаем: ![]() Дополнение от граничных ячеек: ![]() Окончательно получаем: ![]() 4.4 Результаты решения Расчёт проводился при точности eps=1E-6. Интеграл равен: 0.221612 Количество ячеек равно 8525. |