3: Інтеграція
Ми хочемо побудувати числові алгоритми, які можуть виконувати певні інтеграли виду
I=∫baf(x)dx.
Обчислення цих певних інтегралів чисельно називається числовим інтегруванням, числовою квадратурою, або простіше кажучи квадратурою.
Елементарні формули
Спочатку ми розглядаємо інтеграцію від 0 доh, зh малими, щоб служити складовими для інтеграції над більшими доменами. Ми тут визначаємоIh як такий інтеграл:
Ih=∫h0f(x)dx.
Щоб виконати цей інтеграл, ми розглянемо розширення серії Тейлораf(x) про значенняx=h/2:
f(x)=f(h/2)+(x−h/2)f′(h/2)+(x−h/2)22f′′(h/2)+(x−h/2)36f′′′(h/2)+(x−h/2)424f′′′′(h/2)+…
Правило середньої точки
Правило середньої точки використовує лише перший термін у розширенні серії Тейлора. Тут ми визначимо похибку в цьому наближенні. Інтеграція,
Ih=hf(h/2)+∫h0((x−h/2)f′(h/2)+(x−h/2)22f′′(h/2)+(x−h/2)36f′′′(h/2)+(x−h/2)424f′′′′(h/2)+…)dx.
Зміна змінних, дозволяючиy=x−h/2 іdy=dx, і спрощення інтеграла в залежності від того, чи є integrand парним або непарним, у нас є
Ih=hf(h/2)+∫h/2−h/2(yf′(h/2)+y22f′′(h/2)+y36f′′′(h/2)+y424f′′′′(h/2)+…)dy=hf(h/2)+∫h/20(y2f′′(h/2)+y412f′′′′(h/2)+…)dy.
Інтеграли, які нам тут потрібні, є
∫h20y2dy=h324,∫h20y4dy=h5160.
Тому,
Ih=hf(h/2)+h324f′′(h/2)+h51920f′′′′(h/2)+…
трапецієподібне правило
З розширення серії Тейлораf(x) проx=h/2, ми маємо
f(0)=f(h/2)−h2f′(h/2)+h28f′′(h/2)−h348f′′′(h/2)+h4384f′′′′(h/2)+…,
і
f(h)=f(h/2)+h2f′(h/2)+h28f′′(h/2)+h348f′′′(h/2)+h4384f′′′′(h/2)+….
Додавання і множення наh/2 отримуємо
h2(f(0)+f(h))=hf(h/2)+h38f′′(h/2)+h5384f′′′′(h/2)+….
Тепер підставляємо перший член праворуч, використовуючи формулу правила середньої точки:
h2(f(0)+f(h))=(Ih−h324f′′(h/2)−h51920f′′′′(h/2))+h38f′′(h/2)+h5384f′′′′(h/2)+…,
і вирішуючи дляIh, знаходимо
Ih=h2(f(0)+f(h))−h312f′′(h/2)−h5480f′′′′(h/2)+…
правило Сімпсона
Щоб отримати правило Сімпсона, ми об'єднаємо середню точку та трапецієподібне правило, щоб усунути термін похибки, пропорційнийh3. Помноживши (3.4) на два і додавши до (3.8), отримуємо
3Ih=h(2f(h/2)+12(f(0)+f(h)))+h5(21920−1480)f′′′′(h/2)+…,
або
Ih=h6(f(0)+4f(h/2)+f(h))−h52880f′′′′(h/2)+….
Зазвичай правило Сімпсона пишеться з урахуванням трьох послідовних пунктів0,h і2h. Підставившиh→2h, отримуємо стандартний результат
I2h=h3(f(0)+4f(h)+f(2h))−h590f′′′′(h)+…
Складені правила
Тепер ми використовуємо наші елементарні формули, отримані для (3.2) для виконання інтеграла, заданого (3.1).
трапецієподібне правило
Ми припускаємо, що функціяf(x) відома вn+1 точках, позначені якx0,x1,…,xn, з кінцевими точками, заданимиx0=a іxn=b. Визначте
fi=f(xi),hi=xi+1−xi.
Тоді інтеграл (3.1) може бути розкладений як
∫baf(x)dx=n−1∑i=0∫xi+1xif(x)dx=n−1∑i=0∫hi0f(xi+s)ds,
де остання рівність виникає внаслідок зміни зміннихs=x−xi. Застосовуючи трапецієподібне правило до інтегралу, маємо
∫baf(x)dx=12n−1∑i=0hi(fi+fi+1).
Якщо точки розташовані не рівномірно, скажімо, тому що дані є експериментальними значеннями, тоhi може відрізнятися для кожного значенняi і (3,13) буде використовуватися безпосередньо.
Однак, якщо точки розташовані рівномірно, скажімо, тому щоf(x) можна обчислити, ми маємоhi=h, незалежно відi. Потім ми можемо визначити
xi=a+ih,i=0,1,…,n;
і оскільки кінцева точкаb задовольняєb=a+nh, ми маємо
h=b−an.
Складене трапецієподібне правило для рівномірного простору точок потім стає
∫baf(x)dx=h2n−1∑i=0(fi+fi+1)=h2(f0+2f1+⋯+2fn−1+fn).
Перший і останній члени мають кратні одному; всі інші терміни кратні двом; і вся сума множиться наh/2

