Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практика ММПС.doc
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
8 Мб
Скачать
☆

Розв’язання систем нелінійних алгебраїчних рівнянь з багатьма змінними

Система n нелінійних (алгебраїчних чи трансцендентних) рівнянь з n невідомими в загальному випадку може бути записана так:

.

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

Метод Ньютона грунтується на введені матриці Якобі – матриця перших частинних похідних функцій за змінними причому функції є безперервно диференційованими. Якщо матриця не є виродженою, то система має єдине рішення. Вибирається вектор початкових наближень і вирішується лінійна система: , де – вектор-функція нелінійної системи рівнянь; – вектор помилок для k-ої ітерації; – вектор, що є рішенням системи. Наступне наближення обчислюється за формулою: . Ітераційний процес припиняється якщо виконується умова для кожного .

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

У методі Зейделя початкову систему нелінійних рівнянь замінюють еквівалентною . Задаються початкові наближення і здійснюється ітераційний процес Зейделя, аналогічний однойменному процесу вирішення СЛАР:

,

тобто вже обчисленні наближення невідомих використовуються при обчисленні . В якості критерію припинення ітераційного процесу може бути використана умова: , де  – задана точність обчислень. Обчислення за методом Зейделя достатньо прості. Однак отримання системи , еквівалентній початковій з одночасним забезпеченням збіжності, є складною задачею. Ітераційний процес збігається за умови:

.

Розв’язання диференціальних рівнянь

Більшість технічних систем і технологічних процесів описуються диференціальними рівняннями або системами диференціальних рівнянь високого порядку, аналітичний розв’язок яких досить ускладнений. У таких випадках для одержання розв’язку доцільним є застосування числових методів моделювання [5, 8].

Усі відомі числові методи поділяються на дві групи: однокрокові та багатокрокові. Серед однокрокових найбільш поширені метод Ейлера, Гюна, метод рядів Тейлора, Рунге-Кутта, модифікований метод Ейлера-Коші. На практиці широкого застосування набули багатокрокові методи прогнозу-корекції, а саме метод Адамса-Бешфорса-Маултона, Мілна-Сімпсона та метод Хемінга [8].

Розглянемо особливості деяких методів та характерні для них рекурентні формули на прикладі розв’язання задачі Коші на інтервалі з початковою умовою .

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

Рекурентні співвідношення для наближеного розв’язання диференціального рівняння за допомогою методу Ейлера мають наступний вигляд:

, для . (2.11)

Рекурентні формули методу Гюна:

(2.12)

Наближений числовий розв’язок задачі Коші на інтервалі за допомогою методу Тейлора отримують, використовуючи на кожному підінтервалі розкладання функції y(t) у ряд Тейлора порядку N поблизу фіксованої точки . Загальна формула для методу Тейлора порядку N має вигляд:

, (2.13)

де для j=1, 2, ..., N на кожному кроці k=0, 1, …, M.

Метод Рунге-Кутта 4-го порядку за точністю подібний до методу рядів Тейлора порядку N=4. Метод ґрунтується на розрахунку за допомогою наступного рекурентного співвідношення:

(2.14)

де

(2.15)

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

Метод прогнозу-корекції Адамса-Бешфорса-Маултона (Adams-Bashforth-Moulton) – це багатокроковий метод, отриманий з фундаментальної теореми аналізу:

. (2.16)

Прогноз використовує наближення поліномом Лагранжа для функції , побудованою за точками . Це функція, що інтегрується на інтервалі . Процес, що породжує прогноз Адамса-Бешфорса, має вигляд:

(2.17)

Коректор можна отримати за аналогією. Наступний поліном Лагранжа для функції будується за точками і новою точкою . Шляхом інтеґрування на відрізку отримується коректор Адамса-Маултона:

. (2.18)

Інша найбільш поширена схема “прогноз-коректор” відома під назвою методу Мілна-Сімпсона. Прогноз методу ґрунтується на інтегруванні функції на інтервалі :

. (2.19)

Прогноз використовує наближення поліномом Лагранжа для , побудованим за точками і . Прогноз Мілна отримується після інтеґрування функції на інтервалі :

(2.20)

Коректор отримуємо за допомогою побудови полінома Лагранжа для функції за точками , і новою точкою , результатом інтегрування якого на відрізку є відома формула Сімпсона:

(2.21)

ПРИКЛАДИ РОЗРАХУНКУ

1. Розв’язати систему лінійних рівнянь за допомогою методу виключення Гауса з вибором головного елемента.

Розв’язок

Для отримання трикутної системи лінійних рівнянь перший рядок помножений на віднімаємо від другого рядку.

Обчислена трикутна система матиме вигляд:

