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

Эксперименты лаба5,6(2курс)

.pdf
Скачиваний:
7
Добавлен:
21.05.2015
Размер:
168.52 Кб
Скачать

4.Численное интегрирование

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

n

 

Xi

(1)

Sn = f(ξi)Δxi,

=1

 

Sn – интегральная сумма.

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

b

 

n

 

 

Z

 

 

 

max xi→0

i=1

i i

(2)

a

lim

X

f(ξ )Δx .

 

f(x) dx =

 

 

Во многих случаях, если подынтегральная функция задана в аналитическом виде, интеграл вычисляется непосредственно по формуле Нью-

тона – Лейбница

b

Z

f(x)dx = F (b) − F (a).

(3)

a

Но реально воспользоваться этой формулой получается не всегда. Основные причины:

вид функции f(x) не позволяет выразить первообразную в элементарных функциях;

аналитический вид функции f(x) неизвестен, известны значения функции в фиксированных точках. В этих случаях используются приближенные методы интегрирования и, прежде всего, численные. Задача численного интегрирования функции заключается в вычислении значения определенного интеграла на основании ряда значений подынтегральной функции. Численное вычисление однократного интеграла называют квадратурой, двойного кубатурой.

В случае однократного интеграла подынтегральную функцию f(x) заменяют на рассматриваемом отрезке [a, b] интерполирующей или аппроксимирующей функцией ϕ(x), а затем приближенно полагают

b

b

ZZ

f(x)dx ≈ ϕ(x)dx,

(4)

a

a

причем интеграл в правой части равенства (4) вычисляется непосредственно. В результате находим

Z

b

n

 

 

 

 

 

 

ϕ(x)dx = i=0

αiyi.

(5)

a

 

X

 

Таким образом, мы получили, что

Z

b

n

 

 

 

 

 

 

f(x)dx ≈ i=0

αiyi.

(6)

a

 

X

 

Здесь yi – значения функции в узлах интерполяции, αi – числовые коэффициенты. Формула (6) носит название квадратурная формула, правая часть – квадратурная сумма.

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

Квадратурная формула (6) может быть записана в другом виде

Z

b

n

 

 

 

 

 

 

f(x)dx ≈ i=0

σi,

(7)

a

 

X

 

где σi – приближенное значение площади элементарной криволинейной трапеции, соответствующей отрезку [xi−1, xi].

В случае, если в качестве ϕ(x) взять многочлен Лагранжа, построенный на n + 1 равноотстоящих узлах, то полученные с его помощью значения коэффициентов αi в (6) вместе с самой формулой (6) образуют т.н. формулы Ньютона – Котеса.

4.1.Метод прямоугольников

Метод прямоугольников предполагает замену интеграла интегральной суммой

Z

b

n

 

 

 

 

f(x)dx ≈ i=1 f(ξi)Δxi.

(8)

a

 

X

 

Под ξ может пониматься как левая, так и правая граница элементарных отрезков: ξi = xi−1 или ξi = xi. Соответствующие формулы метода

2

прямоугольников

b

 

 

Za

f(x)dx ≈ h1y0 + h2y1 + ... + hnyn−1,

(9)

Za

b

 

f(x)dx ≈ h1y1 + h2y2 + ... + hnyn,

(10)

где hi = xi − xi−1.

Более точным метод прямоугольников становится, если использовать значения функции в средних точках элементарных отрезков

 

b

 

n

 

 

 

 

 

 

 

Z

 

 

 

 

 

 

(11)

 

f(x)dx ≈

hif(xi−1/2),

 

a

=1

 

 

 

 

 

 

 

 

Xi

 

 

 

 

 

 

где

 

 

xi−1 + xi

 

 

 

hi

 

 

x

i−1/2

=

= x

i−1

+

.

 

 

 

 

2

 

2

 

 

В результате получаем метод средних.

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

Метод прямоугольников соответствует кусочно постоянной интерполяции: на каждом отрезке функция заменяется постоянной. Метод трапеций использует линейную интерполяцию – на каждом отрезке функция заменятся линейной функцией, в результате получаем ломанную, соединяющую узлы. В результате значение интеграла представляется как сумма площадей элементарных трапеций.

