Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Chiselni_metodi_za_dopomogoyu_Excel.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
8.81 Mб
Скачать

§ 3. Методи Рунге – Кутта

Природно запитати: якщо в рекурентній формулі удосконаленого методу Ейлера

уk + ½ = уk + fk; уk); уk+1 = уk + fk + ; уk + ½)h замість записати : уk + = уk + fk; уk); уk+1 = уk + fk + ; уk + )h, то це теж призведе до значного збільшення швидкості у порівнянні з методом Ейлера? Виявляється, що ні, тобто вибір параметру α = ½, а не α = ⅓ є вирішальним. Загальна відповідь на питання про найкращі параметри заснована на наступних формулах Рунге – Кутта.

У найбільш загальному вигляді задача ставиться так. Нехай відомим є значення yk = у(хk) розв’язку задачі Коші (1) в довільній точці хk, h – крок інтегрування, треба наближено обчислити у(хk+1) – точне значення розв’язку в наступній точці хk+1 = хk + h. В процесі обчислень фіксовані деякі числа (параметри) p1 , … , pq, α2 , …, αq, βij 0 < j < i ≤ q. Тоді

Означення 3. Формули для обчислення наближеного значення уk+1 розв’язку в точці хk+1

уk+1 = yk + , де

w1(h) = h f(xk,yk), w2(h) = h fk + α2h, yk + β21w1(h)),

…………………………………………………………………………………

wq(h) = h f(xk + αqh, yk + βq1w1(h) + βq2w2(h) + … + βqq-1wq-1(h))

називають формулами Рунге – Кутта. Відповідні ітераційні методи за цими рекурентними формулами називають методами Рунге – Кутта.

У цих формулах враховані практично всі можливі удосконалення методу Ейлера і треба так підібрати параметри, щоб збіжність відповідного методу була найшвидша можлива. Спочатку надамо точного змісту словам про найшвидшу збіжність методу. Величина φk+1(h) = уk+1 – у(хk+1) = yk + – у(хk + h) – це похибка наближеного значення уk+1 в точці хk+1. Якщо f(x, y) є достатньо гладкою функцією своїх аргументів, то w1(h), w2(h), … , wq(h) і φk+1(h) – такі ж гладкі функції свого аргументу h.

Означення 4. 1. Величину φk(h) = уk+1 – у(хk+1) = yk + – у(хk + h) називають похибкою методу Рунге – Кутта на кроці.

2. Якщо при даних фіксованих параметрах φk(0) = φk´(0) = … = φk(s)(0) = 0 для всіх достатньо гладких f(x, y), що визначають відповідну задачу Коші (1), а φk(s+1)(0) ≠ 0 для деякої гладкої f(x, y), то натуральне число s називають порядком точності методу.

Іншими словами, s є порядком точності методу, якщо похідні наближення уk+1 = yk + завжди співпадають з похідними точного розв’язку у(хk + h) при h = 0 до порядку s включно, а похідні порядку s + 1 для деяких задач Коші (1) уже не рівні між собою. Згідно з формулою Тейлора

φk(h) = hi + hs+1 = hs+1 (0 < θ < 1). (4)

Отже, hs+1 ≤ φk(h) ≤ hs+1, тобто величина похибки методу на кроці має порядок s + 1: φk(h) = О(hs+1). Але з переходом від кроку до кроку ця похибка систематично зростає і на відрізку завдовжки одиниця сумарна похибка методу є O(hs), оскільки ітерацій з кроком інтегрування h на такому відрізку порядку . Таким чином, порядок точності методу завжди на одиницю менший, ніж порядок його похибки на кроці. Так порядок точності методу Ейлера дорівнює одиниці, бо на одному кроці похибка цього методу має порядок h2, а порядок точності удосконаленого методу Ейлера дорівнює двом, оскільки на одному кроці похибка цього методу має порядок h3.

Очевидно, що збіжність методу буде найшвидшою, якщо порядок його точності буде найбільшим. Отже, наша мета – так підібрати параметри, щоб порядок точності виявився найбільшим можливим.

При q = 1 маємо лише один параметр p1 (оскільки для βij 0 < j < i ≤ q, звідки при q = 1 0 < j < 1, а такого натурального j не існує). Тому уk+1 = yk + p1w1(h) = yk + p1h f(xk,yk), φk(h) = уk+1 – у(хk+1) = yk + p1h f(xk,yk) – у(хk + h). Звідси φk(0) = 0; φk´(0) = p1 f(xk, yk) – у´(хk + h)׀h=0 = (p1 – 1) f(xk,yk), оскільки у´(хk + h)׀h=0 = у´(хk) = f(xk,yk); φk´´(0) = – у´´(хk). Очевидно, що рівність φk´(0) = 0 для всіх f(xk,yk) буде виконана лише за умови, що p1 = 1. За такої умови уk+1 = yk + h f(xk,yk), що співпадає з (1), тобто це формула методу Ейлера. Отже,