За допомогою зворотної підстановки отримаємо значення x1, x2:

;

.

2. Знайти розв’язок лінійної системи за допомогою ітераційних методів Якобі і Гауса-Зейделя для початкового наближення .

Розв’язок

Матриця коефіцієнтів вихідної системи є суворо діагонально домінуючою, тому що виконуються умова (2.9): ; ; і має єдиний розв’язок . Оскільки матриця коефіцієнтів A суворо діагонально домінуюча, то ітераційні формули методів Якобі і Гауса-Зейделя збігатимуться.

Для вихідної систему ітераційні формули Якобі матимуть вигляд:

Підставимо у праву частину кожної ітераційної формули Якобі для отримання нових значень:

Нова точка ближче до точного розв’язку ніж початкова точка . У табл. 2.3 наведена послідовність точок , що збігаються до точного розв’язку і отримані за допомогою методу Якобі.

Таблиця 2.3 – Результати ітераційного процесу Якобі

k

xk

yk

zk

0

1.0

2.0

2.0

1

1.75

3.375

3.0

2

1.84375

3.875

3.025

3

1.9625

3.925

2.9625

4

1.99062500

3.97656250

3.00000000

5

1.99414063

3.99531250

3.00093750

15

1.99999993

3.99999985

2.99999993

19

2.00000000

4.00000000

3.00000000

З табл. 2.3 видно, що після 19 кроків ітерація Якобі збігається до точного розв’язку з дев’ятьма значимими цифрами (2.00000000; 4.00000000; 3.00000000).

Ітеративний процес Гауса-Зейделя для заданої лінійної системи матиме вигляд:

Підставимо в першу ітераційну формулу Гауса-Зейделя і отримаємо:

Потім зробимо підстановку у другу формулу:

Підстановка в останню ітераційну формулу дає:

Нова точка ближче до точного розв’язку ніж початкова точка і ліпше за точку, яка отриману за допомогою методу Якобі. У табл. 2.4 наведена послідовність точок , що збігаються до точного розв’язку і отримані за допомогою методу Гауса-Зейделя.

Таблиця 2.4 – Результати ітераційного процесу Гауса-Зейделя

k

xk

yk

zk

0

1.0

2.0

2.0

1

1.75

3.75

2.95

2

1.95

3.96875

2.98625

3

1.995625

3.99609375

2.99903125

8

1.99999983

3.99999988

2.99999996

9

1.99999998

3.99999999

3.00000000

10

2.00000000

4.00000000

3.00000000

Порівняльний аналіз табл. 2.3. і 2.4 показує, що метод Гауса-Зейделя дозволяє отримати розв’язок вихідної системи на 9 кроків швидше ніж метод Якобі.

3. Знайти розв’язок нелінійного рівняння на інтервалі [0; 2] за допомогою методу поділу навпіл.

Розв’язок

Пошук розв’язку нелінійного рівняння полягає в знаходженні нульового значення функції . Розпочнемо з a0=0, b0=2 й обчислимо , . Функція має протилежний знак, тому корінь рівняння знаходиться на інтервалі [0; 2].

Координати середньої точки – с0=1 і . Функція змінює знак на інтервалі [с0; b0]= [1; 2], тому далі виконується зміщення вліво – знаходяться межі інтервалу a1=c0, b1=b0 для наступного кроку. На наступній ітерації середня точка дорівнює с1=1.5, а . З аналізу значень і видно, що розв’язок рівняння знаходиться на інтервалі [a1; c1]= [1.0; 1.5]. Наступним кроком є зміщення вправо – a2=a1, b2=c1. Таким чином, отримуємо послідовність точок , яка сходиться до значення , що є розв’язком нелінійного рівняння . Приклад розрахунків наведений у табл. 2.1.

Таблиця 2.1 – Розв’язання нелінійного рівняння методом поділу навпіл

k

Ліва межа, ak

Середня точка, сk

Права межа, bk

Значення функції, f(ck)

0

0

1

2

-0.158529

1

1.0

1.5

2.0

0.496242

2

1.00

1.25

1.50

0.186231

3

1.000

1.125

1.250

0.015051

4

1.0000

1.0625

1.1250

-0.071827

5

1.06250

1.09375

1.12500

-0.028362

6

1.093750

1.109375

1.125000

-0.006643

7

1.1093750

1.1171875

1.1250000

0.004208

8

1.10937500

1.11328125

1.11718750

-0.001216

4. Знайти розв’язок нелінійного рівняння за допомогою методу хорд, починаючи з і .

Розв’язок

Знайдемо точний розв’язок вихідного нелінійного рівняння за допомогою методу хорд. Розрахунок почнемо з точок і .

