Явний нелінійний метод Федули першого порядку 0,150047
Неявний метод BDF п'ятого порядку 0,156484
Як свідчать дані табл. 10.2, явний нелінійний метод Федули більш точний, ніж неявний метод Ейлера. У разі розв'язування нелінійного рівняння його точність наближається до точності неявних методів другого порядку.
10.10.2. Явний нелінійний метод другого порядку
Існує явна формула Глинського другого порядку для розв'язання жорсткого диференціального рівняння:
якщо
якщо
(10.63)
Стійкість цієї формули можна довести, розглядаючи дві сусідні ітерації, на яких для модельного рівняннямає виконуватися така умова:
(10.64)
Використовуючи модельне рівняння, перетворимо вираз (10.63):
(10.65)
Проаналізувавши знаменник формули (10.65), переконаємося:
♦ якщото і умова (10.64) виконується;
♦ якщо то і умова (10.64) все ж виконується;
♦ якщо то, коли досягається мінімальне значення знаменника виразу (10.65), рівне 3/4, у результаті чого і умова (10.64), як і раніше, виконується.
Приклад 10.7
Розв'яжіть систему рівнянь
методом Глинського в разі обчислень із кроком
Неважко бачити, що власні значення матриці Якобі відповідно Тому за обраного кроку явні методи не забезпечують збіжності розв'язку цієї системи, оскільки згідно з виразом (10.2) коефіцієнт жорсткості Пакет Mathematica дозволяє знайти точний розв'язок системи диференціальних рівнянь за допомогою оператора DSolve:
Отримаємо розв'язок у вигляді:
і обчислимо значення змінних для двох моментів часу (табл.10.3):
Таблиця 10.3. Результати оцінки точних значень змінних
Враховуючи початкове значення y(0) = -1, на основі даних таблиці робимо висновок, що вже протягом першого кроку t= 0,05 «швидка» змінна y(t) зменшується майже до нуля, в той час як «повільна» змінна х(t) майже не змінюється. Програмна реалізація методу Глинського в пакеті Mathematica набуває такого вигляду:
Отримані результати зведені в табл. 10.4.
Таблиця 10.4. Оцінки значень змінних
Результати в таблиці свідчать про те, що коли явні лінійній методи зовсім непрацездатні, явний нелінійний метод Глинського працює бездоганно і забезпечує збіжність розв'язку, хоча й з невеликою точністю (кілька відсотків) через високе значення вибраного кроку.
На жаль, спроби побудувати явні нелінійні методи більш високого порядку не дали вражаючих результатів, оскільки необхідний для них обсяг обчислень перевищує той, що потрібний для реалізації звичайних неявних методів, розглянутих у цьому розділі.
10.11. Засобирозв'язанняжорсткихзадач упакетіMathematica
У пакеті Mathematica існує можливість настроїти стандартну операцію NDSolve на використання неявних методів BDF Брайтона (10.27) і (10.28) з автоматично змінюваними порядком методу — від першого до п'ятого — і кроком обчислення. Наприклад, розв'язання задачі з прикладу 10.4 , to=0, y0=1 в інтервалі [0, 0,5] і знаходження значення у(0,4) виконується у такий спосіб:
Це значеннябуло використане раніше в табл. 10.2.
Знайдемо також розв'язок жорсткої задачі з прикладу 10.5:
методом BDF і знайдемо значення x(0,5) і y(0,5).
Для цього запишемо і виконаємо таку послідовність операцій:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.