Повторные интегралы и порядок интегрирования
Простые области
Область D называется простой относительно оси Oy (или «вертикально простой»), если её можно описать так:
Любая вертикальная прямая пересекает её не более чем по одному отрезку. Для такой области
Внутренние пределы зависят от внешней переменной, внешние — константы. Аналогично для горизонтально простой области \{c \le y \le d, \; x_1(y) \le x \le x_2(y)\}:
Сложные области разбивают на простые.
Как расставить пределы
- Нарисовать область, найти точки пересечения границ.
- Решить, какая переменная внешняя (скажем, x). Её пределы — крайние значения x во всей области.
- Провести вертикальную прямую при фиксированном x: где она входит в область — нижний предел y_1(x), где выходит — верхний y_2(x). Если нижняя или верхняя граница меняет формулу, область нужно разбить.
Пример. D ограничена y = x^2 и y = 2x. Пересечения: x = 0 и x = 2. Вертикальная прямая входит через параболу, выходит через прямую:
import numpy as np
import vis
x = np.linspace(0, 2, 200)
vis.area(x, {"y = x²": x**2, "y = 2x": 2 * x}, between=("y = x²", "y = 2x"), title="Область между y = x² и y = 2x", equal=True)
Смена порядка интегрирования
Иногда интеграл в одном порядке не берётся, а в другом — легко. Например, \int e^{y^2}dy не элементарен, но
Алгоритм смены порядка:
- По пределам восстановить область: 0 \le x \le 1, x \le y \le 1 — треугольник с вершинами (0, 0), (0, 1), (1, 1).
- Нарисовать её.
- Описать её «по-другому»: 0 \le y \le 1, 0 \le x \le y.
import sympy as sp
x, y = sp.symbols("x y", positive=True)
print("в исходном порядке SymPy даёт:", sp.integrate(sp.exp(y**2), (y, x, 1), (x, 0, 1)))
print("после смены порядка:", sp.integrate(sp.exp(y**2), (x, 0, y), (y, 0, 1)))
print("∫∫ sin y / y:", sp.integrate(sp.sin(y) / y, (x, 0, y), (y, 0, sp.pi)))
В первом случае SymPy справился через специальную функцию erfi, а после смены порядка ответ получается элементарно.
Пример с разбиением
\int_0^1dx\int_0^{x}f\,dy + \int_1^2dx\int_0^{2-x}f\,dy — область под «крышей» из прямых y = x и y = 2 - x. В другом порядке это один интеграл:
Итог
- Простая область: внешние пределы — числа, внутренние — функции внешней переменной.
- Пределы ставят по рисунку: вертикальная (горизонтальная) прямая входит в область по нижней границе и выходит по верхней.
- Смена порядка: восстановить область по пределам, нарисовать, описать в другом порядке. Это может сделать интеграл вычислимым.
Практика решено 0 из 10
Как вводить формулы
Степень —^ (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).
1/6\displaystyle\iint_D x\,dx\,dy, где D — треугольник с вершинами (0, 0), (1, 0), (1, 1).
Как вводить формулы
Степень —^ (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).
1/3Площадь области между y = x^2 и y = \sqrt{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).
1/3\displaystyle\iint_D (x + y)\,dx\,dy, D: 0 \le x \le 1, x^2 \le y \le 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).
3/20\displaystyle\iint_D y\,dx\,dy, где D — верхняя половина единичного круга (x^2 + y^2 \le 1, y \ge 0).
Как вводить формулы
Степень —^ (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).
2/3Поменяйте порядок и вычислите: \displaystyle\int_0^1\int_x^1 e^{y^2}\,dy\,dx.
Как вводить формулы
Степень —^ (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 - 1)/2Поменяйте порядок и вычислите: \displaystyle\int_0^{\pi}\int_x^{\pi} \frac{\sin y}{y}\,dy\,dx.
Как вводить формулы
Степень —^ (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).
2Поменяйте порядок: \displaystyle\int_0^4\int_{\sqrt{x}}^{2} \frac{dy\,dx}{1 + y^3}.
Как вводить формулы
Степень —^ (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).
ln(9)/3В интеграле \int_0^1\int_{x^2}^{x} f\,dy\,dx поменяли порядок. Какие пределы правильные?
Двойной интеграл численно. Напишите функцию double_integral(f, a, b, lo, hi, n=200): она вычисляет
\int_a^b\int_{lo(x)}^{hi(x)}f(x, y)\,dy\,dx средними прямоугольниками: n частей по x и для каждого x —
n частей по y на отрезке [lo(x); hi(x)].
Какие тесты проверяют код (1)
import math assert abs(double_integral(lambda x, y: 1, 0, 2, lambda x: 0, lambda x: 3) - 6) < 1e-9 assert abs(double_integral(lambda x, y: x, 0, 1, lambda x: 0, lambda x: x) - 1 / 3) < 1e-4 half_disk = double_integral(lambda x, y: 1, -1, 1, lambda x: 0, lambda x: math.sqrt(1 - x * x), 300) assert abs(half_disk - math.pi / 2) < 1e-3, "Площадь полукруга"
def double_integral(f, a, b, lo, hi, n=200):
hx = (b - a) / n
total = 0.0
for i in range(n):
x = a + (i + 0.5) * hx
c, d = lo(x), hi(x)
hy = (d - c) / n
total += hx * hy * sum(f(x, c + (j + 0.5) * hy) for j in range(n))
return total
Войдите, чтобы отмечать пройденные уроки.