Висновок 1. 1) Метод Ейлера – це метод Рунге – Кутта з q = 1.

2) Метод Рунге – Кутта з q = 1 має перший порядок точності тоді і тільки тоді, коли це метод Ейлера.

3) Похибка методу Ейлера на кроці має вигляд φk(h) = – у´´(хk + θh)h2 (0 < θ < 1).

Пункт 3) випливає безпосередньо з (4), оскільки, очевидно, φk´´(h) = – у´´(хk + h), звідки φk´´(θh) = – у´´(хk + θh).

Розглянемо тепер випадок q = 2. Тоді маємо чотири параметри: p1, p2, α2, β21. Тому уk+1 = yk + p1w1(h) + p2w2(h) = yk + p1h f(xk, yk) + p2h f( , ), де = xk + α2h, = yk + β21h f(xk, yk), φk(h) = уk+1 – у(хk+1) = yk + p1h f(xk, yk) + p2h f( , ) – у(хk + h), звідки φk(0) = 0. Обчислимо похідні функції φk(h).

φk´(h) = p1 f(xk, yk) + p2 f( , ) + p2h ( + ) – у´(хk + h) = p1 f(xk, yk) + p2 f( , ) + p2h ( α2 + β21 f(xk, yk)).

Звідси, оскільки ׀h=0 = xk, ׀h=0 = yk, у´(хk) = f(xk, yk), то φk´(0) = p1 f(xk, yk) + p2 f(xk, yk) – у´(хk) = p1 f(xk, yk) + p2 f(xk, yk) – f(xk, yk) = (p1 + p2 – 1) f(xk, yk).

Отже, рівність φk´(0) = 0 для всіх f(xk,yk) буде виконана лише за умови, що p1 + p2 – 1 = 0.

φk´´(h) = 2p2 ( α2 + β21 f(xk, yk)) + p2h ( α2 + β21 f(xk, yk)) – у´´(хk + h). Звідси, оскільки ׀h=0 = xk, ׀h=0 = yk, то

φk´´(0) = 2p2 ( α2 + β21 f(xk, yk)) – у´´(хk).

Але у´´(хk) = (у´(хk))´ = f(x, y(х))x = xk, y = yk = + у´(хk) = + f(xk, yk). Звідси

φk´´(0) = 2p2 ( α2 + β21 f(xk, yk)) – ( + f(xk, yk)) = (2p2α2 – 1) + f(xk, yk)(2p2β21 – 1) .

Отже, рівність φk´´(0) = 0 для всіх f(xk, yk) буде виконана лише за умов 2p2α2 – 1 = 0, 2p2β21 – 1 = 0. Рівність φk´(0) = 0 для всіх f(xk,yk) виконана за умови, що p1 + p2 – 1 = 0. Рівність φk(0) = 0 виконана автоматично завжди.

Висновок 2. 1) Метод Рунге – Кутта з q = 2 має другий порядок точності (тобто φk(0) = φk´(0) = φk´´(0) = 0) тоді і тільки тоді, коли

p 1 + p2 = 1

p2α2 = (5).

p2β21 =

2) Якщо p2 = 1, то звідси p1 = 0, α2 = β21 = , уk+1 = уk + h f( , ), де = xk + h, = yk + h f(xk, yk). Це рекурентна формула удосконаленого методу Ейлера (3).

(Тут уk + ½ = ). (5) – це система трьох алгебраїчних рівнянь для визначення чотирьох невідомих. Очевидно, p2 ≠ 0, α2 ≠ 0, β21 ≠ 0, α2 = β21 . Вона має нескінчену множину розв’язків, що залежить від одного параметра, і кожний її розв’язок дає формули Рунге – Кутта другого порядку точності. Наприклад, якщо покласти p2 = , то звідси p1 = , α2 = β21 = 1, уk+1 = уk + h(f(xk, yk) + f( , )), де = xk + h, = yk + h f(xk, yk). Такий варіант методу Рунге – Кутта другого порядку точності називають удосконаленим методом Ейлера – Коші.

Апріорні оцінки похибок чисельних наближень уk до точних значень розв’язків у(хk) в точках заданої послідовності хk , які безпосередньо випливають з (4), як правило, значно завищені. Крім того, іноді оцінити значення дуже важко або й неможливо (тоді, наприклад, коли функцію f(xk, yk) задано графічно чи таблично). Всі ці недоліки апріорних оцінок можна усунути, застосувавши метод подвійного перерахунку, який дозволяє отримувати апостеріорні оцінки похибок чисельних наближень так само, як це було зроблено в попередньому розділі.

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