Розв’язок алгебраїчних рівнянь методом послідовних наближень з використанням схеми Горнера

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

відбираємо три останніх члена і знаходимо розв’язок отриманого квадратного рівняння . Якщо корені цього рівняння дійсні, то перерходимо до рішення рівняння , після чого, за перше наближення кореня рівняння (1) приймаємо розв’язок даного рівняння, тобто:

Далі, ліву частину рівняння (1), використовуючи схему Горнера, ділимо на  і проводимо даний процес до тих пір, поки не отримаємо двочлен виду , який не ділитиметься без залишку на . Прирівнюючи даний двочлен до нуля, з отриманого рівняння знаходимо друге наближення кореня:

Тепер ліву частину рівняння (1), знову-таки за схемою Горнера, ділимо  на і отримуємо залишок у вигляді , який як і на попередній ітерації прирівнюємо до нуля і визначаємо третє наближення:

Продовжуючи даний процес далі, отримаємо послідовність , яка наближається до шуканого кореня.

Після того, як ми зупинилися на деякому наближенні кореня  і прийняли його за шукане значення, розділимо ліву частину рівняння (1) на . Отримаємо новий многочлен, степінь якого на одиницю менша, ніж ліва частина заданого рівняння. Прирівнюючи цей многочлен до нуля і з отриманим новим рівнянням проводимо аналогічні дії, які було описано вище.

Зауваженя: При використанні цього способу може трапиться, що послідовність чисел  не наближається до шуканого кореня, тобто ітераційни процес методу розбіжний. Нижче буде продемонстровано, яким чином можна покращити обчислювальний процес в тих випадках, коли наближення до шуканого кореня відбувається повільно або не монотонно:

    1. Якщо при визначенні дійсних коренів рівняння (1) послідовні значення:

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

  1. Якщо ж при визначенні дійсних коренів значення (7) змінюються, хоч і монотонно, але дуже повільно, тоді наступне, наприклад, третє наближення кореня, необхідно брати рівним:

    де і – залишок від ділення лівої частини рівняння (1) на  та  відповідно.

Якщо ж виявиться, що корені рівняння (2) комплексні, то для обчислення пари комплексних спряжених коренів поступаємо  наступним чином: представляємо його ліву частину у вигляді тричлена:

Цей тричлен будемо вважати першим наближенням до того, з якого ми згодом визначимо пару коренів. На цей тричлен ділимо ліву частину рівняння (1), поки не залишуся тричлен виду , який вже не ділиться на (10) націло. В якості другого наближення для виділеного тричлена приймаємо тричлен:

і на нього знову ділимо ліву частину рівняння (1) до тих пір, поки не отримаємо залишок виду . Після цього, в якості третього наближення для виділеного тричлена приймаємо тричлен виду:

Продовжуючи даний процес далі, зупиняємося на деякому наближенні, коефіцієнти якого мало відрізняються від коефіцієнтів попереднього. Нехай це буде тричлен . Розв’язавши рівняння , отримаємо два кореня заданого рівняння. Відмітимо, що детальний опис процесу ділення многочлена на квадратичний тричен міститься за посиланням Схема ділиння многочлена на тричлен.

Знаходження дійсних коренів алгебраїчних рівняннь методом послідовних наближень з використанням схеми Горнера – приклад:

Знайти корені рівняння з точністю . Для цього, на першому кроці складаємо квадратне рівняння (2). В нашому випадку воно прийме наступного вигляду:

Корені цього рівняння являються дійсними, тому переходимо до розв’язку рівняння виду (3), а саме рівняння . Після чого, розв’язок даного рівняння приймемо в якості першого наближення до шуканого кореня, та позначимо його через . На наступному кроці, скориставшись схемою Горнера, ділимо ліву частину заданого рівняння на . В результаті отримаємо:

shema_gorneranel_rivn29
Ділення многочлена на двочлен (x+0.357) викорисоовуючи схему Горнера

Далі, складаємо рівняння виду , в якому і , як і на попередньому кроці, залишається рівним -20:

Розв’язавши дане рівняння отримуємо друге наближення до шуканого кореня . Ділимо тепер ліву частину рівняння на . Знову-таки користуючись схемою Горнера отримаємо:

Ділення многочлена на двочлен (x+0.377) викорисоовуючи схему Горнера

Виходячи з того, що модуль остача від ділення останньої таблиці являється меншим від заданої точності, тобто , то отримане на другій ітерації значення можна взяти в яоксті наближеного значення для шокуного кореня, тобто , після чого переходимо до відшукання другого кореня. Для цього, скориставшись останньою таблицею схеми Горнера, запишемо новий многочлен , степінь якого на одиницю менша, ніж ліва частина заданого рівняння. Прирівнюючи цей многочлен до нуля і з отриманим новим рівнянням проводимо аналогічні дії, які було описано вище, а саме складаємо квадратне рівняння (2):

Розв’язком даного рівняння являються комплексні числа, тому ліву частину даного рівняння представляємо у вигляді тричлена (10). В результаті отримаємо тричлен , який будемо вважати першим наближенням до того, з якого ми згодом визначимо пару комплексних коренів. Далі, скориставшись схемою ділення многочлена на квадратичний тричлен, ділимо ліву частину рівняння на отриманий тричлен і проводимо даний процес до тих пір, поки не отримаємо . В результаті будемо мати:

shema_gorneranel_rivn46
Ділення многочлена на квадратичний тричлен x^2+1.908x+12.075

де жирним шрифтом позначені коефіцієнти квадратного рівняння , яке знову-таки представимо у вигляді тричлена (10) і таким чином отримаємо друге наближення , з допомогою якого, в подальшому, визначимо пару комплексних коренів. Після цього, аналогічним чином, ділимо ліву частину рівняння  на отриманий тричлен:

Ділення многочлена на квадратичний тричлен x^2+3.25x+8.409

В результаті отримаєм рівняння , яке придставимо у вигляді квадратичного тричлена , після чого, виходячи з того, що умова зупинки не виконується, продовжуємо ітераційний процес далі.

Ділення многочлена на квадратичний тричлен  x^2+2.197x+6.93 та x^2+2.324x+8.039 відповідно
Ділення многочлена на квадратичний тричлен  x^2+2.197x+6.93 та x^2+2.324x+8.039 відповідно

В результаті, на шостій ітерації отримаємо тричлен, коефіцієнти якого мало відрізнятися від коефіцієнтів попереднього. Розв’язавши рівняння , отримуємо ще два корені заданого рівняння: .

Далі, скориставшись коефіцієнтами частики, які ми отримали в результаті останнього ділення, визначимо значення  четвертого кореня рівняння : .

Блок-схема алгоритму схеми Горнера для розв’язку алгебраїчних рівнянь:

Розв'язок алгебраїчних рівнянь використовуючи схему Горнера алгоритм

Залишити коментар

Your email address will not be published. Required fields are marked *

*