тримати дуже компактний і легко читається код. Саме тому метод половинного ділення і був обраний для реалізації на програмному рівні.
2.2.4. Метод розкладання на множники
Даний метод є повністю аналітичним, однак повністю залежимо від інших. Головною його перевагою є те, що в даному методі не відбувається втрати кратних коренів. Пояснимо на прикладі:
Нехай дано многочлен F (x) = 2x 3 -11x 2 +20 x-12 (11)
Його можна записати у вигляді: F (x) = (x +2) 2 (2x-3) (12)
У многочлена n-ступеня, як відомо, n коренів, а з (12) випливає, що корінням F (x) є -2 і 1,5, причому корінь -2 є кратним, тобто фактично це два однакових кореня. При відшуканні ж коренів будь-яким з вищеописаних методів В«другийВ» корінь -2 буде втрачено, тому що графік функції буде мати лише дві точки перетину з віссю абсцис
Щоб уникнути цього застосовується метод розкладання на множники. Суть його полягає в наступному: кожен многочлен виду (1) можна представити у вигляді (x + h 1 ) (x + h 2 ) ... (x + h n ) * H = 0 (13) ,
або F (x) = (x + h) (b n-1 x n-1 + ... b 1 ) + b 0 (14)
де h1 ... hn - коріння рівняння, а Н - твір множників х, винесених за дужки (Н неможливо впливає на рівняння, тому що від нього позбавляються, ділячи на Н обидві частини (13). При цьому не виключено, що деякі h можуть бути взаємно рівні, що і свідчить про наявність кратного кореня. p> Для обчислення значень нових коефіцієнтів у (14) використовуються формули:
b n = a n
b n-1 = b n h + a n-1 (15)
b n-2 = b n-1 h + a n-2
...
Таким чином, алгоритм цього методу виглядає наступним чином:
1. Визначити межі коренів рівняння;
2. За допомогою будь-якого з вищеописаних методів знайти один корінь рівняння;
3. Застосовуючи формули (14) і (15) сформувати новий багаточлен ступеня, на 1 меншій попереднього.
4. Повернутися до пункту 2. p> 5. Повторювати до тих пір, поки ступінь многочлена НЕ обнулится.
Цей метод був реалізований на програмному рівні і включений в курсову роботу.
В
3. ОПИС СТРУКТУРИ ПРОГРАМИ
У рамках завдання на курсову роботу в середовищі програмування Visual Basic for Applications була розроблена програма, що знаходить коріння багаточлена з що вказується точністю. p> 3 .1. Опис програмних модулів
Розробка програми велася з урахуванням концепції об'єктно-орієнтованого програмув...