Вычислительная математика. Ч. 1. Асламова В.С - 21 стр.

UptoLike

41
3.3. Метод Симпсона
Разобьем отрезок интегрирования [a, b] на четное число n равных частей с
шагом
h. На каждом отрезке [x
0
,x
2
], [x
2
,x
4
],…, [x
i-1
,x
i+1
],…, [x
n-2
,x
n
]
подынтегральную функцию
f(x) заменим интерполяционным многочленом
второй степени:
iiii
cxbxaxxf ++=
2
)()(
ϕ
при
11 +
ii
xxx
.
Коэффициенты этих квадратных трехчленов могут быть найдены из условий
равенства многочлена в точках
x
i
соответствующим табличным данным y
i
=f(x
i
).
В качестве
ϕ
i
(x) можно принять интерполяционный многочлен Лагранжа второй
степени, проходящей через точки
M
i-1
(x
i-1
,y
i-1
), M
i
(x
i
,y
i
), M
i+1
(x
i+1
,y
i+1
) (рис. 24):
1
111
1
11
11
1
111
1
))((
))((
))((
))((
))((
))((
)(
+
++
+
+
+
+
+
+
=
i
iiii
ii
i
iiii
ii
i
iiii
ii
i
y
xxxx
xxxx
y
xxxx
xxxx
y
xxxx
xxxx
x
ϕ
.
Элементарная площадь s
i
может быть вычислена с помощью определенного
интеграла. Учитывая равенства
x
i+1
-x
i
= x
i
-x
i-1
= h, получаем:
[]
).4(
3
))(())((2))((
2
1
)(
11
111111
2
1
1
1
1
+
+++
++=
=+=
+
+
iii
x
x
iiiiiiiii
x
x
ii
yyy
h
dxyxxxxyxxxxyxxxx
h
dxxs
i
i
i
i
ϕ
h: = (b-a)/n
S: = 0
x : = a
i: = 1, n-1
x : = x + h
S: = S + f(x)
S: = (2
S+f(a)+f(b))
0.5
h
Конец
Начало
Р
ис.24.Блок-схема процедуры IN(N:integer; var S: real);
для вычисления интеграла методом трапеций.
42
y
x
x
i-1
x
i
0
x
i+1
2h
s
i
M
i-1
M
i
M
i
+1
y =
ϕ
i
(x)
Рис. 25
Проведя такие вычисления для каждого элементарного отрезка [
x
i-1
,x
i+1
],
просуммируем полученные выражения:
).42...2424(
3
1243210 nnn
yyyyyyyy
h
S ++++++++=
Данное выражение для
S принимается в качестве значения определенного
интеграла:
=+++++++++
])...(2)...(4[
3
)(
2421310 nnn
b
a
yyyyyyyy
h
dxxf
+++=
=
n
i
in
ycyy
h
1
0
)3(
3
, (3.10)
где
с =
Полученное соотношение называется формулой Симпсона.
Эту формулу можно получить и другими способами, например
комбинированием формул прямоугольников и трапеций или двукратным
применением метода трапеций при разбиении отрезка [
a, b] на части с шагами h
и
2h. При этом важно добиться, чтобы главные части погрешностей этих методов
при сложении уничтожались.
Число узлов в методе Симпсона обязательно должно быть четным, так как
каждый третий узел используется два разаон служит окончанием одной
параболы и началом следующей. Точность метода Симпсона пропорциональна h
4
(3.30).
Блок-схема программы для вычисления интеграла методом Cимпсона
представлена на рис.26.
-1 при i нечетном
1 при i четном
                                                           Начало                                                                                                    y
                                                                                                                                                                                                                   Mi+1

                                                       h: = (b-a)/n
                                                                                                                                                                                            y =ϕi(x)
                                                          S: = 0                                                                                                              Mi-1
                                                          x:=a                                                                                                                                     Mi

                                                       i: = 1, n-1
                                                                                                                                                                                              si
                                                       x:=x+h
                                                      S: = S + f(x)                                                                                                                                2h

                                                                                                                                                                  0                xi-1            xi            xi+1                  x
                                              S: = (2⋅S+f(a)+f(b))⋅0.5⋅h
                                                                                                                                                                                              Рис. 25

                                                           Конец                                                                                   Проведя такие вычисления для каждого элементарного отрезка [xi-1,xi+1],
                                                                                                                                                просуммируем полученные выражения:
                     Рис.24.Блок-схема процедуры IN(N:integer; var S: real);                                                                                          h
                            для вычисления интеграла методом трапеций.                                                                                         S =      ( y 0 + 4 y1 + 2 y 2 + 4 y 3 + 2 y 4 + ... + 2 y n − 2 + 4 y n −1 + y n ).
                                                                                                                                                                      3
                                                                                                                                                   Данное выражение для S принимается в качестве значения определенного
                                             3.3. Метод Симпсона                                                                                интеграла:
                                                                                                                                                           b
                                                                                                                                                                          h
   Разобьем отрезок интегрирования [a, b] на четное число n равных частей с                                                                                ∫ f ( x)dx ≈ 3 [y   0   + 4( y1 + y3 + ... + y n−1 ) + 2( y 2 + y 4 + ... + y n− 2 ) + y n ] =
шагом h. На каждом отрезке [x0,x2], [x2,x4], , [xi-1,xi+1], , [xn-2,xn]                                                                                    a

подынтегральную функцию f(x) заменим интерполяционным многочленом                                                                                                                         h ⎧                n
                                                                                                                                                                                                                           ⎫
                                                                                                                                                                                      =    ⋅ ⎨ y 0 + y n + ∑ (c + 3) ⋅ y i ⎬ ,                              (3.10)
второй степени:                                                                                                                                                                           3 ⎩              i =1            ⎭
                f ( x ) ≈ ϕ i ( x ) = a i x 2 + b i x + c i при x i −1 ≤ x ≤ x i +1 .                                                                                               -1 при i нечетном
                                                                                                                                                где                                          с=
   Коэффициенты этих квадратных трехчленов могут быть найдены из условий                                                                                                             1 при i четном
равенства многочлена в точках xi соответствующим табличным данным yi=f(xi).                                                                         Полученное соотношение называется формулой Симпсона.
В качестве ϕi(x) можно принять интерполяционный многочлен Лагранжа второй                                                                           Эту формулу можно получить и другими способами, например
степени, проходящей через точки Mi-1(xi-1,yi-1), Mi(xi,yi), Mi+1(xi+1,yi+1) (рис. 24):                                                          комбинированием формул прямоугольников и трапеций или двукратным
                                                                                                                                                применением метода трапеций при разбиении отрезка [a, b] на части с шагами h
              (x − xi )(x − xi+1 )             (x − xi−1 )(x − xi+1 )         (x − xi−1 )(x − xi )                                              и 2h. При этом важно добиться, чтобы главные части погрешностей этих методов
       ϕi (x) =                        yi−1 +                          yi +                            yi+1 .                                   при сложении уничтожались.
            (xi−1 − xi )(xi−1 − xi+1 )        (xi − xi−1 )(xi − xi+1 )      (xi+1 − xi−1 )(xi+1 − xi )                                              Число узлов в методе Симпсона обязательно должно быть четным, так как
   Элементарная площадь si может быть вычислена с помощью определенного                                                                         каждый третий узел используется два раза – он служит окончанием одной
интеграла. Учитывая равенства xi+1-xi = xi-xi-1 = h, получаем:                                                                                  параболы и началом следующей. Точность метода Симпсона пропорциональна h4
             xi +1                   xi +1
                               1                                                                                                                (3.30).
        si = ∫ ϕ i ( x)dx ≈
             xi −1
                              2h 2    ∫ [( x − x )(x − x
                                     xi −1
                                               i       i +1   ) yi −1 − 2( x − xi −1 )( x − xi +1 ) yi + ( x − xi −1 )( x − xi ) yi +1 ] dx =
                                                                                                                                                    Блок-схема программы для вычисления интеграла методом Cимпсона
                                                        h                                                                                       представлена на рис.26.
                                                       = ( yi −1 + 4 yi + yi +1 ).
                                                        3



                                                                   41                                                                                                                                   42