Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 800533

.pdf
Скачиваний:
6
Добавлен:
01.05.2022
Размер:
4.42 Mб
Скачать

4.3. Метод трапеций

Для получения других формул численного интегрирования, как говорилось ранее, подынтегральную функцию f(x) на отрезке интегрирования [a, b] заменяют интерполирующей или аппроксимирующей функцией более простого вида. Заменим подынтегральную функцию y=f(x) интерполяционным многочленом Лагранжа 1-го порядка

b

x x1

 

 

 

x x0

 

 

 

 

 

 

I

 

 

y0

 

 

 

 

 

 

 

 

x x

 

 

 

 

x x

 

y1 dx

 

 

 

a

 

0

1

 

 

1 0

 

 

 

 

 

 

 

 

 

y

x0 h

 

 

 

 

y

x0 h

h

 

 

 

 

0

(x

x1)dx

 

1

 

(x x0 )dx

 

(y0

y1) (4.12)

 

( h)

h

2

 

 

 

 

x0

 

 

 

 

 

 

x0

 

 

 

Здесь a = x0, b = x1, h = x1 x0, y0 =f(x0), y1 =f(x1).

Геометрически этот результат совершенно очевиден. Действительно, подставляя вместо f(x) интерполяционный многочлен первой степени, фактически заменяем участок кривой хордой (рис. 4.2). При этом интеграл заменяется площадью обычной прямолинейной трапеции. Очевидно, что формула (4.12) будет точной, если f(x) – линейная функция.

y

 

y1

 

 

 

 

y0

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a=x

 

0

 

x1 =b

 

 

 

 

 

 

Рис. 4.2

 

Полученную формулу

 

 

 

b

 

 

 

h

 

(b a)

f (a) f (b)

 

f (x)dx

(y0 y1)

(4.13)

 

2

a

2

 

 

 

 

 

 

 

 

 

 

 

называют квадратурной формулой трапеций. Она также может быть получена из общей формулы Ньютона-Котеса при n=1.

80

Для формулы (4.13) может быть получена следующая оценка погрешности

|R|

(x x )3

max | f

 

1 0

 

12

(x)|.

 

x [x0 ,x1]

 

Так как ошибка вычислений возрастает с увеличением длины отрезка интегрирования, то для уменьшения этой ошибки поступают следующим образом. Разбив интервал [a, b], на n частей, можно применять формулу (4.13) для каждого из этих участков в отдельности, т.е. рассматривать не один интерполяционный многочлен степени n на всем интервале [a, b], а n интерполяционных многочленов первой степени, различных на каждом из отдельных участков. При этом кривая заменяется ломаной линией (рис. 4.3).

y

 

 

 

 

 

 

 

 

x

 

 

 

a=x0 x1

x2

xn–1 xn =b

 

 

 

 

 

 

Рис. 4.3

 

 

Применяя формулу (4.12) к участкам (xi–1, xi), получаем

x1

h

 

x2

h

 

xn

h

ydx

(y0 y1),

ydx

(y1 y2), … ,

 

2

2

ydx 2(yn 1 yn ). (4.14)

x0

 

 

x1

 

 

xn 1

 

Сложив все формулы (4.14), придем к общей формуле, дающей приближенное выражение для интеграла:

b

y

0

y

n

 

 

 

f (x)dx h

 

 

y1 y2

... yn 1 .

(4.15)

 

 

2

 

a

 

 

 

 

 

 

Эта формула дает при достаточно малых h, т.е. при большом числе n отрезков деления, довольно хорошие резуль-

81

таты. Формула (4.15) носит название составной формулы трапеций, что вполне объясняется ее геометрическим смыслом.

Ошибка вычислений по формуле (4.15) складывается из ошибок вычислений на каждом из отрезков [xi–1, xi]. Поэтому

|R |

(b a)h2

max | f

 

(b a)3

max | f

 

 

 

12

(x)|

12n2

(x)|. (4.16)

 

x [a,b]

 

x [a,b]

 

4.4. Параболическая интерполяция. Формула Симпсона

Для получения еще одной квадратурной формулы численного интегрирования подставим в интеграле вместо f(x) интерполяционный полином второго порядка, построенный по трем равноотстоящим узлам. Тогда

b (x x )(x x )

 

(x x )(x x )

 

 

(x x )(x x )

I

 

1

 

 

2

y0

0

2

 

y1

0

1

(x0 x1)(x0 x2)

(x1 x0)(x1 x2)

(x2 x0)(x2 x1)

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

