Контрольная работа: Застосування сплайн-функцій до розв’язування задач інтерполяції
Название: Застосування сплайн-функцій до розв’язування задач інтерполяції Раздел: Рефераты по математике Тип: контрольная работа | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Міністерство освіти і науки України Черкаський національний університетІмені Богдана Хмельницького Кафедра математики та методики навчання математики Кваліфікаційна робота з математики Застосування сплайн-функцій до розв’язування задач інтерполяції Автор: Вишемірська Тетяна Володимирівна Четвертий курс, денна форма навчання, математичний факультет Науковий керівник: Доктор фізико-математичних наук, професор Стеблянко Павло Олексійович Черкаси 2010 Зміст Вступ 1.В-сплайни 1.1Базис із В-сплайнів 1.2В-сплайни нульового степеня та рекурентна форма запису В-сплайнів вищих порядків 1.3Лінійні В-сплайни 1.4Квадратичні В-сплайни 2. Кубічні В-сплайни 2.1Формули задання кубічних B-сплайнів 2.2Базис у просторі кубічних сплайнів 2.3 Задачі інтерполяції з граничними умовами першого та другого роду 2.4.Апроксимація кубічними В-сплайнами 2.5Практичність вивчення кубічних В-сплайнів у вищих навчальних закладах 3. Практична частина 3.1Задача №1 3.2Задача №2 Висновки Список використаних джерел Вступ Сплайн-інтерполяція на сьогоднішній день є одним із найточніших методів наближення. В теорію наближень сплайни ввійшли зовсім недавно і відразу ж зайняли в ній досить важливе місце. Буквально протягом кількох років для сплайнів були розв’язані апроксимаційні задачі, на розв’язання яких для поліномів були потрачені десятиліття. З подальшим вивченням і застосуванням сплайн-функцій, знадобилося їх певне спрощення, для полегшення розрахунків. Саме тоді і з’явилися В-сплайни, які як виявилося не тільки є простішими для обчислень, але й дають більшу точність наближення, що є дуже важливим при розв’язуванні практичних задач. Актуальність: Сьогодні сплайн-функції відіграють дуже важливу роль, вони входять в курс «Чисельні методи», як додатковий метод інтерполяції, а також використовуються в курсі «Рівняння математичної фізики» для розв’язування нерозв’язних диференціальних рівнянь; з допомогою сплайнів і В-сплайнів (в основному кубічних) розв’язуються (з великою точністю) ті задачі, які не можна розв’язати іншими, відомими, методами. В-сплайн – це крива з неперервними старшими похідними до n -ої, де n – порядок сплайна. Мета курсової роботи : Розглянути кубічні В-сплайни, а також лінійні та квадратичні В-сплайни, форми їх запису та формули для розрахунків інтерполяційних задач, рекурентні формули для представлення В-сплайнів 1-го, 2-го, 3-го та вищих порядків. З’ясувати практичність застосування Кубічних В-сплайнів у ВНЗ при розв’язуванні задач інтерполяції. Застосувати на практиці отримані знання. Для досягнення мети були поставлені такі завдання : – знайти і опрацювати літературу із даної теми; – систематизувати опрацьований матеріал; – отримати формули для розрахунків інтерполяційних задач; – визначити практичність кубічних В-сплайнів в порівнянні з іншими сплайнами і В-сплайнами; 1 B -сплайни 1.1 Базис із В-сплайнів Одним з найширше використовуваних представлень кривих в комп'ютерному баченні є представлення у вигляді В-сплайну. Важливо розрізняти сплайни і В-сплайни. В-сплайни є поліноміальними функціями. Сплайни є лінійною комбінацією В-сплайнів. У літературі сплайни зазвичай визначаються як різні види степеневої функції. Для обчислень зручніше визначати сплайни рекурсивними функціями. Приймемо без доведення наступну лему, яку буде використано для доведення важливої теореми: Лема 1
. Нехай Теорема 1
. Системаіз
Доведення. Нехай
Оскількинапроміжку
Для
Розмірковуючи аналогічно,далі прийдемодорівності
Наслідок
1.
Будь-якийсплайн
Якщо сплайн 1.2 В-сплайн нульового степеня та рекурентна форма запису В-сплайнів вищих порядків В-сплайном нульового степеня
, побудованим на числовій прямій по розбиттю
Єдине обмеження полягає в тому, що В-сплайни повинні відповідати умові: Зокрема, якщо В-сплайн степеня
де При однаковій відстані між сусідніми вузлами В-сплайни називаються однорідними , в протилежному випадку неоднорідними . Для однорідних B-сплайнів, базисні B-сплайни однакового степеня є зміщеними екземплярами однієї функції [3]. Нерекурсивним визначенням базисних B-сплайнів є
де 1.3 Лінійні B-сплайни Лінійні B-сплайни є неперервними, але не диференційованими. Скориставшись рекурентною формулою (6), отримаємо формулу для лінійного В-сплайна:
Підставивши у (10) формулу (5) маємо:
Або у випадку рівномірної сітки з кроком
Нижче на малюнку 1 представлено графік В-сплайна 1-го порядку: Мал. 1 - Графік В-сплайна 1.4 К вадратичні B-сплайни Із рекурентної формули (6), отримаємо наступну форму запису квадратичного В-сплайна:
Тепер ми можемо, або скористатись лише формулою (11), підставивши її у (12) отримаємо:
А у випадку рівномірної сітки з кроком h матимемо:
Або спершу в (12) підставимо (10) і, зробивши відповідні перетворення, отримаємо квадратичний В-сплайн в вигляді:
а потім в (14) підставимо (5) і отримаємо ту ж саму формулу (13) [4]. Графік В-сплайна 2-го - Мал. 2 - Графік В-сплайна В-сплайн довільного степеня 2 Кубічні B -сплайни 2.1 Формули задання кубічних B-сплайнів Зробивши аналогічні дії, що й при квадратичному В-сплайні, ми отримаємо формулу (15) для кубічного В-сплайна: Зауваження. Кубічні В-сплайни зручніше нумерувати так, щоб сплайн
Типічний графік кубічного В-сплайну показано на мал. 3: Мал. 3 - Типічний графік кубічного В-сплайну 2.2 Базис у просторі кубічних сплайнів Функція а) двічі неперервно диференційовна на відрізку б)відмінна від нуля тільки на чотирьох відрізках Відрізок Доповнимо розбиття
За розширеною сіткою:
Ця сім’я утворює базис в просторі кубічних сплайнів на відрізку Умовами задачі коефіцієнти 2.3 Задачі інтерполяції з граничними умовами першого та другого роду У випадку коли задані значення
Після виключення При розв’язанні задачі інтерполяції другого роду використовують значення похідних другого порядку на кінцях сітки:
таким самим чином, як і під час розв’язування задачі інтерполяції першого роду. 2.4 Апроксимація кубічними В-сплайнами Нехай задана таблиця чисел Розглянемо апроксимацію кубічними В-сплайнами. Конструкція нормованого кубічного В -сплайна зазвичай задається так:
В правій частині (17) стоять многочлени третього степеня виду:
Коефіцієнти ai
, bi
, ci
, di
визначаються із системи чотирьох рівнянь, отриманих при умовах:
При конкретизації виразу (18) використовуються формули (19), що задовольняють умови стику у вузлах ai -2 , ai -1 , ai , ai +1 для сплайнів:
Та їх похідних по a, позначених штрихом:
В роботі Б.Зав’ялова [6] для рівномірної сітки Тут Загальний інтерполяційний вираз, в якому використовуються нормовані кубічні В -сплайни (22), записуються так:
де Запишемо (23) в розгорнутому вигляді. Для цього, використавши (22) отримаємо всі вирази для
Вираз для
Сплайн
І, нарешті із першого виразу (22), замінюючи x на x-2, отримаємо:
Тоді остаточний варіант інтерполяційного виразу, основаного на застосуванні нормованих кубічних В-сплайнів, отримаємо шляхом підстановки виразів (24)-(27) в (23)
Вираз (28) дає четвертий порядок апроксимації функції
Більш високий порядок апроксимації можна отримати за допомогою так званих напружених сплайнів, при цьому інтерполяційний вираз (29) зберігає свій вигляд, а функції, які входять до його складу задаються так:
Інтерполяційний вираз виду (29) використовується, як для визначення шуканих величин між вузлами координатної сітки, так і для апроксимації частинних похідних, котрі входять до складу повної системи рівнянь [8]. 2.5 Практичність вивчення кубічних В-сплайнів у вищих навчальних закладах В-сплайни є більш практичні у використанні ніж природні сплайни, оскільки поліноміальні коефіцієнти природних сплайнів вимагають всіх Першим кроком є вибір порядку базису сплайнів, щоб досягати бажану гладкість і полегшити обчислювання. Як найефективніші, були вибрані кубічні В-сплайни, тобто сплайни третього порядку, через наступні причини: 1. Поліноми нижніх степенів дають дуже низьку гнучкість в управлінні формою кривої. В-сплайни першого порядку (прямі лінії) не дають задовільної гладкості апроксимуючої кривої. В-сплайни другого порядку дають гладку криву, але проблема виникає в точках, де з'єднуються сегменти кривої. Щоб зрозуміти цю проблему, ми введемо нове означення: Означення
. Позначимо В-сплайни другого порядку 2.Поліноми вищого степеня віднімають багато часу в обчислювальному процесі і можуть нести небажані скачки. Крива може "скакати" назад і вперед важко керованими способами. 3. Кажучи, що кубічні В-сплайни дають "задовільну" неперервність, мається на увазі, що око не може виявити геометричну неоднорідність степеня вище, ніж два і практично досить використовувати В-сплайни третього ступеня [9]. Отже, хоч кубічні В-сплайни і є методом, важчим у розрахунках, ніж інші, відомі методи, які застосовуються у задачах для наближення, але він дає набагато точніший результат, і є просто незамінним при розв’язуванні задач, які неможливо розв’язати іншими методами. 3. Практична частина 3.1 Задача №1 Потрібно інтерполювати (використовуючи задачу першого або другого роду) одну з відомих функцій, з допомогою кубічних В-сплайнів, у випадку рівномірної сітки розбиття. Розв’язання:
Для розв’язання цієї задачі візьмемо функцію
і отримаємо наступну систему: ,
Розв’язавши систему (33), знайдемо коефіцієнти (де у нашому випадку Отже необхідно знайти і підставити відповідні значення та розв’язати матричне рівняння:
де Для нашої функції
Тоді три діагональна матриця
підставивши їх у матричне рівняння, отримаємо вектор
Отже, маємо інтерполяційний сплайн функції Побудуємо його графік (в середовищі Matlab): Мал. 4, 5 – Графіки функції На малюнку 4 зображено графік функції Мал. 6, 7 – Розбіжності Для цього будемо шукати максимальну похибку на кожному з відрізків розбиття. Скористаємося наступними формулами:
Мал. 8 – Графік, побудований в середовищі Mathcad
Мал. 9 – Найбільша похибка відрізку Як видно з малюнка 9, найбільша похибка на даному відрізку приблизно дорівнює:
Аналогічно розглянемо всі проміжки розбиття і знайдемо максимальні значення похибок на кожному з них, які представлені в наступній таблиці:
З таблиці видно, що максимальна похибка менша за 0,03%, і, оскільки, задовільною вважається похибка менша чим 5%, то отриману можна вважати практично нульовою. 3.2 Задача №2 Потрібно інтерполювати (використовуючи задачу першого або другого роду) одну з відомих функцій, з допомогою кубічних В-сплайнів, у випадку нерівномірної сітки розбиття. Розв’язання:
Для розв’язання цієї задачі візьмемо функцію
Тоді тридіагональна матриця
їх у матричне рівняння, отримаємо вектор
Побудуємо його графік (в середовищі Matlab): Мал. 10 і 11 – Графік функції На малюнку 10 зображено графік функції Мал. 12, 13 – Розбіжності Для цього будемо шукати максимальну похибку на кожному з відрізків розбиття. Скористаємося наступними формулами:
Неозброєним оком похибки не видно, але вона є, і це показано на малюнку 14, який зображає функцію Мал. 14 – Похибки Аналогічно, як і в попередній задачі розглядаємо всі проміжки розбиття і знаходимо максимальні значення похибок на кожному з них, які представлені в наступній таблиці: Таблиця 5. - Всі проміжки розбиття
З таблиці видно, що максимальна похибка менша за 0,11%, і, оскільки, задовільною вважається похибка менша чим 5%, то отримана нас повністю задовольняє. Ще можна відзначити, що найменша величина похибки досягається на найменшому із сегментів розбиття, тобто чим менші проміжки розбиття тим більша точність (але розбиття на занадто малі сегменти може значно ускладнити обрахунки). Висновки У курсовій роботі було розглянуто лінійні , квадратичні та кубічні В-сплайни. Було отримано форми запису цих сплайнів та виведено деякі формулидлярозрахунків інтерполяційнихзадач.А також представлені рекурентні формули для виведення В-сплайнів 1-го, 2-го, 3-го та вищих порядків. Із розглянутих сплайнів найкращі інтерполяційні якості мають кубічні В-сплайни, тому що саме вони забезпечують задовільну гладкість, на відмінно від лінійних і квадратичних В-сплайнів, а також для кубічних В-сплайнів використовуються порівняно нескладні обчислення, що не скажеш про сплайни вищих порядків, які до того ж можуть мати небажані скачки. Необхідно відмітити перевагуВ-сплайнів надзвичайними сплайн-функціями. В-сплайни складаються з сегментів кривих, залежних тільки від кількох вузлових точок, і тому при локальних змінах крива змінюється лише на одному сегменті, ніяк не впливаючи на криві на інших сегментах. Як було перевірено на практиці кубічні В-сплайни забезпечують дуже високу точність у розрахунках, яка складає менше ніж 0,2%, в той час як задовільною вважається похибка не більше 5%. Отже, хоч кубічні В-сплайни, і є методом важчим у розрахунках ніж інші відомі методи, які застосовуються у задачах для наближення, але він дає набагато точніший результат, і є просто незамінним при розв’язуванні задач, які неможливо розв’язати іншими методами. Це дуже важливо, і тому В-сплайни доцільно вивчати у ВНЗ, щоб студенти могли розв’язувати, нерозв’язні раніше, задачі, і отримувати результати високої точності. Кубічні В-сплайни мають численні застосування як в математичній теорії, так і в різноманітних обчислювальних задачах. Сплакни застосовують при вивченні «Чисельних методів», як додатковий метод інтерполяції, та при розв’язуванні рівнянь математичної фізики. Особливо зручно з допомогою сплайн-функцій розв’язувати апроксимаційні та інтерполяційні задачі. Список використаних джерел 1.Корнейчук Н. П. Сплайны в теории приближения. / Н. П. Корнейчук. – М. : Наука, 1984. – 352с. 2.Сплайн – интерполяция. // Електронний ресурс: http://petrsu.karelia.ru/psu/Deps/IMO/Complex/part3/part34_a.htm 3.Калиткин Н. Н. Численные методы. / Н. Н. Калиткин. – М. : Нака, 1978. – 512с. 4.СеливановаИ. А. Интерполяция сплайнами. / И. А. Селиванова.–Свердловск: УПИ, 1989. – 11с. 5.Пак Т. В. Лабораторные работы по Численным методам. / Т. В. Пак. Учебно-методическое пособие. – Владивосток: Изд-во Дальневост. ун-та, 2006. – 24с. 6.Завьялов Ю. С. Методы сплайн-функций. / Ю. С. Завьялов, Б. И. Квасов, В. Л. Мирошниченко. – М. : Наука, 1980. – 280с. 7.В-сплайн. // Електронний ресурс: http://uk.wikipedia.org/wiki/B-сплайн 8.Шикин Е. В. Кривые и поверхности на экране компьютера. / Е. В. Шикин, Л. П. Плис. Руководство по сплайнам для пользователей. – М. : ДИАЛОГ-МИФИ, 1996. – 240с. 9.В-сплайны. // Електронний ресурс: http://www.masters.donntu.edu.ua/2005/kita/tribrat/library/splines.htm |