
- •Основи чисельних методів математики (з використанням 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. Методи Рунге – Кутта з вищими порядками похибки
- •Питання, тести
- •Завдання
- •Іменний покажчик
- •Предметний покажчик
- •Література
§ 8. Інші приклади ітераційних методів.
Все
це зовсім не означає, що метод Ньютона
безумовно краще, ніж метод лінійного
інтерполювання або метод ітерації із
сталим λ; насправді кожен має свої
переваги. Так, наприклад, у методі Ньютона
на відміну від інших методів на кожній
ітерації треба обчислювати значення
похідної, що може виявитись значно
складнішим від обчислення функції. Якщо
похідна мало змінюється на відрізку
ізоляції, то можна спробувати замість
значень f
′(xk)
в ітераціях xk
скористатись значенням f
′(x0)
похідної у точці x0,
тобто xk+1
= xk
–
(k = 0,1,2,…
). Ця формула визначає спрощений
метод Ньютона . Очевидно,
це метод ітерації із сталим λ =
, а тому із лінійною збіжністю. Більш
поширений метод полягає у тому, щоби
похідну замінити її наближеним значенням:
.
Підставивши це наближення у формулу
методу Ньютона, отримуємо xk+1
= xk
–
.
Метод, що визначається такою формулою,
називають методом
січних. Річ у тому, що
наближення xk+1
дістають як абсцису точки перетину осі
Ох і січної, що проходить через точки
(xk-1
; f(xk-1))
та (xk
; f(xk)),
тобто з рівняння
=
,
де покладаємо у = 0.
У всіх
цих методах збіг до кореня монотонний
і з того боку від нього, де f(х)
∙ f′′(х)
>
0. А ітерації методу хорд збігаються з
протилежного боку (див. попередній
розділ). Тому іноді корисно об’єднати
обидва методи і наближатися до кореня
рівняння з двох боків, дістаючи наближення
з недостачею і надлишком одночасно. За
початкове наближення в методі хорд
вибирають точку
де f(а)
∙ f′′(а)
<
0,
а в методі Ньютона – точку
,
де f(b)
∙ f′′(b)
>
0.
y
f′′(x)
> 0
0
x
Рисунок 1.
На
відрізку
застосовують спочатку метод дотичних,
а потім – хорд. У результаті дістають
нові наближення
і початковий відрізок ізоляції кореня
звузився. Для знаходження нових наближень
застосовують метод дотичних і хорд уже
на відрізку
Такий процес продовжують доти, поки
довжина відрізка
стане меншою величини
де
– наперед задана точність кореня.
Формули цього комбінованого методу
Ньютона та лінійного інтерполювання
мають виглядати так:
bk+1
= bk
–
,
аk+1
= ak
–
(k = 0,1,2,… ). (6)
Порівнюючи цю формулу для аk+1 з формулою класичного метода хорд, бачимо тільки одну різницю: на місці нерухомої точки с тут точка bk+1, яка збігається до кореня із швидкістю метода Ньютона. Отже швидкість цього метода повинна бути принаймні не меншою швидкості метода Ньютона. Перевіримо це безпосередньо на прикладі.
Для застосування цього метода необхідно забезпечити наступні передумови.
1. Треба знайти відрізок ізоляції шуканого кореня.
2. Треба забезпечити, щоби на відрізку ізоляції не змінювався знак у f′′(х), зменшуючи при необхідності початковий відрізок.
3. За початкове наближення а можна брати будь – яку точку відрізку ізоляції, у якій виконується умова f(а) ∙ f′′(а) < 0.
4. За початкове наближення b можна взяти будь – яку точку відрізку ізоляції, у якій виконується умова f(b) ∙ f′′(b) > 0.
Розглянемо застосування методу на попередньому прикладі: розв‘язати рівняння f(x) = 2х + 5x – 3 = 0 з точністю = 0,5*10-5.
1. Відрізок ізоляції для єдиного кореня цього рівняння [a;b] = [0;1].
2. f′′(х) > 0 при всіх х.
3,4. Оскільки f(0) = –2, f(1) = 4, то за початкові наближення можна взяти а = 0, b = 1.
Нарешті знайдемо корінь з точністю = 0.5*10-5 комбінованим методом за допомогою Excel. Надамо чарункам електронної таблиці таких значень:
|
A |
B |
C |
D |
E |
1 |
0 |
=2^A1+5*A1–3 |
1 |
=2^C1+5*C1–3 |
=2^C1*ln(C1)+5 |
2 |
=A1–B1*(A1–C2)/(B1–D2) |
↓ |
=C1–D1/E1 |
↓ |
↓ |
3 |
↓ |
↓ |
↓ |
↓ |
↓ |
Тут стовбці C, D і E ідентичні відповідним стовбцям електронної таблиці для метода Ньютона: С1 містить початкову точку b = 1, D1 значення f(b), Е1 значення f ′(b), С2 формулу метода Ньютона. Разом з тим стовбці А, В, С і D містять інформацію, майже ідентичну відповідним стовбцям електронної таблиці методу лінійного інтерполювання: відмінність лише в тому, що у стовбцях С і D тепер змінні значення, отримані методом Ньютона. А саме у чарунку А1 початкова точка а = 0, у В1 значення f(а), у А2 формула метода хорд, де місце нерухомої точки зайняли значення з рядка 2 метода Ньютона: тобто
спочатку працює цей метод, а далі його результати використовує метод хорд. В результаті отримуємо:
|
A |
B |
C |
D |
E |
F |
1 |
0 |
-2 |
1 |
4 |
6,386294361 |
1 |
2 |
0,345352261 |
-0,002777541 |
0,373658686 |
0,163927839 |
5,898065336 |
0,028306 |
3 |
0,34582457 |
-5,85704E-09 |
0,345865193 |
0,000238894 |
5,880929713 |
4,06E-05 |
4 |
0,345824571 |
0 |
0,345824571 |
5,03792E-10 |
5,880904909 |
8,57E-11 |
5 |
#ДЕЛ/0! |
#ДЕЛ/0! |
0,345824571 |
0 |
5,880904909 |
#ДЕЛ/0! |
6 |
#ДЕЛ/0! |
#ДЕЛ/0! |
0,345824571 |
0 |
5,880904909 |
#ДЕЛ/0! |
Тут додатково введений ще стовбець F, де підраховується різниця між значеннями у стовбцях С і А, тобто різниця εk між наближенням з надлишком, яке дає метод Ньютона, і наближенням з недостачею, яке забезпечує метод лінійного інтерполювання. Із цих даних безпосередньо видно, що збіжність методу квадратична: εk+1 ≈ εk2 , тобто кількість значущих цифр наближення подвоюється з кожним кроком. Уже у рядку 4 (скоріше навіть класичного метода Ньютона) значення у стовбцях С і А не відрізняються з максимально можливим у комп’ютері числі значущих цифр. Тому подальші обчислення величини ak у стовбці А по формулі (6) призводять до повідомлення про помилку #ДЕЛ/0! (ділення на 0): надалі величина f(bk+1) – f(ak) у знаменнику цієї формули уже не відрізняється від нуля.
Всі розглянуті вище методи вимагали передумовою попереднє відокремлення коренів. Нарешті розглянемо метод, який дозволяє розв’язувати рівняння f(х) = 0 на відрізку без попередньої ізоляції. Цей метод побудований на основі ітераційного метода із сталим λ, який взагалі має найменші передумови. Візьмемо таке λ, щоби функція φ(х) = х – λ∙ f(x) була монотонно зростаючою, тобто щоби φ′(х) = 1 – λ∙ f ′(x) ≥ 0, звідки │λ│≤ 1/М1, де М1 = . З таким λ ітераційний процес xk+1 = φ(xk) при будь – якому початковому x0 є є монотонним: xk+1 ≥ xk, отже (при умові обмеженості всіх xk) існує границя = х*. Звідси φ(х*) = х*, тобто f(x*) = 0. Справді, φ(х*) = φ( хk) = φ(хk) = хk+1 = х*. Отже будь – який ітераційний процес на збігається до кореня. На рисунку корінь – це точка перетину графіка функції у = φ(х) з прямою у = х.
у
х
а а1 х1* а2 х2* х3* а3 b
Рисунок 2.
З рисунку видно, що до першого кореня х1* збігається будь – який процес xk+1 = φ(xk), що починається в його околі між а та другим коренем х2*, наприклад, у точках а1 або а2. Тобто х1* – стійка нерухома точка процесу, так само і третій корінь х3*. Другий корінь х2* – нестійка нерухома точка, до неї не збігається жоден процес окрім того, що починається безпосередньо в точці х2*. Легко зрозуміти, що у загальному випадку стійкі та нестійкі нерухомі точки чергуються: за стійкою нестійка і навпаки. Якщо змінити знак λ, тобто розглянути процеси xk+1 = φ1(xk), де φ1(х) = х + λ∙ f(x), то стійкі нерухомі точки перетворяться на нестійкі і навпаки. Отже або процес xk+1 = φ(xk), або xk+1 = φ1(xk) збігається до кожного кореня f(x) на . Звичайно, такий метод при виборі сталого і неоптимального λ буде не дуже ефективним. Скоріше це алгоритм відокремлення коренів, а не пошуку його з даною точністю. Проте цей метод можна модифікувати, змінюючи λ на кожній ітерації так, щоби на цьому кроці у нього було оптимальне значення. Можна довести, що модифікований алгоритм має квадратичну збіжність до кожного кореня і швидше метода Ньютона.
Можна впевнено стверджувати, що побудова, модифікація та реалізація алгоритмів, аналіз їх ефективності – це найкращий шлях вивчення обчислювальних методів.