для наближенного обчислення інтегралів частіші, аніж формулами прямокутников і трапецій, бо она – при тих же затратах – дає зазвичай більш точний результат.
Залишковий член формули прямокутників.
Почнемо з формули (4). Припустимо, що у проміжку функція має неперервні похідні перших двох порядків. Тогді, розкладая (по формулі Тейлора) за степенями двочлена аж до його квадрату, будемо мати для всіх значень в
,
де міститься між та і залежить від .
Якщо проінтегрувати цю рівність у проміжку від до , то другий член зправа зникне, бо
(11)
Таким чином, отримаємо
,
так, що залишковий член формули (4), який поновлює її точність має вигляд
.
Позначив через і , відповідно найменьше та найбільше значення неперервної функції у проміжку і коростуючись тим, що другий множник підінтегрального виразу на змінює знака, за узагальненою теоремою про середне можемо написати
,
де міститься між точками и . По відомій властивості неперервної функції, знайдеться в така точка , що , і остаточно
. (12)
Якщо зараз розділити проміжок на рівних частин, то для кожного часткового проміжку будемо мати точную формулу
.
Додавнши ці равенства (при ) почленно отримаємо при звичайних скорочених позначеннях
,
де вираз
і є залишковий член формули прямокутників (1). Так як вираз
також знаходиться між і , то і він представляє одне із значень функції .
Тому остаточно маємо
(13).
При зростанні цей додатковий член спадає приблизно як . Ми кажемо наближено, бо і може змінюватись із зміною . Це маємо памятати і надалі.
Залишковий член формули трапеції.
Займемось тепер формулою (6) при попередніх здогатках відносно функції . Скориставшись інтерполяційною формулою Лагранжа із залишковим членом можемо написати
.
Інтегруя цю формули від до , знайдемо
,
так що залишковий член формули (6) буде
.
Розмірковуючи, як і вище, і користуючись тим, що другий множник підінтегральної функції і тут не змінює знака, знайдемо
.
Нарешті, для випадку ділення проміжку на рівних частин
(14).
Таким є залишковий член формули трапецій (2). При зростанні він також зменьшуеться приблизно як . Ми бачемо, що застосування формули трапецій приводить до похибки того ж порядку, що і для формули прямокутників.
Залишковий член формули Сімпсона.
Звернемося, нарешті до формули (8). Можно було б, аналогічно тому, як це було зроблено тількі що, знов скористатись формулою Лагранжа з залишковим членом і покласти
(15).
Но ми стикаємося тут з таким станом речей, а саме, проінтегрувавши рівність (15), ми не змогли б спростити інтегральний вираз для додаткового члену за допомогою теореми про середне, бо вираз в підінтегральній функції вже змінює знак на проміжку . Тому ми зробимо інакше.
Вираз
,
яким би не було число , в точках , , приймає одні і тіж значення, що і функція . Легко підібрати число так, щоб і похідна цього виразу при співпадала з похідною . Таким чином, при цьому значенні ми маємо не що інше, як інтерполяційний многчлен Эрміта, який відповідаї простим вузлам , і двукратному вузлу . Скориставшись формулою Эрміта з залишковим членом – в пропушенні існування для функції похідних до четвертого порядку включно – отримаємо:
.
Тепер проінтегрувавши цю равність від до ; ми знайдемо, що
так як
.
Якщо припустити похідну неперервною, то, як і в попередніх випадках, залишковий член формули (8)
,
користуючись тим, що другий множник в підінтергальному виразі не змінює знака, можно підставити в такому вигляді Якщо є многочлен не вище третього степеня, то, очевидно, що перетворюється в . Значить, для такого многочлена формула (8) будет точною.:
.
Якщо проміжок розділити на рівних частин, то – для формули Сімпсона (10) – отримаємо залишковий член у вигляді
(16).
При зростанні цей вираз зменьшується приблизно як ; таким чином, формула Симпсона дійсно більш вигідна, ніж попередні дві формули.
Додаток 1.
Текст программи для автоматичного обчислення інтегралів на мові програмування QBASIC:
'Тут описуються сталі
e = 2.718281828459045#
pi = 3.141592653589793#
'Тут задається від під інтегральної функції
DEF fny# (x#) = ex# 2
DEF fncoef# (i#) = (i# MOD 2) * 2 + 2
DEF fnxi# (i#) = a# + i# * h#
DEF fnxis# (i#) = a# + i# * h# / 2
DEF fnxic# (i#) = a# + i# * h# + h# / 2
DEF fnxir# (i#) = a# + i# * h# + h# / 2
CLS
'Тут вводяться межі інтегрування та
'кількість проміжків
INPUT «Введіть нижню межу інтегрування » a#
INPUT «Введіть верхню межу інтегрування » b#
INPUT «Введіть кількість проміжків » n#
'Тут обчислюється крок
h# = (b# - a#) / n#
'Тут обчислюється наближене значення
'інтеграла за методом Сімпсона
integ# = 0
FOR i# = 1 TO ((2 * n#) - 1)
integ# = integ# + fncoef#(i#) * fny#(fnxis#(i#))
NEXT
integ# = integ# + fny#(a#) + fny#(b#)
integ# = integ# * (h# / 6)
PRINT "Simpson = "; integ#
'Тут обчислюється наближене значення
'інтеграла за методом трапецій
integ# = 0
FOR i# = 1 TO (n# - 1)
integ# = integ# + fny#(fnxi#(i#))
NEXT
integ# = integ# + (fny#(a#) + fny#(b#)) / 2
integ# = integ# * h#
PRINT Trapeze = ; integ#
'Тут обчислюється наближене значення
'інтеграла за методом лівих прямокутників
integ# = 0
FOR i# = 0 TO (n# - 1)
integ# = integ# + fny#(fnxi#(i#))
NEXT
integ# = integ# * h#
PRINT "L Rectangle = "; integ#
'Тут обчислюється наближене значення
'інтеграла за методом центральних прямокутників
integ# = 0
FOR i# = 0 TO n#
integ# = integ# + fny#(fnxic#(i#))
NEXT
integ# = integ# * h#
PRINT "C Rectangle = "; integ#
'Тут обчислюється наближене значення
'інтеграла за методом правих прямокутників
integ# = 0
FOR i# = 1 TO n#
integ# =