x2

 

 

 

 

y x2

 

 

 

 

 

0

x (x x1)(x

x2)dx

1

x (x x0)(x x2)dx

 

2h2

h2

 

 

 

0

 

 

 

 

 

 

0

 

 

 

 

 

 

 

y2

x2

 

 

 

 

h

 

 

 

 

 

 

 

 

 

(x x0)(x x1)dx

3

(y0

4y1 y2).

 

 

2h

2

 

 

 

 

x0

 

 

 

 

 

 

 

y2 dx

Здесь положено a=x0,

b=x2, h=x1 x0 =x2 x1,

 

y0 =f(x0),

y1 =f(x1), y2 =f(x2). Тем самым получена формула

 

 

 

b

(b a)

a b

 

 

 

 

f (x)dx

 

f (a) 4 f

 

 

f

(b)

,

(4.17)

6

2

a

 

 

 

 

 

 

 

называемая квадратурной формулой Симпсона или формулой парабол. Она совпадает с формулой Ньютона-Котеса при n=2. Ее геометрический смысл заключается в том, что в интервале интегрирования [x0, x0 +2h] функция y=f(x) заменяется обычной параболой второй степени y=Ax2 +Bx+C, проходящей через три точки кривой с абсциссами x0, x0 +h, x0 +2h (рис. 4.4, тонкая линия). При этом площадь криволинейной трапеции заменяется площадью параболической трапеции.

82

y

y1

y2

y0

x

a=x0

x1

x2 =b

 

Рис. 4.4

 

Для повышения точности интегрирования разобьем интервал [a, b] на четное число n=2m равных отрезков и для каждого из отрезков [x0, x2], [x2, x4], …, [x2n–2, x2n] применим формулу (4.17)

x2

 

 

 

ydx

h

(y0

4y1

y2),

 

 

 

 

 

3

 

 

 

 

x0

 

 

 

x4

 

 

 

ydx

h

(y2

4y3

y4),

 

 

 

 

3

 

 

 

 

 

x2

 

 

 

…………………

 

x2n

 

 

 

ydx

h

(y2n 2 4y2n 1 y2n ).

(4.18)

 

3

 

 

 

 

 

 

x2n 2

 

 

 

Просуммировав все формулы (4.18), получим так называемую составную формулу Симпсона:

b

f (x)dx h3 y0 y2n 4(y1 y3 ... y2n 1) 2(y2 y4 ... y2n 2) . (4.19)

a

Если подынтегральная функция f(x) имеет непрерывную производную четвертого порядка на [a, b], то справедлива такая оценка погрешности формулы Симпсона

|R

|

(b a)h4

max | f

IV

(x)|,

180

 

h

 

x [a,b]

 

 

 

 

 

 

или

83

|R

|

(b a)5

max | f IV (x)|.

 

(4.20)

180n4

 

n

 

x [a,b]

 

 

 

 

 

 

1

1

 

 

Пример. При n=10 вычислить интеграл

 

dx по

1 x

2

 

 

 

0

 

 

 

 

 

 

 

 

формулам трапеций и Симпсона.

Решение. Вычисления можно организовать следующим образом. Составим таблицу значений f(x)=(1+x2)–1.

 

 

 

Таблица 4.1

k

xk =a+kh

f(xk), k=1, … , 9

f(xk), k=0, 10

0

0,0

 

1,000

1

0,1

0,990

 

2

0,2

0,962

 

3

0,3

0,917

 

4

0,4

0,862

 

5

0,5

0,800

 

6

0,6

0,735

 

7

0,7

0,671

 

8

0,8

0,610

 

9

0,9

0,552

 

10

1,0

 

0,500

 

Суммы

7,099

1,500

По формуле трапеций при n=10 имеем

I 1 (7,099 1 1,500) 0,7849. 10 2

Оценим погрешность из неравенства (4.16). В специаль-

ной литературе показано, что

1

 

(n)

 

n!, откуда следует, что

1 x2

 

 

1

(2)

 

 

2,

x [0, 1].

 

 

 

 

 

 

 

 

1 x2

 

 

 

 

 

 

 

 

(Разумеется, этот результат можно получить обычным способом, взяв производную 2-го порядка от функции f(x)=(1+x2)–1, и определив ее наибольшее значение на заданном промежутке).

84

|R |

1

2 0,2 10 2 .

12 102

n

 

Точное значение I 4 0,78539816. Из сравнения точ-

ного и приближенного значений видно, что две первые цифры совпадают.

