Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
R7-DIFUR.doc
Скачиваний:
2
Добавлен:
16.11.2019
Размер:
1.01 Mб
Скачать

Розрахункові формули вдосконаленого методу Ейлера можна записати у вигляді

=yk+ hf(xk ,yk) (7.9)

yk+1=yk+hf( , ) (7.10)

Отже, в удосконаленому методі Ейлера спочатку за методом Ейлера (формула (7.9)) обчислюють наближений розв'язок задачі (7.1)—(7.2) в точці =хk+ , а потім за формулою (7.10) — наближений розв'язок yk+1 у точці хk+1; на кожному кроці інтегрування праву частину рівняння (7.1) обчислюють двічі (у точках (xk, yk) і ( , )).

Г еометричне це означає, що на відрізку [xk, хk+1] графік інтегральної кривої задачі (7.1)—(7.2) замінюється відрізком прямої, яка проходить через точку (xk, yk) і має кутовий коефіцієнт k =f( ; ). Іншими словами, ця пряма (рис. 5.3) утворює з додатним напрямом осі Ох кут φ=arctgf( ; ).

Що ж до точки ( , ), то це точка перетину дотичної до інтегральної кривої задачі (7.1)—(7.2) в точці (xk, yk) з прямою х = xk +h . Похибка вдосконаленого методу Ейлера на кожному кроці має порядок 0(h3).

Метод рунге—кутта

З появою і розвитком ЕОМ у чисельному інтегруванні звичайних диференціальних рівнянь бурхливого розвитку набули методи типу Рунге—Кутта. Такі методи побудовано до 10-го порядку точності включно. В обчислювальній практиці їх широко застосовують завдяки тому. що вони:

  • однокрокові, тобто для обчислення розв'язку задачі (7.1)—(7.2) в точці хk+1 треба знати її розв'язок лише в точці хk

  • дають змогу здійснювати чисельне інтегрування із змінним кроком;

  • особливо зручні для програмування на ЕОМ. оскільки обчислення за ними має циклічний характер.

Поряд з перевагами ці методи мають і недоліки. Так, дуже важко оцінити похибки наближеного розв'язку задачі (7.1)—(7.2), бо відомі гарантовані оцінки локальної похибки здебільшого значно завищені, а тому практична їх цінність незначна. До недоліків слід віднести й те, що треба обчислювати в кількох точках праву частину рівняння (7.1) (функцію f(x,y)) на кожному кроці інтегрування. В удосконаленому методі на кожному кроці інтегрування значення функції f(x,y) обчислювали в двох точках, а в методах Рунге—Кутта третього і четвертого порядку точності його обчислюють відповідно в трьох і чотирьох точках. Що ж до методів Рунге-—Кутта, порядок точності яких більший від чотирьох, то праву частину рівняння (7.1) на кожному кроці інтегрування завжди обчислюють у точках, кількість яких більша від порядку точності методу. Уявлення про це дає табл. 5.1.

Табл. 5.1.

s

2

3

4

5

6

7

8

9

10

п

2

3

4,5

6

7,8

9

11

14

18

Тут s — порядок точності методу Рунге—Кутта, a n- кількість точок, в яких обчислюється функція f(x,y) на кожному кроці інтегрування.

Далі задачу Коші (7.1)—(7.2) розв'язуватимемо чисельно методами Рунге—Кутта, порядок точності яких не перевищує чотирьох. Припускатимемо, що функція f(х,у) в прямокутнику має неперервні частинні похідні до деякого порядку п. Тоді розв'язок у(х) матиме неперервні похідні до (n+1)-го порядку і для досить малих значень h у точці xk+1=xk+ h, h > 0 його можна подати у вигляді розкладу

y(xk+1)=y(xk)+hy'(xk)+ y"( )+…+ y(n)( )+O(hn+1). (7.11)

Похідні y(i)(xk) (i= 1.2,....,n) у правій частині формули (7.11) можна виразити через значення функції f та її частинних похідних у точці ( , yk).

Маємо

y'(xk)=f( , yk)=f k (7.12)

