Основні поняття чисельного розв’язування рівнянь

Збираючись використовувати наближені методи чисельного розв'язання рівнянь, ми розрізняти алгебраїчні (раціональні, ірраціональні, лінійні чи нелінійні) і трансцендентні функції.

Отже, припускатимемо, що задано рівняння

де функція f(x) - безперервна на відрізку [a; b] та диференційована на інтервалі (a; b).

Потрібно розв'язати рівняння (1), тобто. знайти безліч усіх його дійсних коренів із заданою точністю

основні
> 0.

Універсальні обчислювальні алгоритми засновані на тому, що виходять з деякого початкового наближення одного з коренів, яке потім покращують (уточнюють) донеобхідної точності.

Як відомо, наближене знаходження коренів нелінійного рівнянняf(x)=0зазвичай складається з двох етапів:

а)відділення коренів рівняння– відшукання досить малих відрізків, що належать області визначення f(x), у кожному з яких укладено один і лише один корінь рівняння (1).

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

Відповідно до теореми Больцано-Коші [17], якщо безперервна функція f(x) приймає кінцях відрізка [a; b] значення різних знаків, тобто f(a)·f(b) 0 корінь x рівняння F(x) = 0, де F(x) – безперервна на відрізку [a, b] функція. Передбачається, що функція задовольняє умову F(a)*F(b)

using namespace std;

double f(double x);

double zero (double, double, double);

a=1.2; b = 1.5; setlocale(NULL, ".1251");

if (f(a)*f(c) 0, де F(x) — безперервна на [a, b] функція. Передбачається, що F(a)*F(b) 1, то ітераційний процес розходиться.

Для конкретної оцінкивеличини М (що визначає швидкість збіжності: що менше М, то швидше збіжність) найпростіше користуватися формулою:

де максимум береться за відрізком ізоляції кореня [a; b].

Оцінивши φ'(x) для чотирьох наведених вище рівносильних рівнянь, що відповідають рівнянню x³–9x+3=0 (враховуючи, що корінь рівняння укладено в інтервалі [0, 1]), дійдемо висновку, що тільки друге та четверте рівняння годяться для застосування до них методу ітерацій; для решти рівнянь ітераційний процес буде розбіжним.

Процес ітерацій зазвичай продовжують доти, доки не буде виконано умову

чисельного
,

де

чисельного
- необхідна точність обчислень, а M = max φ'(x) , х
основні
[a; b]

Якщо обчислення похідної φ'(x) та її оцінка скрутні, можна обмежити число ітерацій деяким числом, наприклад n ≤ 500.

Наведемо тут два рішення поставленого завдання. Перший (спрощений) варіант не використовує оцінку похідної φ'(x). У контрольному прикладі (див. текст функції fi(x)) знайдено одне з коренів рівняння x – e x + 2 = 0 на відрізку [-2, 0], а саме x1*  ‑1.841402, тобто той корінь відрізка [ a, b], де (x) = e x

<inta,b; // зухвалість, звичайно, але прототип узгодить типи