Уточнення коренів рівнянь
Для чисельного рішення алгебраїчних рівнянь розроблено безліч ітераційних методів (методів послідовного наближення до точного значення) уточнення кореня. Завдання ставиться так: при заданому одному або двох (залежить від методу) початкових наближеннях кореня рівняння F (X) = 0 отримати наближення кореня з заданою точністю # 949 ;.
необхідна точність # 949; визначає умова завершення ітераційного процесу, яке задається відношенням | Xn -Xn-1 | <ε, где Xn и Xn-1 – соседние приближения корня, полученные на (n-1) –м и n–м шагах его уточнения, а начальные (грубые) приближения корней можно найти, например, по результатам табулирования функции F(X).
Метод простих ітерацій
Для уточнення кореня рівняння виду F (X) = 0 його слід перетворити до рівняння X = G (X). Вихідними даними для уточнення кореня є необхідна точність # 949; і початкове наближення X0. Чергове наближення X1 кореня обчислюється на основі поточного наближення X0 по формулі X1 = G (X0) (на першому кроці уточнення кореня Х0 являє початкове наближення), після чого X0 отримує значення X1 і процес повторюється, поки модуль різниці між Х0 і Х1 більше # 949 ;.
Застосування методу призводить до вирішення, якщо | G '(Х) |<1 внутри интервала, содержащем корень уравнения.
Приклад. Нехай відомо, що при заданому початковому наближенні кореня X0 метод простих ітерацій забезпечить отримання рішення рівняння X = (X-0,1) 4 +0,1. Тоді для знаходження кореня з заданою точністю # 949; можна використовувати наступний фрагмент програми.
X0, X1, Eps, dX: Extended;
WriteLn ( 'З точністю', Eps, 'корінь дорівнює', X0);
Метод не завжди забезпечує знаходження кореня. Так, при # 949; = 10 -3 і X0<1,1, где в окрестности корня 0,1 |G'(X)| = |4(X-0,1) 3 |<1 будет найден этот корень (как будет проходить уточнение корня, показано стрелками на рис.3.1). Но в окрестности корня 1,1 (1,1 – второй корень уравнения), где |G'(X)|>1 кожен крок процесу буде приводити до віддалення від кореня, що, в кінцевому рахунку, призведе до переповнення розрядної сітки машини і аварійного останову.
Щоб знайти корінь рівняння X = G (X) за умови | G '(X) |> 1, його слід перетворити до виду X = H (X), де H (X) - зворотна щодо G (X) функція, і використовувати для пошуку кореня. З урахуванням сказаного, змінимо текст фрагмента програми, щоб була можливість знаходити всі корені рівняння X = (X-0,1) 4 +0,1, при будь-яких початкових наближеннях, коли | G '(X) | ¹0.
X0, X1, Eps, dX, P: Extended;