правило Сімпсона
Тут ми розглянемо складене правило Сімпсона для рівномірних точок простору. Ми застосовуємо правило Сімпсона над інтервалами2h, починаючи відa і закінчуючи наb:
∫baf(x)dx=h3(f0+4f1+f2)+h3(f2+4f3+f4)+…+h3(fn−2+4fn−1+fn).
Зверніть увагу, щоn повинна бути навіть, щоб ця схема працювала. Поєднуючи терміни, ми маємо
∫baf(x)dx=h3(f0+4f1+2f2+4f3+2f4+⋯+4fn−1+fn).
Перший і останній терміни кратні одному; парні індексовані терміни кратні 2; непарні індексовані терміни кратні 4; і вся сума множиться наh/3.
Адаптивна інтеграція
Корисна функція MATLAB quad.m виконує числове інтегрування з використанням адаптивної квадратури Сімпсона. Ідея полягає в тому, щоб дозволити обчисленню самому визначитися з розміром сітки, необхідним для досягнення певного рівня точності. Більше того, розмір сітки не повинен бути однаковим у всьому регіоні інтеграції.
Ми починаємо адаптивну інтеграцію на тому, що називається Level 1. Рівномірно розташовані точки, в яких повинна бутиf(x) оцінена функція, показані на рис.3.1. Відстань між точкамиa іb приймається бути2h, щоб
h=b−a2.
Інтеграція за допомогою правила Сімпсона (3.11) з розміром сіткиh дає інтегралI,
I=h3(f(a)+4f(c)+f(b))−h590f′′′′(ξ),
деξ деяка цінність задовольняєa≤ξ≤b. Інтеграція за допомогою правила Сімпсона двічі зh/2 прибутковістю розміру сітки
I=h6(f(a)+4f(d)+2f(c)+4f(e)+f(b))−(h/2)590f′′′′(ξl)−(h/2)590f′′′′(ξr),
зξl іξr деякими цінностями задовольняютьa≤ξl≤c іc≤ξr≤b.
Тепер ми визначимо два наближення до інтеграла
S1=h3(f(a)+4f(c)+f(b)),S2=h6(f(a)+4f(d)+2f(c)+4f(e)+f(b)),
і дві пов'язані помилки
E1=−h590f′′′′(ξ),E2=−h525⋅90(f′′′′(ξl)+f′′′′(ξr)).
Тепер ми запитуємо, чи достатньо точне значенняS2 для інтеграла, або ми повинні додатково вдосконалити обчислення і перейти до рівня 2? Щоб відповісти на це питання, ми зробимо спрощене наближення, що всі похідні четвертого порядкуf(x) в термах похибки рівні; тобто
f′′′′(ξ)=f′′′′(ξl)=f′′′′(ξr)=C.
Тоді
E1=−h590C,E2=−h524⋅90C=116E1.
Тепер, оскільки інтеграл дорівнює наближенню плюс пов'язана з ним похибка,
S1+E1=S2+E2,
і з тих пір
E1=16E2,
ми можемо вивести оцінку терміна помилкиE2:
E2=115(S2−S1).
Тому, враховуючи деяку специфічну величину допуску тол, якщо
|115(S2−S1)|< tol,
тоді ми можемо прийнятиS2 якI. Якщо оцінка похибки більше за величиною, ніж tol, то переходимо до рівня 2. Обчислення на рівні 2 додатково ділить інтервал інтеграції відa до на два інтервали інтеграціїa доc іc доb, іb продовжується з вищевказаною процедурою. самостійно на обох половинках. Інтеграція може бути зупинена на будь-якій половині за умови, що допуск менше tol/2 (оскільки сума обох помилок повинна бути меншою за tol). В іншому випадку будь-яка половина може перейти до рівня 3, і так далі.
Як примітка сторони, два значенняI наведені вище (для інтеграції з розміром крокуh іh/2) можуть бути об'єднані, щоб дати більш точне значення для I, заданого
I=16S2−S115+O(h7),
де терміни помилкиO(h5) приблизно скасовують. Цей безкоштовний обід, так би мовити, називається екстраполяцією Річардсона.