y"(xk) = f'x.(xk, yk) + y' kf'y(xk, yk) = (f' x + ff' y)k, (7.13)

де індекс k тут і далі означає, що відповідні функції обчислюють у точці ( , yk).

Аналогічно обчислюють і похідні вищих порядків, хоч їх вирази із зростанням порядку значно ускладнюються. Тому безпосереднє використання їх для обчислення наближеного значення розв'язку У(xk+1) =y(xk + h) у точці xk+1 за формулою (7.11) навряд чи може бути доцільним.

Слід зазначити, що для ЕОМ розроблено комплекси програм, які дають змогу машині самостійно виконувати формальне диференціювання функцій, якщо лише задано програму обчислення функції f(x,y). Таким чином, відпадає потреба створювати програми обчислення похідних функції f(x,y). Проте затрати машинного часу на виконання цих алгоритмів часто можуть бути такі великі, що доцільніше користуватися чисельними методами інтегрування звичайних диференціальних рівнянь, зокрема методами Рунге— Кутта.

Замість похідних y(i)k (і=1.2....,n+1). що входять у праву частину формули (7.11), Рунге запропонував значення наближеного розв'язку yk+1 в точці хk+1 обчислювати за формулами вигляду:

yk+1=yk+ (7.14)

де функції ki=hf(ci,di) (i=1,2,…,n), ci=xk+aih, di=yk+ , a wi,ai,(a1=0) i βij- деякі сталі, які нaзивaтимемо параметрами формул Рунге-Кутта.

Невідомі параметри wi, ai, βij визначають з умови, щоб розклад за степенями h правої частини формули (7.14) збігався з розкладом (7.11) до якомога вищих степенів h для довільної функції f,у) і довільного кроку інтегрування h.

Перед побудовою розрахункових формул методів Рунге—Кутта введемо поняття порядку точності цих методів. Нехай у(хk+1) = y(xk+h) і уk+1і — відповідно точний і наближений розв'язки задачі (7.1)—(7.2) в точці хk+1, причому точний розв'язок обчислено за формулою (7.11), а наближений — за формулою (7.14), яку після розкладу за степенями h можна записати так:

yk+1=yk+ha1+ a2+ a3+…+ an+1 (7.15)

де aі (і=1,2,...) — деякі числові коефіцієнти.

Найбільший з показників степеня h, при якому коефіцієнти розкладів (7.11) і (7.15) рівні між собою, називають порядком точності наближеного методу. Отже, якщо порядок точності наближеного методу дорівнює s, то це означає, що в розкладах (7.11) і (7.15) коефіцієнти a1=y'k, a2= y''k, аз = y'''k,.... але аs+1y(s+1)k\

Зазначимо, що похибка методу на одному кроці інтегрування завжди має порядок на одиницю більший, ніж порядок точності методу. Тому порядок точності методу Ейлера дорівнює одиниці, бо похибка методу на одному кроці має порядок h2, а порядок точності удосконаленого метода Ейлера дорівнює двом, бо порядок похибки цих методів на одному кроці h3.

Формули РунгеКутта першого порядку точності. Нехай функція f(x,y) в околі точки (xk, yk) має неперервні частинні похідні першого порядку. Тоді розв'язок у(х) задачі Коші в околі точки хk матиме неперервні похідні до другого порядку включно. Тому для досить малих значень h у точці xk+1= x k+h його можна подати за степенями h, врахувавши (7.12), так:

У(хk+1) = y(xk)+hf(xk,yk) + 0(h2). (7.11)

формули Рунге—Кутта першого порядку точності будуватимемо в такому вигляді:

yk+1=yk+w1k1 (7.16)

де k1 =hf(xk,yk), а wi — невідомий параметр. Розклавши за степенями h праву частину виразу (7.16), матимемо

yk+1=yk+hf(xk,yk)w1 (7.17)

Прирівнявши між собою коефіцієнти при h у формулах (7.11) і (7.17), знаходимо wl=1. Підставивши це значення w1 в рівність (7.16), впевнюємося в тому, що формулою Рунге—Кутта першого порядку точності (s=1) є формула Ейлера. Похибка цього методу yk+1-yk на кожному кроці є величиною порядку h2.