Площадь каждой трапеции

σi = yi−1 + yi hi, i = 1, ... , n.

2

В результате формула трапеций для численного интегрирования имеет вид

Z

b

1

n

 

 

f(x)dx ≈

hi(yi−1 + yi).

(12)

 

 

2

i=1

a

 

 

 

 

X

 

Рис. 1. Метод трапеций

3

+ 4yn−1 + yn).

В случае постоянного шага формула трапеций принимает вид

Z

b

 

 

 

n−1

 

 

y

0

+ y

n

 

(13)

f(x)dx ≈ h

 

 

+ h i=1

yi.

 

 

2

 

a

 

 

 

 

 

X

 

Очевидно, что погрешность формул прямоугольников и трапеций определяется шагом интегрирования. С уменьшением шага увеличивается точность вычисления интеграла. Если увеличение числа точек невозможно (функция задана в табличном виде), повышения точности можно достичь, увеличивая степень используемых интерполяционных многочленов.

4.3.Метод Симпсона

Разобьем отрезок интегрирования [a, b] на четное число равных частей с шагом h: [x0, x2], [x2, x4], ... , [xi−1, xi+1], ... ,[xn−2, xn], n – четное число. На каждом отрезке подынтегральную функцию заменим интерполяционным многочленом второй степени

f(x) ≈ ψi(x) = aix2 + bix + ci.

В качестве ψi(x) можно взять интерполяционный многочлен Лагранжа, проходящий через точки (xi−1, yi−1), (xi, yi), (xi+1, yi+1)

ψ

(x) =

 

 

(x − xi)(x − xi+1)

y

i−1

+

 

(xi−1 − xi)(xi−1 − xi+1)

 

i

 

 

 

 

 

+

 

(x − xi−1)(x − xi+1)

yi +

 

(x − xi−1)(x − xi)

yi+1 =

 

 

 

(xi − xi−1)(xi − xi+1)

 

 

(xi+1 − xi−1)(xi+1 − xi)

 

 

=

1

{(x − xi)(x − xi+1)yi−1 − 2(x − xi−1)(x − xi+1)yi+

 

 

2h2

+(x − xi−1)(x − xi)yi+1} . (14)

Площадь криволинейной трапеции, соответствующей отрезку [xi−1, xi+1], можно найти с помощью определенного интеграла

si−1,i+1

xi+1

(yi−1 + 4yi + yi+1).

(15)

=xZ

ψi(x)dx = 3

 

 

 

h

 

i−1

Его вычисление можно провести в системе Maple. Аналогично можно вычислить такие интегралы для каждого элементарного отрезка и результаты просуммировать. В итоге получим

h

S = 3 (y0 + 4y1 + 2y2 + 4y3 + 2y4 + ... + 2yn−2

4

Таким образом, мы получили формулу Симпсона (или формулу парабол)

b

Z

h

f(x) dx ≈ 3 {y0 + 4(y1 + y3 + ... + yn−1)+

a

+ 2(y2 + y4 + ... + yn−2) + yn} . (16)

4.4.Метод Гаусса

Метод Гаусса не предполагает разбиения отрезка интегрирования на равные промежутки. Формулы численного интегрирования интерполяционного типа ищутся такими, чтобы они обладали наивысшим порядком точности при заданном числе узлов.

Задача ставится таким образом: нужно подобрать узлы t1, t2, ..., tn и коэффициенты α1, α2, ..., αn таким образом, чтобы квадратурная формула

1

n

 

 

Z

 

 

f(t)dt = i=1

αif(ti)

(17)

−1

X

 

была точной для всех полиномов f(t) наивысшей возможной степени N. Так как мы имеем 2n постоянных ti, αi, а полином степени 2n − 1 определяется 2n коэффициентами, то эта наивысшая степень будет равна

N= 2n − 1.

Вчастности, необходимо, чтобы равенство (17) было верным при

f(t) = 1, t, t2, ..., t2n−1.

(18)

Подставляя последовательно f(t) из (18) в (17) и учитывая, что

 

 

 

 

 

 

 

 

 

2

 

 

 

1

 

 

 

 

 

1)k+1

 

 

 

 

