Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЧИСЛОВІ МЕТОДИ В ІНФОРМАТИЦІ.doc
Скачиваний:
11
Добавлен:
28.10.2018
Размер:
410.62 Кб
Скачать

Застосування

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

Нехай для функції f(x) відомі значення yj = f(xj) у деяких точках. Тоді ця функція може інтерполюватися як

Зокрема,

Значення інтегралів від lj не залежать від f(x), тож їх можна обчислювати заздалегідь, знаючи послідовність xi.

Схема Эйткена предлагает более удобную форму вычисления по формуле Лагранжа. Основная идея данного метода заключается в следующем. На первом этапе вычисляются многочлены ,построенные на каждой паре соседних узлов:

,

Затем на их основе вычисляются многочлены, построенные на тройках соседних узлов:

,

и т.д., пока не получится один многочлен, построенный на всех узлах интерполяции:

Нетрудно убедиться, что  .

  1. Побудова таблиці розділених різниць. Обчислення значень інтерполяційного полінома Ньютона. Інтерполяційний поліном Ньютона

Інтерполяційна формула Лагранжа має два суттєвих недоліки:

  1. формула громіздка- кожен доданок є многочленом n-го степеня;

  2. якщо з якоїсь причини додаються вузли інтерполювання (наприклад, якщо отримана інтерполяційна формула неточна), то всі обчислення необхідно повторювати знову – ні один із доданків формули Лагранжа не зберігається.

Розглянем форму запису інтерполяційного полінома Рn(х), яка допускає уточнення результатів інтерполяції послідовним додаванням нових вузлів. При цьому будем використовувати таке поняття як розділені різниці функцій.

Нехай маємо функцію f(x) і не обов"язково рівновіддалені вузли інтерполяції хі (і=0, 1, 2, … , n).

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

(5)

Розділені різниці другого порядку визначаються співвідношеннями

(6)

Аналогічно, розділена різниця k−го порядку визначається через розділені різниці (k−1) порядку за рекурентною формулою:

(7)

Тепер перейдемо безпосередньо до самого інтерполяційного полінома Ньютона.

Маєм, наприклад, один вузол інтерполяції х0.

Виходячи із визначення розділеної різниці 1−го порядку f(x; x0) маємо:

Для розділених різниць другого порядку (два вузли − х0, х1)

Підставляючи це значення у формулу для f(x)

Повторюючи цей процес, отримаємо (для n+1 вузлів інтерполяції):

(8)

Оскільки Рn(x) − інтерполяційний поліном для функції f(x), то його значення у вузлах інтерполяції співпадають із значеннями функції f(x) (а, значить, і співпадають і розділені різниці)

Рn(xі) = f(xі) = уі, (і=),

оскільки залишковий член в цих вузлах

(х приймає значення х0, х1, … , хn, тому один із співмножників завжди рівний 0, через те залишковий член у вузлах інтерполяції дорівнює нулю).

Тому замість (8) можна записати

(9)

Це і є інтерполяційний поліном Ньютона з розділеними різницями.

Для того, щоб пересвідчитись, що інтерполяційний поліном приймає значення уі в вузлах інтерполяції хі, візьмемо два вузли х0 та х1

n = 2 f(x) = y0 + (x x0)f( x0 ; x1) + (x x0)(x x1)f(x; x0; x1)

При x = x1

f(x1) = y0 + (x1 x0)(f(x1) − f(x0))/(x1 x0) = у0 + f(x1) – f(x0);

f(x1) = f(x1)

Якщо маєм чотири вузли інтерполяції (n=3), то поліном Ньютона має вигляд:

Pn(x) = y0 + (xx0)f(x0; x1) + (x x0)(xx1)f(x0; x1; x2) +

+ (x x0)(xx1)(xx2)f(x0; x1; x2; x3)

Якщо ж маєм вже шість вузлів, тобто n=5, то йде просте нарощу-вання формули:

Pn(x) = y0 + (xx0)f(x0; x1) + (xx0)(xx1)f(x0; x1; x2) +

+ (xx0)(xx1)(xx2)f(x0; x1; x2; x3) +

+ (xx0)(xx1)(xx2)(хх3)f(x0; x1; x2; x3; x4) +

+ (xx0)(xx1)(xx2)(хх3)(х − х4)f(x0; x1; x2; x3; x4; x5).

Приклад.

Знайти інтерполяційний поліном Ньютона:

х −3 −1 1 2

у 8 6 4 18 При n = 3 інтерполяційний поліном Ньютона буде мати вигляд:

Pn(x) = y0 + (xx0)f(x0; x1) + (xx0)(xx1)f(x0; x1; x2) +

+ (xx0)(xx1)(xx2)f(x0; x1; x2; x3)

j

xj

yj

k=1

k=2

k=3

0

х0 = −3

y0 = 8

0

1

x1 = −1

y1 = 6

2

x2 = 1

y2 = 4

3

x3 = 2

y3 = 18

Р3(х) = 8 + (х + 3)(−1) + (х + 3)(х + 1)*0 + (х + 3)(х + 1)(х − 1)*1=

= 8 − х − 3 + (х + 3)(х2 − 1) = 5 − х + х3 + 3х2 х − 3 =

= х3 + 3х2 − 2х + 2

Перш ніж приступати до заповнення таблиці, розпишемо розділені різниці

Розділені різниці 1−го порядку

Розділені різниці 2−го порядку

Розділені різниці 3−го порядку

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

k=1 збереглося

k=2

k=3

– кількість штрихів – це порядок

k = 1 до n

Для і = 0 до n ввести значення хі, уі

Для k = 1 до n

Для і = n до k з кроком –1

уі = (уі уі–1)/( хіхі–1)

Тоді відповідно збережуться у0, у1΄, у2΄΄, у3΄΄΄

І нтерполяція функції у = |x – 5| з допомогою полінома Ньютона на 6-10 точках.