Для применения формулы Симпсона также составим таблицу. При этом и число узлов n и шаг h остаются прежними, и вычислительные затраты примерно такие же, но значение интеграла получается заметно точнее, чем с помощью формулы трапеций.

 

 

 

 

 

Таблица 4.2

k

xk =a+kh

f(xk), k=1(1)10

f(xk), k=1(2)9

f(xk), k=2(2)8

0

 

0,0

1,00000

 

 

1

 

0,1

 

0,99010

 

2

 

0,2

 

 

0,96153

3

 

0,3

 

0,91743

 

4

 

0,4

 

 

0,86206

5

 

0,5

 

0,80000

 

6

 

0,6

 

 

0,73529

7

 

0,7

 

0,67114

 

8

 

0,8

 

 

0,60975

9

 

0,9

 

0,55249

 

10

 

1,0

0,50000

 

 

 

Суммы

1,50000

3,93116

3,16865

Действительно, по формуле Симпсона находим

1

1

 

 

1

 

 

 

 

 

 

 

 

dx

(1,50000 4 3,93116 2 3,16865) 0,78539.

1 x

2

 

0

 

 

3 10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

С учетом того, что

 

 

 

 

 

 

 

 

 

 

1

(4)

 

24, x [0, 1],

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 x2

 

 

 

 

 

 

 

 

 

 

получим оценку погрешности формулы:

85

|R |

1

24 0,2 10 4 .

180 104

n

 

Т.е. результат содержит как минимум четыре верных цифры после запятой. На самом деле вычисленное значение оказалось точнее, чем дает оценка (4.16), и это обстоятельство встречается нередко на практике, что позволяет говорить о грубости подобных оценок. Тем не менее, с помощью неравенств (4.16) можно осуществлять приближенное вычисление интегралов с наперед заданной точностью.

Пример. Вычислить с двумя верными цифрами после

4

1

 

запятой значение интеграла

dx .

 

0

2 x

 

 

Решение. Естественно ожидать, что формула Симпсона дает необходимую точность при меньших затратах вычислительного труда по сравнению с методом трапеций. В самом деле,

f (x)

1

,

 

 

 

 

 

 

 

2

 

 

 

 

,

 

max

 

 

 

 

 

1

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 x

 

f (x)

 

(2 x)3

 

 

f (x)

 

f (0)

4

 

 

 

 

24

 

 

 

 

 

0 x 4

 

 

 

 

 

 

3

 

 

f IV(x)

 

 

 

,

 

max

 

f

IV(x)

 

 

f IV(0)

.

 

 

 

 

 

 

 

 

 

 

 

 

(2 x)5

 

 

 

0 x 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Перепишем неравенства (4.16) и (4.20) для нашего слу-

чая. Для формулы трапеций

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

|R |

 

43

 

 

1

 

 

4

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3n2

 

 

 

 

 

 

 

 

 

 

 

 

n

 

12n2

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

Для формулы Симпсона

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

|R |

 

44

 

 

3

 

 

 

 

4

 

42

.

 

 

 

 

 

 

 

 

 

 

 

 

 

3n2

 

 

 

 

 

 

 

 

 

 

n

180n4

 

4

 

 

 

 

 

 

 

 

5n2

 

 

 

 

 

Из этих неравенств видно, что если для получения необходимой точности взять n 2, то формула Симпсона даст значение интеграла с большей точностью, чем формула трапеций.

86

Если пользоваться формулой трапеций, то для достиже-

ния заданной точности достаточно потребовать

4

 

 

1

10 2 ,

3n

2

2

 

 

 

поэтому достаточно взять n=17. Для формулы Симпсона

64

 

1

10 2 , и n можно взять равным 6.

15n4

 

2

 

Применяя формулу Симпсона при n=6, имеем

4

21x dx 346 12 4 83 2 103 4 41 2 143 4 163 61 1,099.

0

4.5. Использование сплайнов

Одним из методов численного интегрирования, особенно эффективным при строго ограниченном числе узлов, является метод, использующий интерполяцию сплайнами.

Разобьем отрезок интегрирования [a, b] на n частей точками xi. Пусть xi xi–1 =hi, i=1, 2, … , n. На каждом элементарном отрезке интерполируем подынтегральную функцию f(x) с помощью какого-либо сплайна, например кубического:

p (x) a b (x x

i 1

) c (x x

)2

d

(x x

)3 ,

i

i i

i

i 1

 

 

i

i 1

 

 

xi–1 x xi ,