, при k четном;

 

k

 

1

(

 

 

k + 1

 

 

t

dt =

 

 

=

 

(19)

 

 

 

k + 1

Z

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0, при k нечетном,

 

 

 

 

 

 

 

 

 

 

 

5

получаем систему 2n уравнений для нахождения ti и αi:

n

 

 

 

 

 

Xi

 

 

 

 

 

αi

= 2,

 

 

 

=1

 

 

 

 

 

n

 

 

 

 

 

Xi

 

 

 

(20)

αiti

= 0,

 

=1

 

 

 

 

 

..................

 

 

 

 

n

 

 

2

 

 

Xi

 

 

 

 

 

 

 

 

 

 

 

,

αiti2n−2 =

 

=1

 

2n

 

1

 

 

 

 

 

n

X

αit2i n−1 = 0.

i=1

Для того, чтобы не находить значения коэффициентов и узлов каждый раз, их значения табулированы для отрезка интегрирования [−1, 1]. Простой заменой переменных произвольный отрезок [a, b] может быть приведен к [−1, 1]:

b1

ZZ

... dx → ...dt,

a

−1

x =

b + a

+

b − a

t,

dx =

b − a

dt,

 

 

 

 

 

2

 

 

 

2

 

 

 

2

 

 

 

b

2

 

1

 

2

 

2

 

 

 

Z

 

Z

 

 

 

f(x) dx =

b − a

f

b + a

+

b − a

t

dt.

 

 

 

 

a

 

 

−1

 

 

 

 

 

 

 

 

Например, для n = 4 узлы и коэффициенты формулы Гаусса

−t1 = t4 = 0.861 136 311 594 0492

−t2 = t3 = 0.339 981 043 584 8646 12α1 = 12α4 = 0.173 927 422 568 7284 12α2 = 12α3 = 0.326 072 577 431 2716

4.5.Точность численного интегрирования

Можно показать, что остаточный член метода прямоугольников на отрезке [a, b] имеет вид

|Rпр| 6 (b − a)h2 max |f00(x)|,

24 a6x6b

6

для метода трапеций

|Rтр| 6 (b − a)h2 max |f00(x)|,

12 a6x6b

для метода Симпсона

|RС| 6 (b − a)h4 max |f(4)(x)|,

180 a6x6b

для n-точечного метода Гаусса

|

R

Г|

6

22n+1(n!)4

 

max

|

f(2n)(x)

,

 

 

 

 

[(2n)!]3(2n + 1) a6x6b

 

|

 

для n = 4 – метода Гаусса

 

 

 

 

 

 

 

 

 

|

R

 

1

max

f(8)(x)

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Г| 6 3 472 875 a6x6b |

 

 

|

 

 

4.6.Особые случаи численного интегрирования

1.Подынтегральная функция разрывна на отрезке интегрирования. Если подынтегральная функция на отрезке интегрирования терпит

разрыв, то интеграл вычисляется численно для каждого отрезка непрерывности, и результаты складывают. Например, в случае одной точки разрыва x = c (a < c < b)

b

 

c

b

Za

f(x)dx = Za

f(x)dx + Zc

f(x)dx.

2. Несобственные интегралы.

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

В случае интеграла с бесконечным пределом

Z

f(x)dx

a

можно:

а) сделать замену переменных

a

x = 1 − t,

7

в результате чего мы от отрезка [0, +∞) переходим к [0, 1].

б) бесконечную границу заменить некоторым большим числом A так, чтобы полученный результат был близок к точному.

В случае, если функция обращается в бесконечность в некоторой точке x = c конечного отрезка интегрирования, можно пробовать выделить особенность, представив подынтегральную функцию в виде суммы двух функций

f(x) = ϕ(x) + ψ(x)

так, чтобы ϕ(x) была ограничена, а несобственный интеграл от ψ(x) вычислялся бы аналитически.

Возникающие в ряде задач сингулярные интегралы вида

b

Z

f(x)

x − cdx

a

понимаются в смысле главного значения

c−ε

Z

lim

ε→0

a

x ( )cdx +

Z

x ( )cdx .

