Что такое квадратура Гаусса — Лежандра?
Квадратура Гаусса — Лежандра — это численный метод приближённого вычисления определённого интеграла. Вместо того чтобы разбивать отрезок на множество одинаковых полосок, метод вычисляет значение подынтегральной функции в небольшом числе специально подобранных точек (так называемых узлов) и складывает их с тщательно рассчитанными весами. Результат поражает точностью: квадратурная формула по n узлам интегрирует точно любой многочлен степени до \(2n - 1\), а для гладких функций даёт превосходный результат при гораздо меньшем числе вычислений, чем метод трапеций или формула Симпсона.
Как пользоваться калькулятором
Введите подынтегральную функцию как выражение от переменной x (например, 4/(1+x^2), sin(x)*exp(-x) или sqrt(1-x^2)). Задайте нижний предел a и верхний предел b, затем выберите число узлов n от 2 до 64. Чем больше n, тем выше точность для гладких функций. Поддерживаются операторы + - * / ^; среди доступных функций — sin, cos, tan, asin, acos, atan, sinh, cosh, tanh, exp, log/ln, log10, sqrt и abs, а также константы pi и e.
Разбор формулы
Классическая формула определена на отрезке [−1, 1]: интеграл приближается взвешенной суммой значений f в корнях многочлена Лежандра \(x_i\). Чтобы перейти к произвольному отрезку [a, b], выполняется линейная замена переменной: t из [−1, 1] переводится в \(x = \frac{b-a}{2}\cdot t + \frac{b+a}{2}\), при этом \(dx = \frac{b-a}{2}\cdot dt\). Этот калькулятор вычисляет узлы «на лету» методом Ньютона по рекуррентному соотношению для многочленов Лежандра, поэтому таблица значений не нужна.
$$\int_{a}^{b} f(x)\,dx \approx \frac{b-a}{2}\sum_{i=1}^{n} w_i\,f\!\left(\frac{b-a}{2}x_i + \frac{a+b}{2}\right)$$
Разобранный пример
Возьмём \(f(x) = \frac{4}{1 + x^2}\) на отрезке [0, 1] — точное значение интеграла равно числу pi. При \(n = 2\) узлы равны \(\pm\frac{1}{\sqrt{3}}\) с весами 1 и 1. Отобразив их на отрезок [0, 1] и вычислив значения, получаем \(f(0{,}2113) = 3{,}8290\) и \(f(0{,}7887) = 2{,}4661\); сумма, умноженная на масштабный множитель 0,5, даёт около 3,1476 — это уже близко к pi всего после двух вычислений. При \(n = 20\) результат совпадает с pi примерно до 3,14159265359.
Частые вопросы
Что произойдёт, если a = b? Ширина отрезка равна нулю, поэтому интеграл в точности равен 0.
Может ли b быть меньше a? Да. Формула вернёт результат со знаком — в соответствии с правилом, что перестановка пределов меняет знак интеграла.
Почему результат может выглядеть неверным? Метод Гаусса — Лежандра предполагает, что подынтегральная функция конечна в каждом узле. Особая точка внутри отрезка (деление на ноль или логарифм отрицательного числа) может дать бессмысленное значение; калькулятор предупредит вас, если в каком-либо узле получится NaN или бесконечность. Обратите внимание: сами концы отрезка a и b никогда не вычисляются, что помогает справляться с мягкими особенностями на границах.