i=1, …, n.

 

 

Выражение для интеграла представим в виде

 

 

b

n

xi

 

n

xi

 

 

 

I f (x)dx f (x)dx pi (x)dx.

 

 

a

i 1 x

i 1 x

i 1

 

 

 

 

 

i 1

 

 

 

 

 

После подстановки выражения для pi(x) в результате вычисления интегралов получим

n

 

 

1

2

 

1

3

 

1

4

 

I aihi

 

 

bihi

 

 

cihi

 

 

dihi

.

2

3

4

i 1

 

 

 

 

 

 

 

 

Эту формулу можно представить в удобном для практических расчетов виде

87

 

1

n

1

n

I

hi yi 1 yi

hi3 ci ci 1 .

 

 

 

2 i 1

12 i 1

Отметим, что при использовании сплайнов представление в виде квадратурной формулы (4.2) невозможно, поскольку коэффициенты Ak в этом случае зависят от всех значений yi.

4.6.Квадратурные формулы Гаусса

Вквадратурных формулах, полученных на основе метода Ньютона-Котеса, используются равноотстоящие узлы. В квадратурных формулах Гаусса распределение узлов на интервале интегрирования не является равномерным. Идея формул Гаусса состоит в том, чтобы при возможно наименьшем числе узлов точно интегрировать многочлены наивысшей возможной степени. Это как раз и достигается за счет специального выбора положения узлов xk на промежутке интегрирования.

Рассмотрим функцию y=f(x), заданную на стандартном интервале [−1, 1]. Любой интервал [a, b] путем замены переменных может быть сведен к стандартному. Поставим задачу так: как распределить точки x1, x2, … , xn на интервале [−1, 1] и подобрать коэффициенты A1, A2, ... , An, чтобы квадратурная формула

1

n

 

f (x)dx Ak f (xk )

(4.21)

1

k 1

 

была точной для всех полиномов f(x) максимально возможной степени N.

Для решения этой задачи необходимо определить 2n постоянных {xk}, {Ak}. С помощью этого количества коэффициентов можно определить полином степени 2n−1. Очевидно, что это и будет наивысшая возможная степень полинома N. Можно показать, что для выполнения равенства (4.21) необхо-

димо и достаточно, чтобы оно

было верным при f(x)=1,

f(x)=x, f(x)=x2, … , f(x)=x2n–1.

f(x) последовательно указан-

Подставляя в (8.3) вместо

ные функции xk, k=0, 1, … , 2n–1, получим систему 2n нелинейных уравнений

88

n

 

 

 

 

 

 

 

 

Ak A1

A2 ... An 2,

 

 

k 1

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

Ak xk

A1x1

A2x2

... Anxn

0,

 

 

k 1

 

 

 

 

 

 

 

 

n

 

 

 

 

2

 

 

 

Ak xk2

A1x12

A2x22

... Anxn2

 

,

 

 

 

 

 

k 1

 

 

 

3

 

 

 

n

 

 

 

 

 

 

 

 

Ak xk3

A1x13

A2x23

... Anxn3

0,

 

 

k 1………………………………….

2

 

n

 

 

 

 

 

 

 

Ak xk2n 2 A1x12n 2 A2x22n 2

... Anxn2n 2

,

 

k 1

 

 

 

 

 

 

2n 1

n

 

 

 

 

 

 

 

 

Ak xk2n 1 A1x12n 1

A2x22n 1 ... Anxn2n 1

0.

k 1

Эта система 2n нелинейных уравнений решается с привлечением полиномов Лежандра, общую формулу которых можно выразить через производную:

P

(x)

1

 

dn(x2 1)n

.

2nn!

dxn

n

 

 

Показано, что своими узлами {xk} квадратурная формула Гаусса имеет корни полинома Лежандра степени n–1, а весовые коэффициенты {Ak} легко вычисляются по формуле

Ak

 

2

 

 

,

k=1, 2, … , n.

2

 

2

 

(1 xk )[Pn

(xk )]

 

 

Ниже приведены результаты решения этой системы для n=1÷6.

 

 

Таблица 4.3

n=1

x1 =0

A1 =2

n=2

x2 =–x1 =0,5773502692

A1 =A2 =1

n=3

x3 =–x1 =0,7745966692

A1 =A3 =1/9

 

x2 =0

A2 =8/9

n=4

x4 =–x1 =0,8611363116

A1 =A4 =0,3478548452

 

x3 =–x2 =0,3399810436

A2 =A3 =0,6521451548

89