Формули РунгеКутта другого порядку точності Нехай функція f(x у) в околі точки k,yk) має неперервні частинні похідні до другого порядку включно. Тоді розв'язок у(х) задачі Коші (7.1)-(7.2) в околі точки xk матиме неперервні похідні до третього порядку включно. Тому для досить малих значень h у точці xk+1= x k+h його можна подати у вигляді такого розкладу за степенями h

y(xk+1)=y(xk)+hy'(xk)+ y"( )+O(h3). (7.18)

Формули Рунге—Кутта другого порядку точності (s = 2) шукатимемо в такому вигляді:

yk+1=yk+w1k1 +w2k2 . (7.19)

де

k1=hf(xk,yk). (7.20)

k2= hf(xk+ a2h, yk+β21+k1 ). (7.21)

a w1,w2,a2 і β21 — невідомі параметри, які визначають так, щоб (7.19) була формулою другого порядку точності (s =2), тобто, щоб коефіцієнти в розкладах (7.18) і (7.19) за степенями h були рівними між собою при h і h2.

Функції k1 і k2 розкладають за степенями h так:

k1=hfk

k2 = hfk+a2 h 2 + h2 β21 + 0(h3).

Підставивши ці розклади k1 і k2 в (7.19), дістанемо розклад за степенями h (залишимо лише члени, пропорційні h2) виду:

yk+1=yk+h( w1 +w2) fk + h 2 (w2a2 + w2 β21 )+ 0(h3). (7.22)

Прирівнявши коефіцієнти при hfk, h 2 , h2 у формулах (7.18) і (7.22), для визначення чотирьох невідомих параметрів w1, w2, a2 і β21 дістанемо алгебраїчну систему трьох рівнянь вигляду

(7.23)

З системи (7.23) видно, що w2≠0, 2≠0, β21≠0 і 221. Вона має нескінченну множину розв'язків, що залежить від одного параметра, причому кожний її розв'язок дає формули Рунге—Кутта другого порядку точності.

Якщо покласти w2= , тоді w1= , 221= , а формули (7.19)-(7.21) набирають вигляду

yk+1=yk+ (k1 +3k2),

k1=hf(xk,yk), k2= hf(xk+ h, yk+ k1 ).

Методи РунгеКутта четвертого порядку точності (s=4) можна побудувати аналогічно до попередніх, хоча це вимагатиме громіздкіших викладок і розв'язування нелінійної системи алгебраїчних рівнянь І складнішої структури. Похибка цих методів на кожному кроці інтегрування є величиною порядку h5. Самі формули мають вигляд

yk+1=yk+ (7.24)

Де

k1 = hf(xk, yk),

k2 = hf(xk + a2h, yk + β21k1),

kз = hf(xk + a3h, yk + β31k1+ β32k2), (7.25)

k4= hf(xk + a4h,. yk + β41k1+ β42k2+ β43k3).

До цих формул входять 13 невідомих параметрів wi, ai, βij .

Доведено, що існує нескінченна множина формул виду (7.24), (7.25), яка залежить від двох довільних дійсних параметрів і має четвертий порядок точності.

Обмежимось такими окремими прикладами формул, що належать до цієї множини:

1.

yk+1=yk+ (k1 +2k2+2k3+k4)) .

k1=hf(xk,yk).

k2= hf(xk+ h, yk+ k1 ). (7.26)

k3= hf(xk+ h, yk+ k2 ).

k4= hf(xk+ h, yk+k3 ). .

Цю формулу найчастіше використовують в обчислювальній практиці. З геометричної точки зору формули (7.26) інтегральну криву задачі (7.1)-(7.2) на відрізку [xk, xk+1] замінюють відрізком прямої, яка проходить через точку (xk, ,yk) і утворює з додатним напрямом осі Ох кут .

На закінчення зазначимо, що розглянуті вище методи Рунге—Кутта застосовують також до нормальних систем диференціальних рівнянь першого порядку. Німецький математик Р.Цурмюль узагальнив методи Рунге—Кутта на випадок диференціальних рівнянь другого, третього і вищих порядків.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]