3. Опис використовуваного методу

 

Для рішення системи диференціальних рівнянь обрана неявна схема Адамса 3-го порядки, як одна з найбільш точних схем для рішення задачі Коші. Щоб прийти до неявної схеми Адамса, замінимо вираження в рівнянні:

 (3.1)

інтерполяційним багаточленом Ньютона 2-го порядки, виду:

 (3.2)

Після інтегрування отриманого вираження на інтервалі , приходимо до рівняння неявної схеми Адамса 3-го порядки:

. (3.3)

Дана схема не дозволена явно відносно , тому спочатку необхідно обчислити  будь-яким підходящим методом, наприклад методом Рунге-Кутта четвертого порядку. Потім для знаходження  потрібно використовувати метод простої ітерації:

, (3.4)

де s=1,2,3,… – номер ітерації. Умова виходу із циклу ітераційної процедури:


, (3.5)

де? – задана погрішність.

Початкове наближення задається формулою для явної схеми Адамса 2-го порядки:

. (3.6)

Схема стійка, сходиться швидко. Найчастіше досить однієї ітерації. Порядок погрішності? (h) неявної схеми Адамса третього порядку дорівнює чотирьом.

4. Опис блок-схеми алгоритму

 

При розробці програми були побудовані блок-схеми алгоритму програми, що спрощують процес проектування й полегшують розуміння вихідного коду готової програми (див. Додаток 1).

Блок-схема алгоритму умовно розбита на 11 блоків.

Головна функція програми відповідає за обробку події створення форми, взаємодія зі стандартним компонентом Tсhart, а також за реалізацію рішення системи диференціальних рівнянь неявною схемою Адамса 3-го порядки. Блок-схема алгоритму рішення задачі Коші розбитий умовно на 35 блоків:

1-й блок відповідає за ручне уведення інтервалу [a, b], на якому шукається рішення системи; кількості кроків сітки nx; крок висновку результатів на екран np; рядків u1 і v1, що відповідають рівнянням системи; значення шуканих функцій на початку заданого інтервалу; припустима погрішність e.

У другому блоці відбувається обчислення кроку h і установка поточного вузла на x=a. Блок 3 – функція перетворення вихідних записів рівнянь системи в рівносильні їм рядка з формою записом математичних операцій (див. далі «алгоритм зворотного польського запису»). Як аргументи функції виступають уведені раніше рядка u1 і v1.

Блоки 4–15 – розрахунок перших 2-х крапок заданої сітки методом Рунге-Кутта 4-го порядку. У даних блоках і далі використовується користувальницька функція FPR, що розраховує значення рівнянь, що вводяться користувачем, у вузлах заданої сітки. Як аргументи функції виступають: уже перетворені у зворотний польський запис рядка, що задають рівняння системи; поточне значення x; значення шуканих функцій на попередньому кроці (умовно позначаємо ).

У блоках 16–34 у циклі (16) розраховуються значення шуканих рішень у вузлах 2-nx заданої сітки неявною схемою Адамса 3-го порядки. Цикл 21–29 здійснює ітераційну процедуру неявної схеми. Умова виходу із цього циклу – виконання нерівності de<e, де de – найбільший з модулів , e – задана точність. Оскільки на екран виводяться значення шуканих функцій не у всіх вузлах, а тільки у вузлах з номером, кратним кроку висновку nx, що вводиться із клавіатури, то блоки 33–34 здійснюють вибір цих вузлів.

Перетворення у зворотний польський запис відбувається за наступними правилами:

Розглядаємо по черзі кожний символ:

1. Якщо цей символ – число (або змінна), то просто поміщаємо його у вихідний рядок.

2. Якщо символ – знак операції (+, -, *, /,^), то перевіряємо пріоритет даної операції. Операція піднесення в ступінь має найвищий пріоритет (дорівнює 4). Операції додавання й вирахування мають менший пріоритет (дорівнює 2). Найменший пріоритет (дорівнює 1) має відкриваюча дужка.

Одержавши один із цих символів, ми повинні перевірити стек:

а) Якщо стік усе ще порожній, або символи, що перебувають у ньому (а перебуває в ньому можуть тільки знаки операцій і відкриваюча дужка) мають менший пріоритет, чим пріоритет поточного символу, те поміщаємо поточний символ у стек.

б) Якщо символ, що перебуває на вершині стека має пріоритет, більший або дорівнює пріоритету поточного символу, те витягаємо символи зі стека у вихідний рядок доти, поки виконується ця умова; потім переходимо до пункту а).


Информация о работе «Рішення систем диференціальних рівнянь за допомогою неявної схеми Адамса 3-го порядку»
Раздел: Математика
Количество знаков с пробелами: 26806
Количество таблиц: 2
Количество изображений: 9

Похожие работы

Скачать
27789
1
13

... vn-1 і vn-2. Замітимо, що метод предиктора-коректора не являється самостартуючим. 3. Метод Рунге-Кутта Для пояснення методу Рунге-Кутта подивимось спочатку розв’язок диференціального рівняння першого порядку (27) Метод Рунге-Кутти другого порядку для розв’язку рівняння (27) модна, використовуючи стандартні значення, записати наступним чином: (28) ...

Скачать
75610
0
0

... дощ?—отримаємо таку загальну відповідь:—і корисний, і шкідливий; або: плоска чи сферична поверхня Землі? Відповідь — і плоска, і сферична. Звернемося для прикладу до оцінки відомого вчинку гетьмана України І. Мазепи російським імператором Петром І у листі до полтавського полковника після одержання звістки про виступ Мазепи проти Москви: “Изменник, богоотступник, вор. . . для собственной своей ...

Скачать
146069
20
0

... ії професійного самовдосконалення за допомогою чинника "Мотиваційна тренінгові програма". Завданням даного дослідження є розгляд наступних аспектів у вивченні питання діагностики та формування у співробітників органів внутрішніх справ мотивації професійного самовдосконалення: теоретичні питання вивчення мотивації професійної діяльності; методичні положення вивчення та формування мотивації професі ...

Скачать
99892
0
3

... повинен увійти в шкільний курс фізики. Безперечно в курс потрібно включати ті питання історії, які в найбільшій мірі допомагають вирішенню завдань, які постають перед навчанням фізики. Звичайно, питання історії, що включаються в курс фізики, повинні бути тісно пов’язані з навчальною програмою і доступні школярам. Але ці положення не дають жорстких критеріїв для відбору історичних відомостей. Перш ...

0 комментариев


Наверх