У даному випадку ітераційна формула методу хорд матиме вигляд:

.

Послідовність ітерацій наведена в табл. 2.2, з якої видно що метод хорд сходиться до точного розв’язку після восьми кроків.

Таблиця 2.2 – Розв’язання нелінійного рівняння методом хорд

k

0

-2.600000000

0.200000000

0.600000000

1

-2.400000000

0.293401015

0.400000000

2

-2.106598985

0.083957573

0.106598985

3

-2.022641412

0.021130314

0.022641412

4

-2.001511098

0.001488561

0.001511098

5

-2.000022537

0.000022515

0.000022537

Продовження таблиці 2.2

6

-2.000000022

0.000000022

0.000000022

7

-2.000000000

0.000000000

0.000000000

5. Знайти розв’язок нелінійної системи за допомогою методу Ньютона з точністю і початковим наближенням .

Розв’язок

Для вихідної нелінійної системи рівнянь вектор-функція і матриця Якобі відповідно матимуть вигляд:

; .

Значення і у точці :

; .

У результаті отримаємо систему лінійних рівнянь:

.

Рішенням лінійної системи є вектор помилок .

Наступна точка ітерації дорівнює:

.

Наступні точки обчислюються за аналогією. Результати розрахунків наведені у табл. 2.5.

Таблиця 2.5 – Розв’язання системи нелінійних рівнянь методом Ньютона

k

Рішення лінійної системи

0

1

2

З табл. 2.5 видно, що вектор є наближеним розв’язком вихідної нелінійної системи рівнянь, оскільки кожен елемент вектора помилок на третій ітерації менший за значення .

6. Знайти наближений розв’язок диференціального рівняння на інтервалі [0; 3] з початковою умовою за допомогою методу Тейлора для N=4 і різної довжини кроку .

Розв’язок

Продиференціюємо рівняння за змінною t для отримання похідних вищого ступеня:

;

;

;

.

Для знаходження y1 необхідно обчислити значення знайдених похідних у точці :

;

;

;

.

Потім похідні підставляються у (2.12) з кроком, наприклад, рівним і розраховується значення y1:

.

Таким чином, знайдена точка з координатами .

Значення y2 визначається за допомогою обчислення похідних у точці :

;

;

;

;

Наступна точка має координати . Аналогічним чином обчислюються координати інших точок. В табл. 2.6 наведені значення y для вибіркових абсцис і заданих кроків h.

Таблиця 2.6 – Результати розрахунків методом Тейлора з різним кроком

0

1.0

1.0

1.0

0.125

0.25

0.8974915

0.375

0.50

0.8364258

0.8364037

0.75

0.8118696

1.00

0.8203125

0.8196285

0.8195940

1.50

0.9171423

0.9171021

2.00

1.1045125

1.1036826

1.1036408

2.50

1.3595575

1.3595168

3.00

1.6701860

1.6694308

1.6693928

ЗАВДАННЯ ДЛЯ РОЗРАХУНКУ

1. Розв’язати систему лінійних рівнянь за допомогою методу виключення Гауса з вибором головного елемента.

2. Розв’язати систему лінійних рівнянь з використанням формул Крамера.

3. Знайти розв’язок лінійної системи за допомогою ітераційних методів Якобі і Гауса-Зейделя для початкового наближення .

4. Знайти розв’язок нелінійного рівняння на інтервалі за допомогою методу поділу навпіл.

5. Знайти розв’язок нелінійного рівняння на інтервалі за допомогою методу Ньютона.

6. Знайти розв’язок нелінійного рівняння за допомогою методу хорд, починаючи з і .

7. Знайти розв’язок нелінійної системи за допомогою методу Ньютона з точністю і початковим наближенням .

8. Знайти наближений розв’язок диференціальних рівнянь , на інтервалі [0; 2] з початковою умовою за допомогою методів Тейлора (для N=4) та Гюна відповідно, при різній довжині кроку .

9. Знайти наближений розв’язок диференціального рівняння на інтервалі [0; 2] з початковою умовою за допомогою методу Мілна-Сімпсона з довжиною кроку , де початкові значення обчислюються за допомогою методу Рунге-Кутта.

Примітка: для виконання завдання необхідно мати уявлення про процедуру розв’язання лінійних і нелінійних рівнянь та їх систем методами поділу навпіл, хорд, Ньютона, виключення Гауса, Якобі, Гауса-Зейделя; уміти користуватися рекурентними формулами числових методів для розв’язання диференціальних рівнянь. Відповіді на ці питання можна знайти в [2, с. 387-437; 7, с. 12-23; 8, с. 54-210, с. 461-536; 11, с. 96-101; 12, с. 50-59].