Кускова інтерполяція функцій кубічними многочленами Бесселя

Автор работы: Пользователь скрыл имя, 16 Марта 2011 в 21:09, курсовая работа

Краткое описание

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

Програма виконує такі основні функції:

•Розпізнавання формули, яку введено у відповідному вікні;
•Пошук мінімального та максимального значення функції у певному діапазоні зміни аргументу, який вводиться у вікні програми;
•Побудова графіку функції у відповідному діапазоні;
•Розрахунок аргументів функцій та значень функцій у рівновіддалених точках, кількість яких вводиться у вікні програми та занесення розрахованих величин у відповідну таблицю;
•Проведення кускової інтерполяції кубічними многочленами Бесселя та побудова відповідної кривої.

Содержание работы

ЗАВДАННЯ НА ДИПЛОМНУ РОБОТУ СТУДЕНТУ 3

АНОТАЦІЇ 5

ЗМІСТ 7

ТЕОРЕТИЧНА ЧАСТИНА 9

1. ТЕХНІЧНЕ ЗАВДАННЯ 10

1.Підстави для розробки 10
2.Призначення розробки 10
3.Аналіз вимог до програмного забезпечення 10
1.Функціональні вимоги 10
2.Вимоги до складу та параметрів технічних засобів 11
3.Вимоги до інтерфейсу 11
4.Вимоги до інформаційної та програмної сумісності 12
5.Вимоги до тестування програмного забезпечення 12
1.4.Вимоги до програмної документації 12

1.4.1. Склад супроводжувальної документації 12

1.4.2. Вимоги до супроводжувальної документації 13

1.5. Стадії та етапи розробки 13

1.6. Порядок контролю і приймання 14

ПРАКТИЧНА ЧАСТИНА 15

2. АРХІТЕКТУРА, ФУНКЦІОНАЛЬНІ ТА ТЕХНІЧНІ ПОКАЗНИКИ 16

2.1. Призначення та область застосування 16

2.2. Опис та обґрунтування обраної архітектури 16

2.3. Функціональна специфікація 18

1.Опис функціональних можливостей 18
2.Опис інтерфейсу користувача 18
2.4.Технічна специфікація 23

2.4.1. Опис діаграми модулів 23

2.4.2. Опис і обґрунтування вхідних та вихідних даних 24

2.5. Математичне забезпечення 25



3. КОНСТРУЮВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ 29

3.1. Опис і обґрунтування обраних програмних засобів 29

3.2. Опис програми 29

3.2.1. Функціональні можливості 29

3.2.2. Опис логічної структури 30

3.2.3. Виклик і завантаження 32

3.2.4. Використані технічні засоби 32

4. ПРОГРАМА ТА МЕТОДИКА ВИПРОБУВАНЬ 33

4.1. Об‘єкт випробувань 33

4.2. Використані технічні засоби 33

4.3. Порядок та методика випробувань 33

4.4. Результати випробувань 35

5. ВИСНОВКИ 36

6. ВИКОРИСТАНА ЛІТЕРАТУРА 37

7. ДОДАТКИ 38

Додаток А. Код програми 38

Содержимое работы - 2 файла

Головна_Курсова_Фугело.doc

— 697.00 Кб (Скачать файл)

Рис. 2.7. Діаграма модулів. 

2.4.2. Опис і обґрунтування вхідних та вихідних даних

     Оскільки  розроблене програмне забезпечення реалізує алгоритм кускової інтерполяції кубічними многочленами Бесселя, за допомогою якого відбувається інтерполяція початкового графіка функції, вхідні та вихідні дані при різних режимах роботи програми (пункт 2.2 “Опис та обгрунтування обраної архітектури”) будуть практично повністю співпадати.

     

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

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

     

     2.5. Математичне забезпечення

     Для кращого розуміння принципів роботи розробленого програмного забезпечення нижче розглянуті деякі теоретичні моменти.

     Інтерполяція  функцій

     Постановка  задачі

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

Рис. 2.8. Ілюстрація процесу інтерполяції 

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

     1) Функцію задано таблично для  деяких значень аргументу, а  треба знайти її значення при  тих аргументах, яких в таблицях  немає;

     2) Функцію задано графічно, а треба знайти її аналітичний вираз;

     3) Функцію задано аналітично, але  її вираз досить складний і  не зручний для виконання математичних  операцій.

     Інтерполяція  за Лагранжем

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

     

     

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

     

