Как ищут интегралы?
Как многим известно, поиск значения определённого интеграла (или кратного, если речь идёт об интегрировании по поверхности) может происходить:
-
С помощью аналитических методов (когда находится значение неопределённого интеграла и как-либо применяется формула Ньютона-Лейбница)
-
С помощью численных методов; Поиск значения через аналитические методы бывает часто затруднителен в силу того, что или не удается преобразовать выражение к табличному, чтобы получить элементарную или неэлементарную функцию. Из-за этого в практических задачах применяют численные методы, среди которых хотелось бы выделить два наиболее простых:
-
Метод суммы Римана;
-
Метод интерполирующего многочлена.
Метод суммы Римана известен всем, у кого была математика на первом курсе в универе или в школе был учитель, у которого нашлось время это рассказать в рамках программы старших классов.
Метод интерполирующего многочлена состоит в том, чтобы на отдельном отрезке, где происходит интегрирование, или на фигуре(если интегрирование идёт по площади этой фигуры) построить интерполирующий многочлен и найти интеграл уже этого многочлена, что является уже более простой задачей, чем поиск интеграла у какой-либо функции.
Каждый из методов приводит к отклонению от того значения, которое должно быть (истинное значение). Однако в практических задачах не всегда нужно, чтобы было точное совпадение хотя бы по той причине, что числа типа с плавающей запятой не могут содержать в себе значения, которые меньше, чем определённый для чисел такого типа машинный ноль.
В рамках данной статьи я покажу два способа нахождения интеграла по треугольнику от заранее заданной функции.
Локальные координаты треугольника и полиномы.
Пусть дан невырожденный треугольник с вершинами . Тогда любую точку
данного треугольника можно представить через “локальные” координаты
:
Данное представление возможно по той причине, что треугольник невырожденный, а следовательно векторы, построенные по его сторонам будут линейно независимыми, из чего следует, что
что гарантирует единственность , а ещё для любой точки треугольника будет верно, что
Таким образом при вычислении кратного интеграла можно сделать следующий переход:
где это якобиан, равный тому определителю сверху.
Теперь, если принять интерполяционный полином приблизительно равным интерполируемой функции
, то можно с некоторым отклонением считать интегралы по треугольнику у функции и полинома равными:
Если учесть, что полином имеет вид
и тот факт, что интеграл от суммы равен сумме интегралов, то
Остаётся рассмотреть, чему равен интеграл от монома. Для начала нужно решить внутренний интеграл:
Теперь, чтобы найти интеграл, нужно решить небольшую вспомогательную задачу: найти интеграл вида
Для этого нужно сделать интегрирование по частям:
Далее если умножить полученное выражение на $inline то выходит следующее:
А тогда выходит, что
Тогда выходит так, что
Интеграл полинома теперь находится как сумма:
Упрощение через фиксацию точек
Если на треугольнике зафиксировать точки и степень интерполяционного полинома, то выходит, что при вычислении интеграла понадобится лишь определять коэффициенты , а вот такие замечательные штуки, как дроби с факториалами становятся постоянными и их достаточно вычислить один раз.
Для дальнейшей работы необходимо переписать сумму, с использованием которой вычисляется интеграл полинома:
Коэффициенты находятся в зависимости от способа построения интерполяционного полинома. В рамках данной статьи строится интерполяционный полином Лагранжа, для которого коэффициенты находятся как решение СЛАУ вида
где это матрица-столбец, где на
-ой строке стоит значение функции
в точке
, а
это такая матрица, где элемент на позиции
есть значение монома
в точке
.
Если матрица квадратная и
, то
, а тогда можно переписать то «страшное» выражение с матрицами:
Описанное выражение с матрицами выше позволяет теперь записать следующее тождество
из чего следует
Таким образом достаточно вычислить только один раз матрицу-строку и для каждой новой функции или треугольника вычислять значения якобиана
и значений в «локальных» координатах(так как изначально полином строился в локальных координатах).
Эксперимент
Подбор разных полиномов и локальных точек.
Линейный полином
Линейный полином имеет вид
Для данного полинома автором данной статьи предлагается брать такие «локальные» координаты, которые соответствуют вершинам треугольника:
|
№ |
|
|
|---|---|---|
|
1 |
|
|
|
2 |
|
|
|
3 |
|
|
В результате проделанных манипуляций, получается, что
Тогда интеграл функции по треугольнику, если в качестве интерполяционного полинома брать линейный полином и интерполировать по вершинам, будет равен(приблизительно) как шестая часть от суммы значений исходной функции в вершинах, умноженной на якобиан:
Полином второй степени
Полином второй степени имеет вид
Используемые “локальные” точки:
|
№ |
|
|
|---|---|---|
|
1 |
|
|
|
2 |
|
|
|
3 |
|
|
|
4 |
|
|
|
5 |
|
|
|
6 |
|
|
Полученная матрица имеет следующий вид:
Как нетрудно заметить, при использовании полинома второй степени и тех точек, что были предложены в таблице выше, значение интеграла определяется как помноженная на якобиан шестая часть от суммы значений исходной функции в серединах рёбер.
Отдельный полином
Рассмотрим полином, который представляется из тех и только тех мономов, для которых степени соответствующих переменных принимают натуральные значения от 0 до 3:
Такой полином имеет вид
Локальные точки:
|
№ |
|
|
|---|---|---|
|
1 |
|
|
|
2 |
|
|
|
3 |
|
|
|
4 |
|
|
|
5 |
|
|
|
6 |
|
|
|
7 |
|
|
|
8 |
|
|
|
9 |
|
|
|
10 |
|
|
|
11 |
|
|
|
12 |
|
|
|
13 |
|
|
|
14 |
|
|
|
15 |
|
|
|
16 |
|
|
После расчётов получается, что
Программная реализация
Для реализации задуманного способа интегрирования был написан код, в рамках которого написаны функции integrate_p3(реализация интегрирования с использованием линейного полинома), integrate_p6(реализация интегрирования с использованием полинома второй степени) и integrate_p16(реализация интегрирования с использованием отдельного полинома). Если есть желание, можно ознакомиться с кодом и даже потыкать самостоятельно, чтобы увидеть, какой результат выйдет при тех или иных условиях.
Вообще, в результате экспериментов было обнаружено, что чем меньше площадь у треугольника, тем больше расчёт через выведенные формулы близок по значению с тем, что даёт метод суммы Римана, а иногда даже совпадает с разными аналитическими решениями.
А зачем это вообще надо?
Данная статья, как предполагает автор данной статьи, будет полезна начинающим специалистам в области прикладной механики(будь то теория пластин и оболочек или гидродинамика) по той причине, что в ней(в этой статье) описан способ нахождения приближённого значения интеграла по треугольнику, что может быть полезно, например, при реализации метода конечных элементов.
А что дальше?
Если произойдёт чудо и эта статья будет выпущена и хоть кому-то понравится, то я продолжу эту тематику. Кроме этого у меня была мысль написать небольшой цикл по некоторым иным темам, но до таких дней, когда у меня до этого дойдут руки, ещё надо дожить.
ссылка на оригинал статьи https://habr.com/ru/articles/1057290/