Неберущиеся интегралы
Не всё берётся
До сих пор каждый интеграл удавалось вычислить. Но производная элементарной функции всегда элементарна, а вот обратное неверно. Вот классические примеры функций, первообразные которых не выражаются через элементарные:
Это не значит, что первообразной нет: у любой непрерывной функции она есть. Это значит, что её нельзя записать конечной формулой из многочленов, корней, e^x, \ln x, тригонометрических и обратных к ним функций.
Строгое доказательство даёт теорема Лиувилля (1830-е): если у элементарной функции есть элементарная первообразная, то она имеет весьма специальный вид, и для перечисленных функций такой вид невозможен. Например, \int f(x)e^{g(x)}dx (с рациональными f, g) элементарен только если существует рациональная R с R' + g'R = f. Для e^{-x^2} (f = 1, g = -x^2) нужно R' - 2xR = 1 — у этого уравнения нет рациональных решений.
Новые функции
Важные неберущиеся интегралы получили имена, и с ними обращаются как с обычными функциями: для них есть таблицы, ряды, графики и функции в библиотеках.
| Функция | Определение | Где встречается |
|---|---|---|
| Интеграл ошибок | \operatorname{erf} x = \frac{2}{\sqrt\pi}\int_0^x e^{-t^2}dt | нормальное распределение, теплопроводность |
| Интегральный синус | \operatorname{Si} x = \int_0^x\frac{\sin t}{t}dt | обработка сигналов, оптика |
| Интегральный логарифм | \operatorname{li} x = \int_0^x\frac{dt}{\ln t} | распределение простых чисел: \pi(x) \approx \operatorname{li} x |
| Интегралы Френеля | S(x) = \int_0^x\sin\frac{\pi t^2}{2}dt, C(x) | дифракция, проектирование дорог (клотоида) |
| Эллиптический интеграл | E(k) = \int_0^{\pi/2}\sqrt{1 - k^2\sin^2\varphi}\,d\varphi | длина эллипса, период маятника |
import sympy as sp
x = sp.symbols("x")
for f in [sp.exp(-x**2), sp.sin(x) / x, 1 / sp.log(x), sp.exp(x) / x, sp.sin(x**2)]:
print(f"∫ {str(f):10} dx = {sp.integrate(f, x)}")
SymPy отвечает через специальные функции erf, Si, li, Ei, fresnels — это и есть «неберущиеся» первообразные под собственными именами.
Графики специальных функций
import numpy as np
import vis
x = np.linspace(0.001, 15, 1500)
f = np.sin(x) / x
dx = x[1] - x[0]
Si = np.concatenate([[0], np.cumsum((f[1:] + f[:-1]) / 2 * dx)]) # накопленная площадь методом трапеций
vis.line(x, {"sin x / x": f, "Si(x) = ∫₀ˣ sin t / t dt": Si, "π/2": np.full_like(x, np.pi / 2)},
title="Интегральный синус стремится к π/2", xlabel="x")
Мы построили \operatorname{Si}(x) численно, накапливая площадь под графиком. Так поступают с любым неберущимся интегралом: формулы нет, но значения вычисляются с любой точностью — методами из модуля о численном интегрировании или с помощью рядов.
Ряды
Если функцию можно разложить в степенной ряд, его можно интегрировать почленно:
Определённый интеграл может «взяться»
Удивительно, но некоторые определённые интегралы от неберущихся функций вычисляются точно:
Первый мы получим с помощью двойного интеграла и полярных координат, второй — дифференцированием по параметру. Оба — в следующих модулях.
Итог
- У непрерывной функции первообразная всегда есть, но может не быть элементарной.
- Классические неберущиеся: e^{-x^2}, \frac{\sin x}{x}, \frac{1}{\ln x}, \frac{e^x}{x}, \sin x^2, \sqrt{1 - k^2\sin^2 x}, \sqrt{1 + x^3}.
- Их первообразные — специальные функции: erf, Si, li, Ei, интегралы Френеля, эллиптические; их считают численно или рядами.
Практика решено 0 из 6
Что означает фраза «интеграл \int e^{-x^2}dx не берётся»?
Какие интегралы берутся в элементарных функциях?
| берётся | не берётся | |
|---|---|---|
| \int x e^{-x^2}dx | ||
| \int e^{-x^2}dx | ||
| \int \frac{\sin x}{x}dx | ||
| \int x\sin x\,dx | ||
| \int \frac{dx}{\ln x} | ||
| \int \frac{\ln x}{x}dx | ||
| \int \sin(x^2)\,dx | ||
| \int \sqrt{1 + x^3}\,dx |
Найдите производную функции F(x) = \displaystyle\int_0^x e^{-t^2}dt. (Об этом — в модуле про определённый интеграл; а пока просто вспомните, что F' = f.)
Как вводить формулы
Степень —^ (x^2, e^(3x)), умножение можно не писать (2x, x sin(x)),
дробь — / (1/(x+1)), корень — sqrt(x), модуль — |x| или abs(x).
Функции: sin cos tg ctg arcsin arccos arctg arcctg sh ch ln lg exp, константы pi и e.
Аргументы функций лучше брать в скобки: sin(2x). Для неопределённого интеграла допишите + C.
Индексы пишутся слитно: m1, v0; греческие буквы — словом или символом: alpha или α.
Десятичная дробь — через точку или запятую, большие числа — через 10^: 6,67*10^(-11).
e^(-x^2)Интеграл \int x^2 e^{-x^2}dx выражается через \int e^{-x^2}dx. По частям (u = x, dv = xe^{-x^2}dx) получается \int x^2e^{-x^2}dx = A(x) + \frac12\int e^{-x^2}dx. Найдите A(x).
Как вводить формулы
Степень —^ (x^2, e^(3x)), умножение можно не писать (2x, x sin(x)),
дробь — / (1/(x+1)), корень — sqrt(x), модуль — |x| или abs(x).
Функции: sin cos tg ctg arcsin arccos arctg arcctg sh ch ln lg exp, константы pi и e.
Аргументы функций лучше брать в скобки: sin(2x). Для неопределённого интеграла допишите + C.
Индексы пишутся слитно: m1, v0; греческие буквы — словом или символом: alpha или α.
Десятичная дробь — через точку или запятую, большие числа — через 10^: 6,67*10^(-11).
-x e^(-x^2)/2Ряд Тейлора e^{-t^2} = 1 - t^2 + \frac{t^4}{2} - \dots Проинтегрируйте почленно от 0 до x: запишите первые три члена ряда для \int_0^x e^{-t^2}dt.
Как вводить формулы
Степень —^ (x^2, e^(3x)), умножение можно не писать (2x, x sin(x)),
дробь — / (1/(x+1)), корень — sqrt(x), модуль — |x| или abs(x).
Функции: sin cos tg ctg arcsin arccos arctg arcctg sh ch ln lg exp, константы pi и e.
Аргументы функций лучше брать в скобки: sin(2x). Для неопределённого интеграла допишите + C.
Индексы пишутся слитно: m1, v0; греческие буквы — словом или символом: alpha или α.
Десятичная дробь — через точку или запятую, большие числа — через 10^: 6,67*10^(-11).
x - x^3/3 + x^5/10Интегральный синус рядом. \operatorname{Si}(x) = \int_0^x \frac{\sin t}{t}dt = \sum_{k=0}^{\infty}\frac{(-1)^k x^{2k+1}}{(2k+1)\,(2k+1)!}.
Напишите функцию Si(x, terms=30), которая суммирует первые terms членов этого ряда.
Какие тесты проверяют код (1)
assert abs(Si(0)) < 1e-15 assert abs(Si(1) - 0.9460830703671830) < 1e-12, "Si(1) ≈ 0.946083" assert abs(Si(3.14159265358979) - 1.851937051982466) < 1e-10, "Si(π) ≈ 1.851937 — максимум интегрального синуса" assert abs(Si(-2) + Si(2)) < 1e-12, "Si — нечётная функция"
import math
def Si(x, terms=30):
return sum((-1) ** k * x ** (2 * k + 1) / ((2 * k + 1) * math.factorial(2 * k + 1)) for k in range(terms))
Войдите, чтобы отмечать пройденные уроки.