Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Chiselni_metodi_za_dopomogoyu_Excel.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
8.81 Mб
Скачать

§ 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) на . Звичайно, такий метод при виборі сталого і неоптимального λ буде не дуже ефективним. Скоріше це алгоритм відокремлення коренів, а не пошуку його з даною точністю. Проте цей метод можна модифікувати, змінюючи λ на кожній ітерації так, щоби на цьому кроці у нього було оптимальне значення. Можна довести, що модифікований алгоритм має квадратичну збіжність до кожного кореня і швидше метода Ньютона.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]