В данной статье имеется ввиду определенный интеграл.
Определенный интеграл - грубо говоря, площадь области на отрезке от а до б, находящейся между функцией и осью ОХ на координатной плоскости.
Иначе можно сказать, что определенный интеграл - это площадь криволинейной трапеции.
В школе учат вычислять интегралы с помощью формулы Ньютона-Лейбница:
Первообразная функции - функция, производная которой даст исходную функцию. Например первообразная для функции 2х будет х в степени 2 (производная от х в квадрате будет 2х).
Первообразные на питоне реализовать весьма трудно, поэтому остановлюсь на сумме Римана.
Сумма Римана - сумма, максимально приближенная к площади фигуры.
Каждый многочлен этой суммы состоит из функции и изменения переменной.
Суть решения интеграла с помощью суммы Римана заключается в том, чтобы разбить отрезок от а до б на бесконечное множество бесконечно малых отрезков. Далее нужно взять на каждом отрезке любую одну точку. Изменение переменной- разница между двумя такими соседними точками.
По сути, отрезок аб можно не разбивать на кучу малых отрезков. Можно просто взять огромное множество точек этого отрезка, вычислить между ними разницу и подставить в многочлен суммы.
Этот метод решения был задействован на первом скрине.
Ниже показан пример работы этой функции
код для тех, кому лень переписывать со скрина
def rangef(a, b, step):
massive = []
n = a
while (n + step) < b:
massive.append(n)
n += step
return massive
def integral(func, a, b, step=0.000099, rounded=3):
piece = tuple(rangef(a, b, step))
differences = tuple(abs(piece[i] - piece[i - 1]) for i in range(0, len(piece)))
s = 0
for i in range(0, len(differences)):
s += func(piece[i]) * differences[i]
return round(s, rounded)