Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора 1.doc
Скачиваний:
7
Добавлен:
24.11.2018
Размер:
1.15 Mб
Скачать

Інтерполяція кубічними сплайнами.

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

Якщо задана послідовність вузлів

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

- з умови знаходимо,

що для

- з умови знаходимо , що

для .

Наступну группу рівнянь отримаємо з умови гладкості наших сплайнів. Для цього задамо умову неперервності перших і других похідних у вузлах:

Отримаємо

для

для

Ми отримали систему 4n – 2 рівнянь. Ще два рівняння ми отримаємо з умов, що накладаються у крайніх вузлах. Задамо кривизну сплайна в крайніх вузлах рівною нулю, що відповідає випадку вільного кубічного сплайну:

,

Отримаємо, що та

Перейдемо до розв’язку отриманої системи. Послідовно знаходимо:

;

;

;

З рівняння

;

отримаємо вирази для коефіцієнтів

;

.

Запишемо систему рівнянь відносно коефіцієнтів ci. Підставимо вирази для bi та di в рівняння в рівняння умови неперервності перших похідних. Отримаємо рівняння:

Змінимо на одиницю індекс :

Використовуючи умови в 0-му та n-му вузлах, знаходимо

Система рівнянь для ci має т.зв. трьохдіагональну матрицю і для її розв’язку ми можемо використати метод прогонки.

2. Іінтерполяційні многочлени Лагранжа.

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

,

де функція задовольняє умові

.

Цим умовам задовольняє алгебраїчний многочлен

.

Побудовану таким чином функцію називають інтерполяційним многочленом Лагранжа:

.

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

.

Якщо функція f(x) (n + 1) разів диференційована на відрізку , який визначається з умови що всі , то

,

де ,

Введемо позначення:

, .

В цих позначеннях залишковий член можна записати як

.

Для прикладу приведемо вирази для інтерполяційного многочлена Лагранжа першого степеня для випадку двох вузлів :

.

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

4. Інтерполяційні многочлени Ньютона.

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

.

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

.

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

.В загальному ми можемо записати рекурентну формулу для обчислення розділених різниць k-го порядку через розділені різниці (k-1) порядку:

.Можна показати, що

.Розділена різниця є симетричною функцією своїх аргументів. Тобто вона

не міняється при будь-якій їх перестановці.

Введемо поняття скінченних різниць. Різницю називають скінченною різницею вперед, -скінченною різницею назад.

Скінченні різниці вищих порядків можна обчислити за допомогою рекурентних формул:

,

. 3.Розглянемо їх основні властивості

- оператор скінченної різниці є лінійним

,

- між скінченними різницями вперед і назад є співвідношення

.

- скінченну різницю довільного порядку можна обчислити за формулою де – коефіцієнт бінома Ньютона.

- скінченна різниця n-го порядку від многочлену степені n є константа , а різниці вищих порядків рівні нулю.

- у випадку рівновіддалених вузлів розділенгі різниці можна виразити через скінченні різниці

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

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

Ввівши заміну змінних:

кінцево отримаємо

Ця формула називається інтерполяційним многочленом Ньютона для інтерполяції вперед.

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

Ньютона починаючи не з вузла , а з вузла отримаємо

Введемо заміну змінних

отримаємо

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

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

Методом безпосереднього диференціювання інтерполяційного многочлена Ньютона можна показати, що

Таким чином залишковий член ми можемо записати як

У випадку рівновіддалених вузлів залишковий член виражається виразами

для інтерполяції вперед та

для інтерполяції назад.

5. Апроксимація функцій за методом найменших квадратів. Згладжування функцій

Розглянемо апроксимацію алгебраїчними многочленами

.

Число n вибираємо меншим від загального числа вузлів сітки N. Коефіцієнти ai знаходимо з умови мінімуму функції

Якщо відома точність отримання значень функції у вузлах , то використовуючи поняття ваги

можна отримати уточнену формулу:

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

Обчислимо частинні похідні

... ...

Отримаємо систему рівнянь:

Запишемо систему в компактнішійй формі

...

Ми ввели скорочені позначення

В загальному виникає проблема оптимального вибору степеня многочлена n. Як правило використовують наступну процедуру. Для деякого значення n обчислюють дисперсію

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

Метод найменших квадратів можна використовувати для згладжування похибки даних про значення функції в вузлах сітки. Розглянемо випадок рівномірної сітки і припустимо, що функція f(x) апроксимується многочленом степеня n. Для знаходження уточненого значення , виберемо відносно точки і симетрично по обидві сторони k вузлів (k парне). Будуємо методом найменших квадратів апроксимуючий многочлен степеня . З його допомогою ми можемо знайти уточнене значення .

Розглянемо випадок і . Отримаємо:

Запишемо систему для знаходження коефіцієнтів

,

де

Врахуємо, що . Отримаємо:

Розв’яжемо систему рівнянь. Знаходимо:

Таким чином:

Апроксимуюча функція

З її допомогою знаходимо згладжене значення:

Аналогічно можна отримати формули і для інших значень і

6. Апроксимація похідних з використанням інтерполяційніх формул.

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

де - дека апроксимуюча функція. У випадку, коли ми апроксимуємо функцію інтерполяційним многочленом Ньютона

Ми ввели позначення

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

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

В загальному випадку найпростіший вираз для апроксимації похідної довільного порядку має вигляд:

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

Для рівномірної сітки

Отримаємо

Ми бачимо, що порядок точності отриманої формули рівний числу вузлів мінус порядок похідної. Для обчислення к-ї похідної мінімально необхідно вузол.

Слід врахувати, що для побудови інтерполяційних многочленів недоцільно використовувати більше 46 вузлів. Тому чисельним диференціювання практично можна визначити першу та другу похідну. Третю та четверту похідну можна визначити тільки задовільно.

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

Отримаємо

Можна записати формули для похідної в середній точці інтервалу

Чисельне диференціювання з використанням інтерполяційних многочленів Лагранжа. Запишемо інтерполяційний многочлен Лагранжа для трьох рівновіддалених вузлів:i-1, i, i +1:

Залишковий член для даного многочлена:

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

Бачимо, що використовуючи значення функції в вузлах, ми отримаємо формули -го порядку апроксимації. Крім того, найменші коефіцієнти в залишкових членах отримуються для похідних в центральних вузлах.

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

.

У випадку чотирьох вузлів отримаємо навступні формули для апроксимації першої похідної:

У випадку п’яти вузлів отримаємо слідуючі вирази для апроксимації першої похідної:

Для апроксимації других похідних у випадку трьох вузлів отримаємо вираз:

,

.

7. Апроксимація похідних за допомогою методу невизначених коефіцієнтів.

Нехай нам задано значення функції в вузлах х0, х1,...хn. Шукаємо вираз для апроксимації похідної в вузлі і у вигляді лінійної комбінації значень функції в вузлах:

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

Отримаємо рівняння

Отримуємо систему рівнянь

Відмітимо, що якщо розміщено симетрично відносно вузлів сітки і якщо і мають однакову парність, то отримані формули будуть точними для многочленів на одиницю вищої степені.

Отримаємо методом невизначених коефіцієнтів формулу для апрксимації похідної по трьох вузлах

Знаходимо

; ; ;

Отже ми отримали формулу

.