Варианты задания 7. Приближенное вычисление интегралов от функций, недостаточно гладких на промежутке интегрирования 7.1. Общие сведения Требуется вычислить приближенно интеграл Zb ϕ(x) dx, a где подынтегральная функция не является достаточно гладкой на промежутке интегрирования и, значит, не допускает хорошего приближения многочленами. Естественно представить подынтегральную функцию в виде ϕ(x) = ρ(x)f (x), ρ(x) содержит особенности функции ϕ(x), а f (x) является достаточно гладкой функцией. Далее будем рассматривать квадратурную формулу вида Zb ρ(x)f (x) dx ≈ n X Ak f (xk ), (1) k=1 a где xk — узлы квадратурной формулы, Ak — коэффициенты, ρ(x) — весовая функция и должна удовлетворять следующим условиям: • ρ(x)≥0 при x ∈ [a, b]; • существуют моменты весовой функции Rb µk = ρ(x)xk dx < ∞, k = 0, 1, 2, . . .; a • µ0 >0. Квадратурная формула будет интерполяционной, если Zb Ak = ρ(x) ω(x) dx, (x − xk )ω 0 (xk ) (2) a где ω(x) = n Q (x − xi ). i=1 Примеры: Z1 α Z1 x cos x dx, 0 7.2. (1 − x)α ex dx (α > −1). 0 Квадратурные формулы наивысшей алгебраической степени точности (формулы типа Гаусса) Теорема 1. Для того чтобы квадратурная формула (1) была точна для любого многочлена степени не выше 2n − 1, необходимо и достаточно, чтобы: • узлы x1 , x2 , . . . , xn являлись корнями ортогонального относительно веса ρ(x) и отрезка [a, b] многочлена w(x) = (x − x1 )(x − x2 ) · · · (x − xn ); • формула (1) была интерполяционной. 1 Теорема 2 (О погрешности). Пусть отрезок интегрирования [a, b] конечен. Если функция f (x) имеет непрерывную на [a, b] производную порядка 2n, то существует точка η ∈ [a, b], такая что погрешность квадратурной формулы (1) гауссова типа имеет представление Z f (2n) (η) b ρ(x)ω 2 (x)dx. Rn (f ) = (2n)! a Построение квадратурной формулы типа Гаусса Узлы находим из первого условия теоремы Zb ρ(x)ωn (x)ωi (x) dx = 0, i = 0, 1, . . . , (n − 1). a Очевидно, что достаточно потребовать ортогональности многочлена wn (x) относительно веса ρ(x) и отрезка [a, b] к одночленам xi , i = 0, 1, . . . , (n − 1). Таким образом, коэффициенты искомого многочлена wn (x) являются решением системы Zb ρ(x)(xn + a1 xn−1 + a2 xn−2 + · · · + an ) xi dx = 0, i = 0, 1, . . . , (n − 1). a Учитывая обозначения Zb µk = ρ(x)xk dx, a получим следующую систему линейных уравнений относительно +a2 µn−2 + · · · +an µ0 = 1 µn−1 a a1 µn +a2 µn−1 + · · · +an µ1 = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..... a1 µ2n−2 +a2 µ2n−3 + · · · +an µn−1 = a1 , a2 , . . . , an : −µn , −µn+1 , ......... −µ2n−1 . Система имеет единственное решение. Узлы — решения уравнения xn + a1 xn−1 + · · · + an−1 x + an = 0 вещественны, различны и лежат внутри промежутка [a, b]. Коэффициенты Ak находятся по формуле (2). Известно, что Ak > 0, k = 1, . . . , n. Алгебраическая степень точности формулы d = 2 n − 1, формула точно интегрирует многочлены 0-ой степени, следовательно n X Zb Ak = k=1 ρ(x) dx = µ0 . a Приведем алгоритм построения формулы типа Гаусса для n = 2. 1. Вычислить моменты µ0 , µ1 , µ2 , µ3 . 2. Построить систему n a1 µ1 + a2 µ0 = −µ2 , a1 µ2 + a2 µ1 = −µ3 . 3. Вычислить a1 , a2 , например, по правилу Крамера −µ2 µ0 −µ3 µ1 µ0 µ3 − µ2 µ1 a1 = µ1 µ0 = , µ µ µ21 − µ2 µ0 2 1 2 µ1 −µ2 µ2 −µ3 µ2 − µ3 µ1 a2 = µ1 µ0 = 22 . µ µ µ1 − µ2 µ0 2 1 4. Решить уравнение x2 + a1 x + a2 = 0. Узлы должны быть вещественны, различны и должны принадлежать (a, b). 5. Вычислить коэффициенты квадратурной формулы. Zb A1 = ρ(x) x − x2 1 dx = (µ1 − x2 µ0 ), (x1 − x2 ) x1 − x2 ρ(x) x − x1 1 dx = (µ1 − x1 µ0 ). (x2 − x1 ) x2 − x1 a Zb A2 = a Проверка: коэффициенты должны быть положительны и A1 + A2 = µ0 . Построена формула: Zb ρ(x)f (x) dx ≈ n X Ak f (xk ), k=1 a которая должна быть точна для f (x) = 1, x, x2 , x3 . 7.3. 7.3.1. Частные случаи формулы типа Гаусса Формула Гаусса ρ(x) ≡ 1, [a, b] = [−1, 1]. Узлы — корни многочлена Лежандра Pn (x) = 1 dn 2 (x − 1)n , 2n n! dxn а коэффициенты могут быть вычислены по формуле Ak = 2 (1 − . x2k )[Pn0 (xk )]2 Приведем формулы Гаусса для n = 1, 2, 3. R1 f (x) dx ≈ 2f (0), −1 R1 ! ! 1 1 f (x) dx ≈ f − √ +f √ , 3 ! 3 −1 r 1 R 5 3 8 5 f (x) dx ≈ f − + f (0) + f 9 5 9 9 −1 r ! 3 . 5 Погрешность формулы Гаусса имеет оценку |Rn (f )| ≤ 22n+1 (n!)4 M2n = Cn M2n , (2n + 1)[(2n)!]3 M2n = max |f 2n (ξ)|, ξ ∈ [−1, 1]. Отметим, что коэффициенты Cn быстро убывают: 1 1 1 1 C1 = , C2 = , C3 = , C4 = . 3 135 15750 3472875 3 Замечание 1. При вычислении интеграла по промежутку [a, b] следует выполнить замену (b − a) (b + a) (b − a) переменной x = t+ , dx = dt, так что 2 2 2 Zb b−a f (x) dx = 2 Z1 f ! n b−a b+a b−a X b−a b+a dt ≈ t+ Ak f tk + . 2 2 2 2 2 k=1 −1 a Здесь tk , Ak — соответственно узлы и коэффициенты формулы Гаусса для [−1, 1]. Для погрешности формулы Гаусса на промежутке [a, b] имеем оценку (b − a) 22n+1 (n!)4 |Rn (f )| ≤ 2 (2n + 1)[(2n)!]3 Cn[a,b] = Cn (b − a) 2 !2n M2n = Cn[a,b] M2n , !2n+1 b−a , M2n = max |f 2n (ξ)|, ξ ∈ [a, b]. 2 Замечание 2. Для составной формулы Гаусса с m разбиениями погрешность |Rn (f )| ≤ Cn[0,1] (b − a) b−a m !2n M2n , то есть при уменьшении длины частичного промежутка вдвое погрешность уменьшается в 22n раз. 7.3.2. Формула Мелера ρ(x) = √ 1 , [a, b] = [−1, 1]. 1 − x2 Узлы — корни многочлена Чебышева Tn (x) = cos(n arccos(x)). Z1 −1 n πX √ f (x) dx ≈ f n 1 − x2 1 cos k=1 Варианты задания 4 2k − 1 π 2n !! .