Формула Эйлера34
При исследовании численного интегрирования методом трапеций получена формула
для вычисления погрешности на отрезке xk 1, |
xk : |
|
|
|
|
|
|
xk |
x |
|
x 2 x |
|
x |
x |
|
x 2 |
x x |
|
|
k |
f |
|
k 1 |
2h |
k |
|
f |
|
k |
2h |
k 1 |
dx. |
xk 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Положим xk 1/2 , то есть равными координате в середине указанного отрезка. Тогда может быть приближенно вычислена величина погрешности интегрирования:
|
f xk 1/2 |
xk |
|
|
|
|
|
|
|
|
|
|
|
xk |
x 2 |
x xk 1 |
|
k |
xk 1 x 2 xk x dx |
xk |
dx |
|
|
2h |
x |
k 1 |
|
|
|
|
|
|
|
|
|
|
|
x |
k 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
f xk 1/2 h3 |
|
h3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(7.12) |
|
|
|
h3 |
f x |
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
k |
|
|
|
|
|
|
|
|
|
|
|
2h |
|
12 |
|
|
12 |
|
1/2 |
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Учитывая, что |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
xk |
f x dx h |
|
|
x |
|
f x |
|
|
|
|
|
|
|
|
|
|
k |
|
|
f |
|
k |
, |
|
|
|
|
|
|
|
|
|
|
2 |
|
|
k 1 |
|
|
|
|
|
|
|
|
|
|
|
xk 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
получим уточненную формулу интегрирования
hh3
f x dx 2 f xk 1 f xk 12 f xk 1/2 .
xk 1xk
Вспоминая, что согласно теореме Лагранжа f xk 1/2 h f xk f xk 1 , получим формулу
интегрирования Эйлера:
xk |
f xk 1 |
f xk h |
2 |
f xk f xk 1 . |
|
f x dx h |
|
(7.13) |
2 |
|
12 |
|
|
xk 1 |
|
|
|
|
|
34 Эйлер Леонард [4.4.1707 - 7.9.1783] - математик, механик, физик. В 1720 году поступил в Базельский университет, где получил степень магистра искусств. С 1727 года работал в Петербургской академии наук. В 1741 году занял пост директора класса математики Берлинской академии наук. С 1759 года в течение ряда лет руководил этой академией. В 1766 году вернулся в Петербург, где до конца жизни подготовил около 400
научных трудов. Был избран членом Парижской академии наук и Лондонского королевского общества.
Погрешность формулы (7.13) на отрезке [a, b] оценивается формулой, совпадающей с выражением (7.11).
Оценка погрешности методом Рунге35
С целью получения оценки погрешности рассмотрим формулу интегрирования
методом трапеций. Для отрезка xk 1, |
xk |
введем обозначения: |
|
|
|
xk |
|
Jk |
|
f x dx, |
xk 1
h
Jh,k 2 f xk f xk 1 .
В соответствии с полученным выражением (7.12) можно записать:
J |
k |
J |
h,k |
|
xk |
f x dx h |
|
f x |
k |
f x |
|
|
|
k |
h3 f x |
|
, |
|
|
|
|
|
2 |
|
|
|
k 1 |
|
|
12 |
k 1/2 |
|
|
|
|
|
|
xk 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
или иначе, |
|
|
|
|
|
|
|
|
|
|
|
|
Jk |
Jh,k |
Сkh3 . |
|
|
|
|
|
|
(7.14) |
Теперь уменьшим шаг вдвое и вновь проведем интегрирование на том же отрезке
xk 1, xk ; в этом случае общая погрешность
Jk Jh/2,k |
h 3 |
h 3 |
h |
3 |
(7.15) |
Сk |
|
Сk |
|
2Сk |
|
. |
|
|
2 |
|
2 |
|
2 |
|
|
Вычитая формулу (7.15) из выражения (7.14), получаем:
Jh/2,k Jh,k |
Сkh |
3 |
h |
3 |
3h |
3 |
|
2Сk |
|
Сk |
4 |
. |
|
|
|
|
2 |
|
|
Отсюда можно определить коэффициент
4
Сk 3h3 Jh/2,k Jh,k
35Рунге Карл Давид Тольме [30.8.1856 - 3.1.1927] - немецкий физик и математик. В 1876 - 1877 годах учился
вМюнхенском, в 1878 - 1880 годах - в Берлинском университетах. Работал в Берлине, Ганновере,
Геттингене.
и подсчитать погрешности вычисления интегралов:
|
Jk |
Jh,k |
4 |
Jh/2,k |
Jh,k , |
|
|
|
|
|
|
3 |
|
|
|
|
|
|
Jk |
Jh/2,k |
|
1 |
Jh/2,k |
Jh,k . |
|
|
|
|
|
|
3 |
|
|
|
|
Следовательно, зная величины Jh/2,k , |
|
Jh,k , можно получать оценки погрешностей, |
получаемых при вычислении интегралов. |
В более общем случае (для произвольной схемы интегрирования с порядком |
погрешности p), можно получить следующие выражения: |
|
|
Jk Jh,k |
Сkhp , |
|
Jk Jh/2,k 2Сk |
h p |
|
|
, |
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
p |
|
p |
Jh/2,k |
Jh,k . |
|
Сk 2ph |
|
|
|
|
|
2 |
2 |
|
|
|
|
|
Отсюда, оценки погрешности принимают вид |
|
|
|
|
|
2p 1 |
|
|
Jh,k , |
Jk |
Jh,k |
|
|
p 1 |
|
Jh/2,k |
|
|
|
2 |
|
|
1 |
|
|
|
Jk |
Jh/2,k |
|
|
|
1 |
Jh/2,k |
Jh,k . |
2 |
p 1 |
|
|
|
|
|
|
1 |
|
|
|
Приведенные формулы позволяют автоматизировать процесс вычисления интегралов с заданной точностью. Пусть на каждом из отрезков половинное дробление производится до тех пор, пока не выполнится условие
k |
Jk Jh/2,k |
|
1 |
Jh/2,k |
Jh,k |
h |
, |
k 1,n . |
2 |
p 1 |
1 |
|
|
|
|
|
|
|
|
|
b a |
|
|
|
Тогда общая погрешность интегрирования |
|
J Jh/2 |
|
|
n |
|
|
|
|
n |
|
|
|
|
k |
|
|
h . |
|
|
|
|
|
k 1 |
|
|
b a k 1 |
|
|
|
Таким образом, вычисления с переменным шагом позволяют проводить численное интегрирование с заданной точностью при наименьших затратах.
Квадратурные формулы интерполяционного типа
Представим функцию f(x) на всем отрезке [a, b] полиномом Лагранжа:
|
|
|
|
|
|
x x |
0 |
|
|
|
k 1 |
|
x x |
k 1 |
|
|
|
|
n |
|
|
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
f xk . |
Ln x |
|
x |
k |
x |
0 |
|
k |
x |
k 1 |
|
x |
k |
x |
k 1 |
|
|
k |
x |
n |
k |
|
0 |
|
|
|
|
|
|
x |
|
|
|
|
|
|
x |
|
|
|
Сопоставляя полученное выражение с формулой (7.2), получим явный вид для
функций k x : |
|
|
|
|
|
|
|
|
k x |
x x0 |
x xk 1 x xk 1 x xn |
, k 0,n. |
|
|
xk x0 xk xk 1 xk xk 1 xk xn |
|
|
|
|
|
|
Теперь весовые коэффициенты формулы (7.3) определяются явным образом: |
|
b |
|
b |
x x0 |
x xk 1 x xk 1 x xn |
dx, k 0,n |
. (7.16) |
Ck |
k x dx |
xk x0 |
xk xk 1 xk xk 1 xk xn |
a |
|
a |
|
|
Для подсчета погрешности квадратурной формулы интерполяционного типа воспользуемся полученной ранее оценкой погрешности интерполяционного полинома:
f |
|
x |
|
L |
n |
x |
|
f |
n 1 w |
x , |
a,b , |
w |
x |
|
|
|
x x |
0 |
|
|
x x |
|
|
|
x x |
n |
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n 1 ! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Погрешность формулы приближенного интегрирования на отрезке [a, b] |
|
|
|
|
|
|
|
|
|
|
b |
|
|
|
n |
|
b |
|
|
|
|
|
|
|
b |
|
n 1 |
w x dx, |
|
|
|
|
|
|
|
|
f x dx Ckf xk f x Ln x dx f |
|
|
|
|
|
|
|
|
|
|
|
|
|
a |
|
|
|
|
k 0 |
|
a |
|
|
|
|
|
|
|
a n 1 ! |
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
maxf |
n 1 |
b |
|
M |
|
b |
|
|
|
|
|
Mn 1 maxf |
n 1 |
|
|
|
|
|
|
x |
w x dx |
|
n 1 |
w x dx, |
|
|
x . |
|
|
|
|
|
n 1 ! |
x a,b |
|
|
a |
|
n 1 !a |
|
|
|
|
|
|
|
|
|
|
x a,b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Из последнего соотношения очевидно, что квадратурная формула интерполяционного типа выполняется точно для всех функций, являющихся полиномами степени не выше n. В
этом случае в формуле (7.3) имеет место точное равенство,
b n
f x dx Ckf xk .
a k 0
Справедливо и обратное утверждение.
b n
Теорема 7.1. Если квадратурная формула f x dx dkf xk является точной для
a k 0
всех многочленов степени n, то она является квадратурной формулой интерполяционного типа.
Доказательство. Покажем, что
dk Ck |
b |
x |
x x0 x xk 1 x xk 1 x xn |
|
dx, |
|
|
k |
x |
0 |
x |
k |
x |
|
x |
k |
x |
x |
k |
x |
n |
k 0,n. |
|
a |
|
|
|
|
k 1 |
|
|
k 1 |
|
|
|
|
Пусть функция |
f(x) |
является полиномом степени |
n, тогда ее можно представить в |
форме полинома Лагранжа
n
fx i x f xi ,
i 0
|
где |
i x |
x x |
0 x xi 1 |
x xi 1 |
x xn |
, xi |
Wn, |
i 0,n . |
|
xi x0 |
xi xi 1 |
xi xi 1 xi xn |
|
|
|
|
|
|
Поскольку все функции i x , i 0,n являются по построению полиномами степени n,
то в соответствии с условием теоремы
b |
n |
n |
|
|
i x dx dk i xk dk ik |
di, |
i 0,n , |
a |
k 0 |
k 0 |
|
|
так как согласно правилу построения полинома Лагранжа i xk ik .
С другой стороны, согласно выражению (7.16)
b |
b |
x x0 |
x xi 1 |
x xi 1 |
x xn |
dx Ci |
, |
i 0,n , |
i x dx |
xi x0 xi xi 1 xi xi 1 xi xn |
a |
a |
|
|
|
то есть di Ci, i 0,n , что и требовалось доказать.
Квадратурные формулы наивысшей точности. Формулы Гаусса
Зададимся целью построить на заданной сетке Wn точную квадратурную формулу вида
(7.3) для полинома максимально возможной степени.
Рассмотрим полиномы вида x , 0,m . Для каждого такого полинома запишем
точную квадратурную формулу интерполяционного типа:
164
b |
n |
|
|
x dx Ckxk , |
0,m. |
(7.17) |
ak 0
Вкомпонентной записи (после интегрирования):
|
|
|
|
|
|
n |
0, |
b a Ck ; |
|
|
|
|
|
|
k 0 |
1, b |
2 |
a |
2 |
n |
|
|
|
Ckxk ; |
|
|
|
2 |
|
|
k 0 |
2, b |
3 |
a |
|
3 |
n |
|
|
|
Ckx2k ; |
|
|
|
3 |
|
|
k 0 |
3, b |
4 |
a |
|
4 |
n |
|
|
|
Ckx3k ; |
|
|
|
4 |
|
|
k 0 |
|
|
|
. . . |
|
m, b |
m 1 |
a |
m 1 n |
|
|
|
Ckxmk . |
|
|
m 1 |
k 0 |
Выражения (7.17) можно рассматривать как систему (m+1) нелинейного алгебраического уравнения относительно (2n+2) неизвестных,
C0, C1,C2, , Cn , x0, x1, x2, , xn .
Для разрешимости этой системы уравнений потребуем, чтобы число уравнений было равно числу неизвестных, то есть m+1=2n+2, откуда следует, что m=2n+1.
Иными словами, задача заключается в выборе сетки Wn , содержащей (n+1) узлов,
обеспечивающей точность формулы (7.3) для полиномов степени (2n+1).
Пример 7.1. Пусть a = -1, b = 1; рассматривается разностная сетка W1, содержащая
два узла: x0 и x1. Требуется определить положения этих узлов и коэффициенты C0, C1 для полинома степени m = 2n + 1 = 3.
Система уравнений (7.17) для рассматриваемого случая принимает вид:
2 C0 C1;
|
0 C |
0 |
x |
0 |
C |
1 |
x |
1 |
; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
2 |
|
|
|
2 |
; |
|
|
C0x0 |
C1x1 |
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0x |
3 |
|
|
|
3 |
|
|
0 C |
0 |
C1x1. |
|
Из первого уравнения |
C0 2 C1; |
|
|
|
|
|
|
|
Из второго уравнения |
0 2 C1 x0 C1x1; |
x0 |
C1x1 |
; |
C1 2 |
C3x3
Из последнего уравнения 0 2 C1 1 1 3 C1x13 .
C1 2
Отсюда, при условии, что x1 0, получаем
C12 C1 2 2 , C1 C1 2 , C1 2 C1, C1 1.
Соответственно,
C0 2 C1 1; |
x0 |
C1x1 |
x1. |
|
|
C1 2 |
|
Из оставшегося уравнения
2 C |
0 |
x2 |
C x2 |
2x2 |
, |
x |
1, x |
0 |
1 . |
3 |
0 |
1 |
1 |
1 |
|
1 |
3 |
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
Отсюда вытекает, что |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
1 |
|
|
|
1 |
|
f x dx f x0 f x1 |
|
f |
3 |
f |
3 |
. |
1 |
|
|
|
|
|
|
|
|
|
|
|
Эта формула точна для любого полинома третьей степени.
Теорема 7.2. Квадратурная формула (7.3) является точной для любого многочлена
степени m=2n+1 тогда и только тогда, когда выполнены условия:
1. Многочлен
w x x x0 x x1 x xn
ортогонален любому многочлену q(x) степени не выше n, то есть
a
2. Формула (7.3) является квадратурной формулой интерполяционного типа, причем коэффициенты Ck, k 0,n определяются согласно (7.16).
Доказательство. Докажем необходимость условия теоремы.
Пусть формула (7.3) точна для любого полинома степени m=2n+1. Это означает, что она точна и для произведения w x q x , имеющего степень не выше 2n+1, то есть
|
b |
n |
|
w x q x dx Сkw xk q xk 0, |
|
a |
k 0 |
так как w xk 0 |
xk Wn |
по построению функции w x . |
Формула (7.16) справедлива в силу выполнения условий предыдущей теоремы 7.1.
Докажем достаточность условий теоремы. Пусть выполнены требования 1 и 2; f(x) -
многочлен степени (2n+1).
Представим f(x) в виде:
f x w x q x r x ,
причем q(x) и r(x) имеют степени не выше n.
Конструктивно такое разложение можно получить следующим образом. Для простоты
положим n=1 (два узла), тогда m=3. Пусть
f x a bx cx2 dx3
- полином степени m=3; w x x x0 x x1 . |
|
Пусть |
|
q x x, |
r x x |
- функции с коэффициентами , , , , подлежащими определению. В этом случае
w x q x r x x3 x0 x1 x2 x0x1 x0 x1 x x0x1 .
Из условия w x q x r x f x получаем систему алгебраических уравнений
d;
x0 x1 c;
x0x0 x0 x0 b;
x x a.
0 0
относительно искомых коэффициентов , , , .
Далее, в силу условия ортогональности (7.18)
f x dx w x q x dx r x dx r x dx.
Поскольку (7.3) является формулой интерполяционного типа, то она точна для полинома r(x), имеющего степень не выше n. Отсюда получаем
r x dx Ckr xk Ck f xk w xk q xk Ckf xk .
В последнем соотношении вновь учтено, что
Из двух последних выражений следует
b n
f x dx Ckf xk ,
a k 0
то есть формула (7.3) оказывается точной для любого многочлена степени (2n+1), что и требовалось доказать.
Использование в условии ортогональности (7.18) в качестве q(x) системы полиномов xa, a 0,n позволяет рассматривать это условие как систему алгебраических уравнений относительно координат узлов разностной сетки xk, k 0,n , что позволяет упростить построение формул Гаусса:
b
1 x x0 x xn dx 0;
a
b
x x x0 x xn dx 0; (7.19)
a
b
xn x x0 x xn dx 0.
a
Пример 7.2. Пусть, как и в примере 7.1, a = -1, b = 1; рассматривается разностная сетка, состоящая из двух узлов: n = 1. Требуется определить положения узлов разностной сетки для полинома степени m = 2n + 1 = 3.
Система уравнений условия ортогональности принимает вид