Застосування сплайн-функцій до розв’язування задач інтерполяції

  Корнейчук Н. П. Сплайны в теории приближения. / Н. П. Корнейчук. М. : Наука, 1984. 352с. Сплайн интерполяция.

Застосування сплайн-функцій до розв’язування задач інтерполяції

Контрольная работа

Математика и статистика

Другие контрольные работы по предмету

Математика и статистика

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

 

, де (16)

 

Після виключення і отримується лінійна система з невідомими і 3-діагональною матрицею, яку можна розвязати, як методом Гауса, так і методом прогонки [8].

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

(16)

 

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

 

2.4 Апроксимація кубічними В-сплайнами

 

Нехай задана таблиця чисел і , котрі є значеннями функції і її першої похідної у вузлах i, i =0,1, ..., N. Необхідна апроксимувати функцію W() з допомогою цих даних.

Розглянемо апроксимацію кубічними В-сплайнами. Конструкція нормованого

 

 

кубічного В-сплайна зазвичай задається так:

 

(17)

 

В правій частині (17) стоять многочлени третього степеня виду:

 

(18)

Коефіцієнти ai , bi , ci , di визначаються із системи чотирьох рівнянь, отриманих при умовах: и . В результаті її розвязку можна записати:

 

(19)

, ,

 

При конкретизації виразу (18) використовуються формули (19), що задовольняють умови стику у вузлах i-2, i-1, i , i+1 для сплайнів:

 

(20)

 

Та їх похідних по , позначених штрихом:

 

(21)

 

В роботі Б.Завялова [6] для рівномірної сітки i=0,1, ... , N, задовольняючи наступні умови (20), (21), отримано такий вираз для

 

Тут , а також зясовано, що S0=2/3, S*=1/6, S**=1/2h.

Загальний інтерполяційний вираз, в якому використовуються нормовані кубічні В-сплайни (22), записуються так:

 

, (23)

 

де , а . Коефіцієнти bi+1,bi+2 визначаються із умов, що задовольняють значення функції W(), відомих в деяких вузлах . Зазвичай вибирають , , а задовольняють нерівність: .

Запишемо (23) в розгорнутому вигляді. Для цього, використавши (22) отримаємо всі вирази для . Сплайн отримаємо із четвертої рівності (22), якщо там формально замінити на 1+ . Тоді

 

(24)

Вираз для береться безпосередньо із (22)

 

(25)

 

Сплайн записується на основі другої рівності (22) шляхом формальної заміни на -1

 

(26)

І, нарешті із першого виразу (22), замінюючи на -2, отримаємо:

 

. (27)

 

Тоді остаточний варіант інтерполяційного виразу, основаного на застосуванні нормованих кубічних В-сплайнів, отримаємо шляхом підстановки виразів (24)-(27) в (23)

 

(28)

 

Вираз (28) дає четвертий порядок апроксимації функції по кроку h 0( h4 ) . Якщо в формулі (28) виключити коефіцієнти, виразивши їх через значення апроксимуючої функції у вузлах, то отримаємо:

 

, де (29)

(30)

 

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

, (31) де

; ; ;

; ; .

 

Інтерполяційний вираз виду (29) використовується, як для визначення шуканих величин між вузлами координатної сітки, так і для апроксимації частинних похідних, котрі входять до складу повної системи рівнянь [8].

 

2.5 Практичність вивчення кубічних В-сплайнів у вищих навчальних закладах

 

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

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

Як найефективніші, були вибрані кубічні В-сплайни, тобто сплайни третього порядку, через наступні причини:

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

Означення. Позначимо сегмент кривої. Якщо напрям і величина і рівні в точці з'єднання, крива, що складається з цих двох сегментів, називається неперервною.

В-сплайни другого порядку і неперервні, що не гарантує задовільну неперервність в об'єднаних точках. Проблема вирішується, використовуючи кубічні В-сплайни, які є , і і неперервними.

2.Поліноми вищого степеня віднімають багато часу в обчислювальному процесі і можуть нести небажані скачки. Крива може "скакати" назад і вперед важко керованими способами.

3. Кажучи, що кубічні В-сплайни дають "задовільну" неперервність, мається на увазі, що око не може виявити геометричну неоднорідність степеня вище, ніж два і практично досить використовувати В-сплайни третього ступеня [9].

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

 

 

3. Практична частина

 

3.1 Задача №1

 

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

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

 

(15) Виключимо із системи (16) і : , , (32)

 

і отримаємо наступну систему:

 

, (33) де

, ,

, ,(34)

, .

 

Розвязавши систему (33), знайдемо коефіцієнти , для шуканого сплайна:

 

 

(де у нашому випадку ).

Отже необхідно знайти і підставити відповідні значення та розвязати матричне рівняння:

 

,

 

де - тридіагональна матриця, а - шуканий вектор коефіцієнтів.

Для нашої функції маємо наступні дані:

 

 

,,

,,

,,

,,

,,

,,

,,

,.

 

Тоді три діагональна матриця і вектор відповідно дорівнюватимуть:

 

, ,

 

підставивши їх у матричне рівняння, отримаємо вектор :

 

,

,.

Отже, маємо інтерполяційний сплайн функції на проміжку :

 

 

Побудуємо його графік (в середовищі Matlab):

Мал. 4, 5 Графіки функції

 

На малюнку 4 зображено графік функції , а на малюнку 5 графік функції (зображено зеленим кольором), яка накладається на графік функції . Як бачимо наш інтерполяційний сплайн фактично повністю співпадає з і лише при великому збільшенні можна побачити розбіжності (малюнок 6 і 7), тобто має місце незначна похибка. Знайдемо її.

 

Мал. 6, 7 Розбіжності

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

 

,(35)

 

 

Отже на проміжку маємо графік зображений на малюнку 8 (побудований в середовищі Mathcad). Неозброєним оком похибки не видно, але вона є, і це показано на малюнку 9, який зображає функцію .

 

 

 

 

 

 

Мал. 8 Графік, побудований в середовищі Mathcad

 

 

 

 

 

 

 

Мал. 9 Найбільша похибка відрізку

 

Як видно з малюнка 9, найбільша похибка на даному відрізку приблизно дорівнює:

при і відповідно .

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

 

сегмент0,27-2,0230,021%0,82-1,4720,022%1,36-0,5840,028%1,780,5840,028%2,341,4890,021%2,882,0230,021%

З таблиці видно, що максимальна похибка менша за 0,03%, і, оскільки, задовільною вважається похибка менша чим 5%, то отриману мо

Похожие работы

< 1 2 3 >