Побудова алгоритму
Метод найменших квадратів полягає в наступному Нехай нам задано значення якоїсь функції у=f(x) у вузлах x0,x1,...,xn. Будемо шукати поліном Р(x) степеня меншого за n, який би в точках хi набував значень уi не точно, а з деякою похибкою. Нехай
Р(x)=a0+a1x+a2x2+...+amxm , (m<n) (1)
такий, щоб справджувались рівності:
P(xi)–yi0, (i=0,1,...,n). (2)
При m=n маємо інтерполювання, що дає змогу використати формулу Лагранжа.
Знаходження коефіцієнтів полінома зводиться до розв’язання системи (2), розв’язати яку без додаткової умови неможливо, бо m<n. Принцип найменших квадратів полягає в тому, що найкращі значення коефіцієнтів поліному (1) ті, при яких сума квадратів відхилень поліному від значень функцій в даних точках найменша. Інакше кажучи, коефіцієнти знаходимо з умови перетворення в мінімум виразу:
(3)
Підставляючи (1) у (3), матимемо поліном другого степеня відносно ak, (k=0,1,...,m):
(4)
З формули (4) бачимо, що поліном s не може бути менший від нуля, тому поліном існує. Як відомо з математичного аналізу, для знаходження тих значень коефіцієнтів ak, при яких s перетворюється в мінімум, треба знайти частинні похідні по всіх коефіцієнтах ak і прирівняти їх до нуля. Дістанемо систему m+1 рівнянь:
(5)
Систему (5) зручно записати в такій формі
, k=0,1,2,...,m.
Звідси одержуємо ітераційні методи побудови вільних членів та коефіцієнтів системи рівнянь:
-
Для поліному степеня m рівняння до першого формується так:
, , , , …,
-
Кожне рівняння містить невідоме: аk, аk–1, аk–2 ,..., а1 , а0 .
-
Послідовність коефіцієнтів при невідомих в першому рівнянні має вид:
, , ,…,
-
Щоб одержати послідовність коефіцієнтів при невідомих в j+1-му рівнянні з послідовності коефіцієнтів при невідомих в j-му рівнянні потрібно вилучити перший коефіцієнт, перемістити всі коефіцієнти на одиницю вліво і приєднати справа коефіцієнт рівний сумі хі з степенями на одиницю меншими ніж їх містить останній коефіцієнт, тобто, якщо ми мали послідовність коефіцієнтів: , , , …, то одержимо послідовність коефіцієнтів: , , …, , .
-
В останньому рівнянні коефіцієнт біля а0 дорівнює n+1.
Визначник системи (5) не дорівнює нулю, тому вона має розв’язок, що становить сукупність значень коефіцієнтів ak, які задовольняють умову (3) і перетворюють s в мінімум.
Слід зауважити, що значення s залежить, в значній мірі, від точності обчислення значень функції у(хі). Якщо у(хі)=уі± Dі, то в s присутній доданок (уі±Dі–р(хі))2=(уі–р(хі))2±2Dі(уі–р(хі))+Dі2. Отже, похибка Dі при обчисленні значення функції у(хі) дає додатковий доданок 2½Dі(уі–р(хі))½+Dі2 при обчисленні s. Тому, досить часто, якщо в якійсь точці відхилення ½уі–р(хі)½ значно перевищує відхилення в інших точках, то значенням функції в цій точці ігнорують. Його взагалі відкидають, як помилкове, або обчислюють заново.
Інструкція
Для складання поліномів методом найменших квадратів треба:
-
Користуючись формулою (3), скласти суму s в загальному вигляді.
-
Знайти частинні похідні по всіх ai і прирівняти їх до нуля. Дістанемо систему рівнянь.
-
Скласти таблицю для обчислення коефіцієнтів знайденої системи.
-
Розв’язати систему і визначити ak.
-
Скласти поліном і обчислити Di і s.