
- •Основи чисельних методів математики (з використанням Excel) Передмова
- •Розділ 1. Методи обчислень: предмет, основні поняття та застосування
- •§ 1. Предмет і застосування
- •§ 2. Основні поняття
- •1. Похибки наближень.
- •2. Граничні похибки. Похибки функції.
- •3. Похибки розв'язку.
- •4. Стійкість і коректність.
- •Питання, тести
- •Розділ 2. Інтерполяція функцій
- •§1. Задача інтерполювання
- •§2. Інтерполяційна формула Лагранжа
- •§3. Поділені різниці. Формула Ньютона з поділеними різницями
- •§4. Інтерполяційна формула за допомогою Excel
- •§5. Інтерполювання за схемою Ейткіна
- •§6. Скінчені різниці. Інтерполяційні формули Ньютона для рівновіддалених вузлів
- •§7. Інтерполювання із скінченими різницями за допомогою Excel
- •§8. Інші методи інтерполювання
- •Питання, тести
- •Завдання
- •Розділ 3. Чисельне диференціювання та інтегрування.
- •§ 1. Однобічні формули чисельного диференціювання
- •§ 2. Оцінки похибки чисельного диференціювання
- •§ 3. Чисельне інтегрування. Квадратурні формули
- •§ 4. Квадратурні формули Ньютона – Котеса
- •§ 5. Узагальнені квадратурні формули.
- •§ 6. Метод подвійного перерахунку.
- •1. R2n ( f ) ≈ (правило Рунге) (14)
- •§ 7. Метод кратного перерахунку за допомогою Excel
- •Питання, тести
- •Завдання
- •Розділ 4. Чисельні методи розв‘язування рівнянь з однією змінною
- •§ 1. Відокремлення коренів
- •§ 2. Метод дихотомії (поділу відрізка пополам)
- •§ 3. Ітераційні методи та оператор стиску.
- •§ 4. Похибки ітераційного процесу
- •§ 5. Реалізація методу простої ітерації за допомогою електронних таблиць
- •§ 6. Метод Ньютона. Порядок збіжності ітераційного процесу.
- •§ 7. Метод лінійного інтерполювання.
- •§ 8. Інші приклади ітераційних методів.
- •Питання, тести
- •Завдання
- •Розділ 5. Методи розв’язування систем лінійних рівнянь
- •§ 1. Метод Гаусса
- •Метод Гаусса в матричній формі
- •Елементарні операції над матрицею:
- •§ 2. Метод Гаусса за допомогою Excel
- •§ 3. Матричні операції в Excel
- •3. Множення матриць.
- •§ 4. Метод простої ітерації для слр
- •§ 5. Метод Зейделя
- •Питання, тести
- •Завдання
- •Розділ 6. Методи лінійного програмування
- •§ 1. Оптимізаційні задачі. Математичне програмування
- •§ 2. Геометричний зміст задач лінійного програмування. Графічний метод
- •§3. Канонічна форма задачі лінійного програмування. Опорні розв’язки
- •§4. Симплекс – таблиця
- •§5. Симплекс – метод.
- •§6. Розв’язування задач лінійного програмування за допомогою excel
- •§7 Приклади
- •§8. Пошук початкового опорного розв’язку. Метод штучного базису
- •Властивості допоміжної задачі.
- •Питання, тести
- •Завдання
- •Розділ 7. Чисельні методи розв’язування звичайних диференціальних рівнянь
- •§ 1. Метод Ейлера
- •§ 2. Метод Ейлера за допомогою Excel
- •§ 3. Методи Рунге – Кутта
- •§ 4. Подвійний перерахунок для методів Рунге – Кутта
- •§ 5. Кратний перерахунок для методів Рунге – Кутта за допомогою Excel
- •§ 6. Методи Рунге – Кутта з вищими порядками похибки
- •Питання, тести
- •Завдання
- •Іменний покажчик
- •Предметний покажчик
- •Література
§ 4. Метод простої ітерації для слр
Поширені методи розв’язування СЛР можна поділити на дві групи: точні й ітераційні. Точними називають такі методи, які дають змогу знайти точний розв’язок у припущенні, що всі обчислення проводяться без округлень, а коефіцієнти – точні числа. Тобто це такі методи обчислень, які не мають похибки методу. Прикладом точного методу є метод Гаусса, правило Крамера тощо. Ітераційними називають такі методи, які дають змогу знайти тільки наближений розв’язок системи із заздалегідь указаною точністю, хоч самі обчислення можуть проводитись і без округлень. Іншими словами, це методи, де крім похибок округлення треба враховувати також похибку метода.
Проте, у реальних задачах не можливо обійтися без похибок округлення. Ці похибки в точних методах пропорційні кількості операцій, яка швидко зростає із зростанням кількості рівнянь і змінних. В ефективних ітераційних методах існує гранична обчислювальна похибка, яка майже не залежить від порядку рівняння. Крім того, ітераційні методи звичайно мають перевагу в ефективності, швидкості отримання наближеного розв’язку з указаною точністю.
В ітераційних методах (або методах послідовних наближень) завжди формують послідовність хn наближень, де кожне наступне обчислюється з попередніх за певним (рекурентним) правилом; наближення хn збігаються до точного значення розв’язку. Але ж найчастіше в таких методах рівняння чи систему рівнянь F(x) = 0 замінюють еквівалентним х = Ф(х), де Ф(х) – деяка неперервна функція на множині W допустимих значень F. Далі обирають початкове наближення х0 W і послідовно обчислюють наступні наближення: хk = Ф(хk-1), k = 1,2,… . Якщо послідовність хk має границю х*, тобто = х*, то ця границя буде розв’язком рівняння х = Ф(х). Справді, х* = хk = Ф(хk-1) = Ф( хk-1) = Ф(х*). Для кожної функції Ф(х) отримуємо свій ітераційний метод, який іноді називають стаціонарним або методом простої ітерації.
Перехід
від заданої СЛР Ах = b
(А – матриця
СЛР) до еквівалентної форми Ф(х) = 0
виконується практично так само, як і
для рівняння в розділі . Покладемо С =
Е – А, де Е – одинична матриця. Звідси
b = Ах = (Е –
(Е – А))х = (Е – С)х = х – Сх і отже х = Сх
+ b. Тут
функція Ф(х)
= Сх + b є
неперервною на відповідному n
– вимірному просторі L
і визначає деякий ітераційний процес
х = Ф(х). Для довільного початкового х0
L послідовність
наближень хk
= Ф(хk-1),
k = 1,2,… буде збігатися до
границі х*, якщо Ф(х) є стискуючим
відображенням (за
принцип стискуючих відображень Банаха:
теорема 4 розділу ). За
означенням, Ф(х) є стискуючим, якщо для
деякої норми ║ ║ на L
і деякого
числа q < 1 виконується
нерівність ║Ф(х) – Ф(х')║ <
q║x - x'║
при довільних х, х'
L, звідки
║Ф(х) – Ф(х')║ = ║(Сх + b) –
(Cx' + b)║ =
║Cx – Cx'║
= ║C(x – x')║
< q║x - x'║
(тобто якщо ║С║ < q). Тоді
будуть виконуватись і всі наслідки
принципу стискуючих відображень, у тому
числі й оцінки похибок (теорема 6 розділу
). Така норма ║ ║ та таке число q
знайдуться завжди за умовою, що
спектральний радіус С (тобто максимум
модулів власних значень цієї матриці)
не перевищує одиниці. Природним прикладом
СЛР, де можна скористатися такою умовою
є система Ах = b,
для матриці системи A
якої aii
>
.
Такі нерівності виконуються,
наприклад, для матриць теорії інформації,
де діагональні елементи aii
є ймовірністю правильного кодування
повідомлення з номером i,
а aij
з
j
i –
ймовірності обрання
альтернативних помилкових кодів.
Якщо
такі нерівності виконуються для СЛР
Aх = b,
то поділимо кожне рівняння цієї системи
на aii.
Тоді для матриці А' отриманої еквівалентної
системи А'х = b'
діагональні елементи дорівнюють 1, для
матриці С = Е – А' діагональні елементи
дорівнюють нулю, а суми модулів
недіагональних елементів
< 1. Як і
вище, СЛР А'х = b' еквівалентна
рівності х = Ф(х) = Сх + b'.
У якості норми в L
візьмемо
максимум модулів координат вектора:
║х║ = max xj.
Тоді для деякого числа
q
< 1 ║Сx║
< q║x║
при кожному х
L, що означає:
Ф – стискуюче відображення, а ітераційний
процес хk
= Ф(хk-1),
k = 1, 2,
… завжди
буде збігатися при довільному х0
L.
Справді,
нехай di
=
< 1, х =
(х1,
х2, …
, хn)
L. Тоді для вектора y
= Cx маємо
=
= di
di
= di
║x║.
Остання нерівність
випливає з того, що
=
1, а опукла комбінація чисел xj
не перевищує
.
Якщо покласти q =
< 1, то отримуємо ║Cx║
= ║у║ =
q ║x║,
що й потрібно.
Задача
1. Розв’язати
CЛР
методом простої ітерації.
Розв’язання. Оскільки 3,9 > 1,25 + 0,98 , 3,45 > 0,74 + 0,84 , 2,38 > 0,65 + 1,18 , тобто виконана умова aii > , то скористаємося викладеним вище алгоритмом. Запишемо розширену матрицю даної СЛР в електронну таблицю:
|
A |
B |
C |
D |
1 |
3,9 |
1,25 |
-0,98 |
4,905 |
2 |
0,74 |
3,45 |
-0,84 |
6,031 |
3 |
-0,65 |
1,18 |
2,38 |
10,134 |
Поділимо кожний рядок цієї матриці на aii:
|
A |
B |
C |
D |
5 |
=A1/$A$1 |
|
|
|
6 |
|
=В2/$В$2 |
|
|
7 |
|
|
=С3/$С$3 |
|
В результаті отримаємо матрицю системи А' для СЛР А'х = b', еквівалентної даній.
-
A
B
C
D
5
1
0,320513
-0,25128
1,257692
6
0,214493
1
-0,24348
1,748116
7
-0,27311
0,495798
1
4,257983
Наступним кроком знайдемо матрицю С = Е – А'. Для цього спочатку помножимо А' на – 1
|
A |
B |
C |
9 |
= – А5 |
|
|
10 |
|
|
|
11 |
|
|
|
отримавши
|
A |
B |
C |
12 |
-1 |
-0,32051 |
0,251282 |
13 |
-0,21449 |
-1 |
0,243478 |
14 |
0,273109 |
-0,4958 |
-1 |
а потім додамо одиничну матрицю: фактично ж задамо 0 замість – 1 у її діагональних елементах:
|
A |
B |
C |
12 |
0 |
-0,32051 |
0,251282 |
13 |
-0,21449 |
0 |
0,243478 |
14 |
0,273109 |
-0,4958 |
0 |
Тепер застосуємо ітераційний процес хk = Ф(хk-1), k = 1, 2, … , де Ф(х) = Сх + b'; за початкове наближення візьмемо b', яке знаходиться в діапазоні D5:D7: х0 = b'. Cпочатку розташуємо вектор b' у горизонтальному діапазоні А16:С16, тобто транспонуємо його за допомогою відповідного вбудованого оператора Excel. Для цього виділимо цей діапазон і задамо там оператор ТРАНСП(D5:D7). У наступному рядку задамо формули ітераційного процесу хk = Схk-1 + b':
А17 = $А$16 + СУММПРОИЗВ($А$12:$С$12;А16:С16);
В17 = $В$16 + СУММПРОИЗВ($А$13:$С$13;А16:С16);
С17 = $С$16 + СУММПРОИЗВ($А$14:$С$14;А16:С16).
У наступні рядки стовпців А, В, С ці формули треба копіювати (тобто протягувати). В результаті дістанемо:
|
A |
B |
C |
16 |
1,257692 |
1,748116 |
4,257983 |
17 |
1,767353 |
2,515076 |
3,734758 |
18 |
1,390056 |
2,278364 |
3,493693 |
19 |
1,40535 |
2,300597 |
3,508011 |
20 |
1,401822 |
2,300803 |
3,501165 |
21 |
1,400035 |
2,299893 |
3,500099 |
22 |
1,400059 |
2,300017 |
3,500063 |
23 |
1,40001 |
2,300003 |
3,500008 |
24 |
1,400001 |
2,3 |
3,500002 |
25 |
1,4 |
2,3 |
3,5 |
26 |
1,4 |
2,3 |
3,5 |
У правильності отриманого розв’язку тут можна переконатись безпосередньою перевіркою:
|
D |
16 |
= СУММПРОИЗВ($А$26:$С$26;A1:C1) |
17 |
|
18 |
|
звідки
|
D |
15 |
Проверка |
16 |
4,905002 |
17 |
6,031 |
18 |
10,134 |