;
;
.

     

     Таким чином: .

     Отже, поліном Лагранжа приймає вигляд:

     Сплайнова інтерполяція

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

     1) Має вигляд: , де ;

     2) Функції  та їхні перші та другі похідні у вузлах інтерполяції неперервні: , де ; ;

     3) Значення функції інтерполюючі: .

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

     1) рівнянь складаються з умови , тобто: ;

     2) рівнянь складаються з умови , тобто: ;

     3) рівнянь складаються з умови , тобто: ;

     

     4) рівнянь складаються з умови , тобто: ;

     Два рівняння, яких не вистачає виберемо з  умови, що кривизна сплайну в точках та дорівнювала нулю, тобто та , отже:

     5) одне рівняння: ;

     6) одне рівняння: .

     Таким чином, об’єднуючи 1) – 6), запишемо систему  лінійних рівнянь для знаходження невідомих коефіцієнтів :

     Наприклад, для чотирьох точок, сплайн буде складатися з трьох частин, а для побудови сплайн-інтерполяції необхідно буде розв’язати систему з дванадцяти лінійних рівнянь.

Рис. 2.9. Схема сплайн-інтерполяції  
 
 
 
 
 

     Кускова інтерполяція кубічними многочленами Бесселя

     Нехай в точках відомі значення функції . Параметр , і = 2, 3, ..., п-1 в загальній схемі інтерполяції Кусково-кубічними функціями приймається рівним значенню в точці похідної многочлена другого степеня, що співпадає з в точках . За інтерполяційною формулою Ньютона:

     Отже:

     

, і=2,3, ..., п-1.

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

     Основні властивості інтерполюючої функції  :

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

     2) Метод наближення є лініним: , .

     Похибка апроксимації на відрізках  і залежить від способу вибору значень і .

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

, і = 2, 3, ..., п-1.

  

3. КОНСТРУЮВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ 

     3.1. Опис і обґрунтування  обраних програмних  засобів

     Delphi побудована на нових засадах, пов’язаних з операційною системою Windows, об’єкто-орієнтованим програмуванням, технологією візуального проектування, технологією клієнт/сервер, використання компонент тощо. Важливим досягненням Delphi є технологія візуального проектування. Програми будують на базі стандартних компонент.

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

Інструменти середовища Delphi:

      - головне меню;

      - панель інструментів;

      - палітра компонентів;

      - інспектор об’єктів;

      - вікно форми;

      - редактор коду програми. 

     3.2. Опис програми

     3.2.1. Функціональні можливості

     В створеному програмному забезпеченні розроблені такі функції:

  • Побудова графіків функцій;
  • Розрахунок параметрів інтерполяційного поліному;
  • Можливість введення вхідних даних з клавіатури;
  • Можливість введення вхідних даних з файлу;
  • Збереження введених даних у файл;
  • Збереження вихідних даних у файл;
  • Виведення координат інтерполяційних точок у вигляді таблиці;
  • Виведення координат миші у системі координат миші;
  • Стабільна робота при широкому діапазоні параметрів графіків;
  • Блокування невірних дій користувача;

    3.2.2. Опис логічної  структури

     Структуру даного програмного забезпечення зручно подати у вигляді наступної блок-схеми:

Рис 3.1. Взаємодія користувача з програмою. 

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

     При натисненні кнопки “Згенерувати таблицю” відбудеться заповнення таблиці координатами інтерполяційних точок.

     Після виконаних дій користувач може зберегти введену з клавіатури початкову інформацію та графік функції за допомогою кнопки „Зберегти”.

     При розробці програмного забезпечення було передбачено блокування неправильних дій користувача. Наприклад: для правильної побудови інтерполяційного полінома необхідно мінімум дві точки (для проведення прямої лінії). Коли користувач намагається задати кількість точок для проведення інтерполяції, яка менша двох – система видасть попередження „Невірна кількість точок”.

Рис. 3.2. Блокування проведення інтерполяції. 

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

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

Рис. 3.3. Блокування відкриття файла.

3.2.3. Виклик і завантаження

     Для завантаження програмного забезпечення необхідно двічі клацнути лівою  кнопкою мишки по значку виконавчого  файлу (GraphF.exe)  або ярлика, що вказує на цей файл. 

     3.2.4. Використані технічні  засоби

     В процесі розробки було використано наступне програмне забезпечення:

                                                                Таблиця 3.1

Апаратна  конфігурація технічного забезпечення

Процесор AMD Sempron 3000+
ОЗП 400 МГц, 512 мб.
Відеоадаптер GeForce 6200, 128 Мб
Жорсткий  диск 120 Гб

ТИТУЛЬНА_Курсова_Фугело.doc

— 80.50 Кб (Открыть файл, Скачать файл)

Информация о работе Кускова інтерполяція функцій кубічними многочленами Бесселя