f x

b

f x

 

c+ε

 

Этот интеграл может быть записан как сумма интеграла по отрезку, симметричному относительно точки c и интеграла от гладкой функции по оставшейся части.

4.7.Кратные интегралы

Будем рассматривать двойные интегралы

ZZ

f(x, y)dxdy.

(21)

G

Самым простым методом вычисления данного интеграла является метод ячеек. Пусть областью интегрирования является прямоугольник:

a 6 x 6 b, c 6 y 6 d.

По теореме о среднем среднее значение функции f(x, y):

f¯(x, y) = S ZZ

f(x, y)dxdy, S = (b − a)(d − c).

(22)

1

 

 

 

G

8

Предположим, что среднее значение приближенно равно значению функции в центре прямоугольника, т.е.

f(¯x, y¯) ≈ f¯(x, y),

тогда для вычисления интеграла получаем

ZZ

f(x, y)dxdy ≈ Sf(¯x, y¯),

G

 

 

 

 

x¯ =

a + b

,

y¯ =

c + d

.

 

 

 

 

2

 

2

 

 

Точность формулы можно повысить, если разбить область G на пря-

моугольные ячейки Gij, то для каждой ячейки

 

ZZ f(x, y)dxdy ≈ f(x¯i, y¯j)Δxi yj

(23)

Gij

 

 

 

 

идля интеграла

ZZ M N

G

Xi

X

(24)

f(x, y)dxdy ≈

 

f(x¯i, y¯j)Δxi yj.

=1 j=1

В правой части последнего равенства стоит интегральная сумма, поэтому при уменьшении периметров ячеек эта сумма стремится к значению интеграла для любой непрерывной функции f(x, y). Погрешность метода ячеек имеет второй порядок малости по x и y. Для дальнейшего повышения точности можно применить метод сгущения узлов сетки. При этом шаг по каждой переменной уменьшают в одинаковое число раз, т.е. отношение M/N остается постоянным.

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

Рассмотрим область – криволинейный четырехугольник: a 6 x 6 b, ϕ1(x) 6 y 6 ϕ2(x). Для приведения этой области к прямоугольной, надо

использовать замену:

 

 

 

t =

y − ϕ1(x)

, 0 6 t 6 1.

(25)

ϕ2(x) − ϕ1(x)

 

 

 

Другой возможный способ вычисления многомерных интегралов состоит в сведении их к последовательному вычислению одномерных интегралов.

9

4.8.Задания для самостоятельной работы

Вычислить определенный интеграл Z

b

f(x) dx с точностью ε = 10−6

a

а) методом прямоугольников (метод средних); б) методом трапеций; в) методом парабол (правило Симпсона); г) методом Гаусса.

 

 

2

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

1.

Z1

sin x

 

 

 

6.

Z2

sin x cos x

 

dx

x3 ln x

dx

tg x

2.

Z

3

ln x

 

 

7.

1

 

(x + 3) sin (x2

+ 2) dx

 

 

 

Z

 

 

 

 

dx

 

 

 

 

 

 

x3 sin x

 

 

 

 

1

 

 

 

 

 

 

 

−1

 

 

 

 

 

 

 

 

 

Z

1

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

3.

x3ex cos x dx

8.

Z0

x2 ln (x + 7) dx

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Z0

3

x2 sin x

 

 

 

3

 

x + 2x2

 

 

 

 

 

ln x

 

Z1

 

 

 

 

4.

 

 

·

 

dx

9.

 

 

 

dx

 

 

 

 

 

e2x

 

 

ln x

 

 

 

 

5.

Z1

2

 

 

 

 

 

10.

5

 

(x3 + 1) dx

 

 

 

ex · ln x dx

Z1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sin x ln x

 

 

 

4.9.Примеры процедур в среде Maple

4.9.1.Метод прямоугольников

> restart;

# ввод подынтегральной функции

>f:=x-> evalf(sin(x)-xˆ 3*ln(x));

>prl:=proc(a,b,sh)

#b, a верхний и нижний пределы интегрирования соответственно

#sh шаг разбиения отрезка [a,b]

local i,j,xp,n,x,h,slog;

10