Про оцінку похибки наближеного розв'язку задачі коші
Для методів Рунге—Кутта застосовують ряд апріорних оцінок похибки наближеного розв'язку задачі Коші (7.1)—(7.2). Ці оцінки здебільшого значно завищені. Тому навряд чи доцільно рекомендувати їх для контролю в практичних розрахунках. Їх значення не стільки практичне, скільки теоретичне, бо з них безпосередньо випливає висновок про збіжність цих методів. Крім того, апріорні оцінки містять у собі ряд сталих, для знаходження яких часто треба виконувати досить складні обчислення.
Тому, щоб оцінити похибку наближеного розв'язку задачі (7.1)— (7.2), намагаються використати інформацію, яку дістають у процесі чисельного розрахунку (такі оцінки називають апостеріорними). Найефективніші оцінки з подвійним перерахунком.
Спинимось докладніше на методі подвійного перерахунку. Розглянемо такі три випадки:
1. Задано крок інтегрування h і треба визначити точні цифри наближеного розв'язку в кожній вузловій точці хk
2. Задано точність ε > 0, з якою треба обчислити наближений розв'язок задачі, добираючи належним чином як сам метод, так і крок інтегрування h.
3. Оцінити похибку εk = yk — y(xk), де yk і y(xk) — відповідно наближений і точний розв'язки задачі, в кожній вузловій точці хk
Для цього розв'язок задачі (7.1)-(7.2) у кожній вузловій точці xk обчислюють двічі: з кроком h і h/2. Позначатимемо їх відповідно уk і у*k. Десяткові розряди наближень уk і у*k, які збігаються між собою, вважають точними цифрами наближеного розв'язку в точці хk.
Для абсолютної похибки в точці хk маємо:
де s- порядок точності метода Рунге-Кутта.
Приклад 1. Вирішити задачу Коші
dу/dx=2(x2+Y), У(0)=1, 0≤x≤1, h=0.1.
Рішення. Сформульована задача Коші може бути вирішена відомими з курсу вищої математики методами. Опустивши викладення, запишемо остаточне вираження для точного рішення з обліком заданої початкової умови. Воно має вид
Y=1.5e2x-x2-x-0.5
Проведемо тепер рішення даної задачі чисельно за допомогою розглянутих вище методів.
1. У методі Ейлера знайдемо для Х відповідні значення У по наступним формулам:
Y1=y0+h*f(x0,y0)=1+0.1*[2*(02+1)]=1.2000
Y2=y1+h*f(x1,y1)=1.2000+0.1*[2*(0.12+1.2000)]=1.4420
Y3=y2+h*f(x2,y2)=1.4420+0.1*[2*(0.22+1.4420)]=1.7384 і т.д.
Результати обчислень приведені в табл. 6.
2. Модифікований метод Ейлера полягає в тому, що спочатку обчислюють проміжні значення.Наприклад, для перебування Y1:
X1/2=x0+h/2=0+0.05=0.05
Y1/2=y0+h/2*f0=1+0.05*[2*(02+1)]=1.10
f1/2=f(X1/2,Y1/2)=2*(0.052+1.10)=2,205
а потім Y1=y0+h*f1/2=1+0.1*2.205=1,2205
Результати обчислень приведені в табл. 6.
3. По методу Рунге-Кутта обчислення наближеного значення У1 у наступній точці Х1 виробляється по формулам:
X1=x0+h=0+0.1=0.1
K1=hf(x0,y0)=0.1*[2*(02+1)]=0.2
K2=hf(x1+h/2,y0+K1/2)=hf(0.05,1.1)=0.1[2*(0.052+1.1)]=0,2205
K3=hf(x1+h/2,y0+K2/2)=hf(0+0.051+0.2205/2)=0.1[2*(0.052+1,11025)]=0,22255
K4=hf(x1+h,y0+K3)=hf(0.1,1+0,22255)=0.1[2*(0.12+1.22255)]=0,24651
ΔY1=1/6(K1+2K2+2K3+K4)=1/6(0.2+2*0,2205+2*0,22255+0,24651)=0,222
Y1=y0+ΔY1=1+0,2221=1.2221
Потім всі обчислення продовжують у тім же порядку, приймаючи за початкову крапку (Х1,У1).
Результати обчислень приведені в табл. 6.
Як видно з цієї таблиці самим точним є рішення, отримане методом Рунге — Кутта. Аналіз рішення з використанням методу Эйлера дозволяє простежити ріст погрішності зі зростанням Xi. При Хi= 1 погрішність складає майже 18%. Отже, при великому числі вузлів метод Эйлера може привести до помітних помилок , і в таких випадках переважніше користатися чисельними методами вищих порядків точності.
Таблиця 6
Xi
|
Метод Эйлера
|
Модифікований метод Эйлера
|
Метод Рунге—Кутта
|
Точне рішення
|
0.1 0.2 0.3 |
1.2000 1.4420 1.7384 |
1.2205 1.4923 1.8284 |
1.2221 1.4977 1.8432 |
1.2221 1.4977 1.8432 |
0.4 0.5
|
2.1041 2.5569 |
2.2466 2.7680 |
2.2783 2.8274 |
2.2783 2.8274 |
0.6 0.7 0.8 0.9 1.0 |
3.1183 3.8139 4.6747 5.7376 7.0472 |
3.4176 4.2257 5.2288 6.4004 8.0032 |
3.5201 4.3927 5.4894 6.8643 8.5834 |
3.5202 4.3928 5.4895 6.8645 8.5836 |
Зі зменшенням кроку h локальна погрішність методу Ейлера знизиться, однак при цьому зросте число вузлів, що несприятливо вплине на точність результатів. Тому метод Ейлера застосовується порівняно рідко при невеликому числі розрахункових точок . Найбільш вживаним однокроковим методом є метод Рунге — Кутта.
При реалізації методу Рунге—Кутта на ЕОМ з автоматичним вибором кроку звичайно в кожній крапці хi роблять подвійний спочатку з кроком h, потім із кроком h/2. Якщо отримані при цьому значення уi розрізняються в межах припустимої точності, то крок h для наступної крапки (xi+1) подвоюють, у противному випадку беруть половинний крок.
Розглянуті методи можуть бути використані також для рішення систем диференціальних рівнянь.