Смекни!
smekni.com

Рішення систем диференціальних рівнянь за допомогою неявної схеми Адамса 3-го порядку (стр. 1 из 4)

Курсова робота

"Рішення систем диференціальних рівнянь за допомогою неявної схеми Адамса 3-го порядку"


Введення

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

Однієї з таких задач є рішення систем диференціальних рівнянь. Звичайними диференціальними рівняннями можна описати поводження матеріальних крапок у силовому полі, закони хімічної кінетики, рівняння електричних кіл і т.д. Ряд фізичних задач може бути зведені до рішення диференціальних рівнянь або системи диференціальних рівнянь. Задача рішення системи диференціальних рівнянь має важливе прикладне значення при рішенні наукових і технічних проблем. Крім того, вона є допоміжною задачею при реалізації багатьох алгоритмів обчислювальної математики, математичної фізики, обробки результатів експериментальних досліджень. Тому для інженерів надто важливо грамотно знаходити рішення цієї задачі.

1. Постановка задачі

Необхідно вирішити із заданим ступенем точності задачу Коші для системи диференціальних рівнянь на заданому інтервалі [a, b]. Домогтися погрішності на другому кінці не більше 0,0001. Результат одержати у вигляді таблиці значень наближеного й точного рішень у крапках заданого інтервалу. Побудувати графіки отриманих рішень і зрівняти їх з точним рішенням.

Вихідні дані:

– система диференціальних рівнянь виду:

– інтервал, на якому шукається рішення: [a, b]

– погрішність, з якої шукається рішення: е

– формулювання задачі Коші в початковій крапці заданого інтервалу:

u(a)=u, v(a)=v

Вихідні дані:

– таблиця значень наближеного й точного рішень у вузлах заданої сітки;

– графіки отриманих і точних рішень.


2. Опис математичних методів рішення задачі

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

(2.1)

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

Перший тип – це задачі Коші, або задачі з початковими умовами. Для таких задач крім вихідного рівняння в деякій крапці a повинні бути задані початкові умови, тобто значення функції u1 (a),…, um(a):

u1 (a)=

,…, um(a)=
(2…2)

До другого типу задач ставляться так звані граничні, або крайові задачі, у яких додаткові умови задаються у вигляді функціональних співвідношень між шуканими рішеннями. Кількість умов повинне збігатися з порядком n рівняння або системи. Якщо рішення задачі визначається в інтервалі x([a, b], то такі умови можуть бути задані як на границях, так і усередині інтервалу.

Третій тип задач для систем диференціальних рівнянь – це задачі на власні значення. Такі задачі відрізняються тим, що крім шуканих функцій u1 (x),…, um(x) у рівняння входять додатково n невідомих параметрів l1, l2,…, ln, які називаються власними значеннями. Для одиничності рішення на інтервалі [a, b] необхідно задати n + m граничних умов.

Розглянемо докладніше задачу Коші. Скористаємося компактним записом задачі (2.1), (2.2) у векторній формі:

(2.3)

Потрібно знайти

на інтервалі [a, b].

Задачу Коші зручніше за все вирішувати методом сіток. Метод сіток полягає в наступному:

1) Вибираємо в області інтегрування впорядковану систему крапок a=x1<x2<…<xn<b, називану сіткою. Крапки xi називають вузлами різницевої сітки, різниця між сусідніми вузлами h=xi-xi-1 – крок сітки. Формула для обчислення кроку рівномірної сітки, заданої на інтервалі [a, b]:

, (2.4)

де nx – кількість вузлів заданої сітки.

2) Рішення

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

Для одержання кінцево-різницевої схеми зручно використовувати метод, відповідно до якого необхідно інтегрувати рівняння (2.3) на кожному інтервалі [xk, xk+1] і розділити отримане вираження на довжину цього інтервалу:

(2.5)

Далі апроксимуємо інтеграл у правій частині однієї із квадратурних формул і одержуємо систему рівнянь щодо наближених невідомих значень шуканих функцій, які на відміну від точних позначимо

. При цьому виникає погрішність?, обумовлена неточністю апроксимації:

ε(h)=||

|| (2.6)

Відповідно до основної теореми теорії методу сіток (теорема Лакса), для стійкої кінцево-різницевої схеми при прагненні кроку h до нуля погрішність рішення прагне до нуля з тим же порядком, що й погрішність апроксимації:

, (2.7)

де З0 – константа стійкості, p – порядок апроксимації.

Тому для збільшення точності рішення необхідно зменшити крок сітки h.

На практиці застосовується множина видів кінцево-різницевих схем, які підрозділяються на одно крокові, багатокрокові схеми й схеми із дробовим кроком.

Одно крокові схеми – Метод Ейлера

Заміняємо інтеграл у правій частині рівняння (2.5) по формулі лівих прямокутників:

(2.8)

Одержимо:

, (2.9)

де k=0,1,2,…, n.

Схема явна стійка. У силу того, що формула для лівих прямокутників має погрішність другого порядку, точність ε(h) першого порядку.

Неявна схема 1-го порядку

Використовуючи формулу правих прямокутників, одержимо:

(2.10)

Ця схема нерозв'язна в явному виді відносно

, тому проводиться ітераційна процедура:

, (2.11)

де s=1,2,… – номер ітерації. Звичайно схема сходиться дуже швидко – 2–3 ітерації. Неявна схема першого порядку ефективніше явної, тому що константа стійкості З0 у неї значно менше.

Метод Ейлера-Коші

Обчислення проводяться у два етапи: етап прогнозу й етап корекції.

На етапі прогнозу визначається наближене рішення на правому кінці інтервалу по методу Ейлера:

(2.12)

На етапі корекції, використовуючи формулу трапецій, уточнюємо значення рішення на правому кінці:

(2.13)

Тому що формула трапецій має третій порядок точності, то порядок погрішності апроксимації – дорівнює двом.

Неявна схема 2-го порядки (метод Ейлера-Коші)

Використовуючи в (2.5) формулу трапецій, одержимо:

(2.14)

Схема не дозволена в явному виді, тому потрібна ітераційна процедура:

, (2.15)

де s=1,2,… – номер ітерації. Звичайно схема сходиться за 3–4 ітерації.

Тому що формула трапецій має третій порядок точності, то погрішність апроксимації – другий.

Схеми із дробовим кроком

Схема предиктор-коректор (Рунге-Кутта) 2-го порядки

Використовуючи в (2.5) формулу середніх, одержимо:


, (2.16)

де

– рішення системи на середині інтервалу [xk, xk+1]. Рівняння явно дозволене відносно
, однак у правій частині присутня невідоме значення
. Тому спочатку рахують
(предиктор):