Курсовая работа по предмету "Программирование, компьютеры и кибернетика, ИТ технологии"


Знаходження значення функції за допомогою інтерполяційної формули Бесселя



18

Міністерство освіти і науки України

Вінницький національний технічний університет

Інститут АЕКСУ

Факультет ФЕЛТ

Кафедра Електроніки

КУРСОВА РОБОТА

З дисципліни “Обчислювальна математика”

Алгоритм та програма знаходження значення функції за допомогою інтерполяційної формули Бесселя

2004

ЗАВДАННЯ

на курсову роботу з дисципліни

“Обчислювальна математика”

студентові гр. МП-02 ТвердохлібуА.М. пропонується розробити

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

Основні вхідні дані:

1. Кількість вузлів таблично заданої функції - не більше 100.

2. Похибка обчислень - не більше 0,001.

Основні вихідні дані:

1. Пояснювальна записка до курсової роботи.

2. Виконуваний файл програми.

АНОТАЦІЯ

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

ВСТУП

Задача знаходження значення функції у міжвузловій точці за допомогою інтерполяційної формули Бесселя має важливе значення при вирішенні як наукових, так і практичних задач, оскільки дає можливість знаходження значення функції у будь-якій точці, в якій це потрібно. В багатьох випадках функція не має аналітичного вигляду, тобто він невідомий, а задана лише декількома точками та значеннями функції в цих точках. Тому для отримання значення функції в проміжних точках застосовуються інтерполяційна формули Гауса (1-а та 2-а), інтерполяційна формула Стірлінга та Бесселя. Останні дві формули є похідними від першої та другої інтерполяційних формул Гауса. Кожна з цих формул має свої переваги та недоліки, що полягають у кількості обчислювальних операцій та в похибці обчислень.

Серед сучасного програмного забезпечення є багато програм чисельного аналізу, до яких можна віднести всесвітньо відомі пакети програм MathCad та MatLab. Вони, як правило, мають зручний інтерфейс та є багатофункціональними. Але їх недоліком є те, що задачі чисельного аналізу певного класу (наприклад, знаходження першої похідної) вирішуються за допомогою лише деякого одного методу. Крім того, вони займають багато дискової памяті та вимагають певного часу для того, щоб навчитися ними користуватися. Тому в даній курсовій роботі була поставлена задача розробити програму знаходження значення функції у міжвузловій точці за допомогою інтерполяційної формули Бесселя, яка займала б небагато памяті та була б простою у користуванні.

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

ТЕХНІЧНЕ ЗАВДАННЯ

1.Основою для проведення роботи є навчальний план кафедри Електроніки ВНТУ.

Замовник - кафедра Електроніки ВНТУ.

Виконавець - студент гр.. МП - 02 Твердохліб А.М.

2. Мета роботи.

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

3. Етапи виконання роботи.

Зміст

Строки

виконання

Чим закінчується етап

1.Отримання і узгодження завдання

Розробка ТЗ

2-й тиждень

Технічне завданя

2.Розробка методу рішення

5-й тиждень

Теоретичні відомості про метод, порівняльний аналіз, приклади застосування

3.Алгоритмізація

8-й тиждень

Блок-схеми алгоритмів та їх порівняльний аналіз

4.Розробка і налагодження програми

12-й тиждень

Опис, текст та результати тестування програми

5.Розробка документації на курсову роботу

15-й тиждень

Пояснювальна записка(ПЗ) до курсової роботи

6.Захист курсової роботи

16-й тиждень

ПЗ та виконуваний файл програми

4.1 Кількість вузлів таблично заданої функції - не більше 100.

4.2 Похибка обчислень - не більше 0,001.

4.3 Алгоритм повинен бути оптимізований за часом виконання та розміром.

4.4 Програма повинна бути розроблена за принципами структурного та модульного програмування.

5. Спосіб реалізації результатів.

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

6. Техніко економічне обґрунтування.

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

7. Порядок розгляду і приймання роботи:

7.1 Курсова робота приймається комісією в складі двох викладачів за участю керівника роботи.

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

8. Додаткові відомості.

Дане ТЗ може змінюватись і корегуватись за спільною домовленістю замовника та виконавця.

ТЕОРЕТИЧНІ ВІДОМОСТІ. ІНТЕРПОЛяція ФУНКЦІЙ

1. ПОСТАНОВКА ЗАДАЧІ ІНТЕРПОЛЯЦІЇ

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

у0, у1,... , уn.

Таблиця 1

Таблиця експериментальних значень

x

x0

x1

x2

....

xn

y

y0

y1

y2

....

yn

Також нехай необхідно визначити значення у=f(х), (хi-1<<хi). Величина х= потрапляє між двома табличними значеннями, тому для обчислення значення функції необхідно запропонувати деякий характер її зміни між відомими експериментальними даними.
Інтерполяцію можна розглядати як процес визначення для даного аргументу х значення функції у=f(х) по її декількох відомих значеннях. При цьому розрізняють інтерполяцію у вузькому смислі, коли х знаходиться між x0 і xn, і екстраполювання, коли х знаходиться поза відрізком інтерполяції [x0 , xn].
Задача інтерполяції полягає в наступному. На відрізку [а, b] задані n+1 точки х0, х1, ... , хn, що називаються вузлами інтерполяції, і значення деякої функції f(x) у цих точках.
f(x0) = y0;
f(x1) = y1;(1)
f(xn) = yn
Потрібно побудувати функцію Рn(х) (інтерполюючу функцію), яка б задовольняла таким умовам:
Pn(x0) = y0;
Pn(x1) = y1;(2)
Pn(xn) = yn
тобто інтерполююча функція Рn(х) повинна приймати ті ж значення, що і функція f(х), яку ми визначаємо (що інтерпелюється), для вузлових значень аргументу х0, х1, ... , хn.
Геометрично це означає, що потрібно знайти криву y=Pn(х) деякого визначеного типу, що проходить через задану систему точок Мiii) (i=0,1,2,..,n). Очевидно, можна побудувати множину неперервних функцій, що будуть проходити через задані вузлові точки.[1]
Заміна функції f(х) її інтерполяційним багаточленом Рn(x) може знадобитися не тільки тоді, коли відома лише таблиця її значень, але і коли аналітичний вираз для f(х) відомо, проте є занадто складним і незручним для подальших математичних перетворень (наприклад, для інтегрування, диференціювання та ін.). Іноді розглядаються задачі тригонометричної інтерполяції (інтерполююча функція - тригонометричний поліном). Інтерполюючою може бути також раціональна функція.
У загалі залежність, якої підпорядковується функція, може бути апроксимована багаточленом ступеня n:
Рn(x) = y = a0 + a1 • x + a2 • x2 + ... + an • xn. (3)
Таку задачу називають задачею параболічної інтерполяції (або інтерполюванням).
Загалом є багато інтерполяційних формул та методів. До них відносяться такі: інтерполяційні формули Гауса (дві), Стерлінга та Бесселя (які є похідними від формул Гауса), Ньютона (дві) та багато інших.

2. ПАРАБОЛІЧНА ІНТЕРПОЛЯЦІЯ

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

yi = a0 + a1 • xi + a2 • xi2 + ... + an • xin,(4)

де i = 1, 2,. . . n+1.

Даним методом побудови інтерполяційного поліному зручно користуватися, маючи персональний компютер і відповідні програми. Даний метод не є єдиним способом побудови інтерполяційного поліному. Інший підхід, яким часто користуються на практиці, називається методом Лагранжа.[2]

3. МЕТОД ЛАГРАНЖА

Нехай при х=х0, х1, ... , хn функція f(х) приймає відповідно значення у0, у1,... , уn. Багаточлен ступеня не вище n, що приймає у вузлових точках задані значення, має вид:

Рn(х)=у=. (5)

Цей багаточлен (5) називається інтерполяційною формулою Лагранжа і має такі властивості:

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

Багаточлен Лагранжа може бути побудовано при будь-якому розташуванні вузлів інтерполяції (включаючи і нерівномірне).

У розгорнутому виді форма Лагранжа має вид:

Рn(х)= +

++

+ … + +

+ … + .(6)

При n=1 формула Лагранжа має вид:

Р(х) =(7)

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

При n=2 одержимо формулу квадратичної інтерполяції:

Р(х)=. (8)

4. ЗВОРОТНА ІНТЕРПОЛЯЦІЯ

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

Якщо вузли інтерполяції x0, x1, x2, … xn нерівновіддалені, задача легко вирішується за допомогою інтерполяційної формули Лагранжа (5). Для цього достатньо прийняти у за незалежну змінну, а х вважати функцією. Тоді отримаємо

x = (9)

Розглянемо тепер задачу зворотної інтерполяції для випадку рівновіддалених вузлів інтерполяції. Припустимо, що функція f(х) монотонна і дане значення у знаходиться між y0=f(x0) і y1 = f(x1).

Замінюючи функцію у=f(x) першим інтерполяційним багаточленом Ньютона, одержимо:

y = y0 + q y0 + 2y0 + 3y0 +…+ ny0 .

Звідси

q = 2y0 - …-ny0 ,

тобто q=(q).

Розмір q визначаємо методом послідовних наближень як границю послідовності:

q = ,

де qi = (qi-1) (i=1, 2,…).

За початкове наближення приймаємо

q0 = (10)

Для i-го наближення маємо:

qi = q0 - 2y0 - …-ny0 . (11)

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

= q,

звідки

х = x0 + q h.(12)

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

y = yn + qyn-1 + 2yn-2 + 3 yn-3 + …

+ ny0 .

Звідси

q = 2yn-2 - …-ny0 ...

Позначимо q0 = - початкове наближення.

Для i-го наближення маємо:

qi = q0-2yn-2 - …-ny0 ... (13)

Знайдемо

q = ,

визначимо х по формулі

х = xn + q h .[3], [2]

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

ІНТЕРПОЛЯЦІЙНА ФОРМУЛА БЕССЕЛЯ

Часто використовується інтерполяційна формула Бесселя. Для виведення цієї формули скористаємось другою інтерполяційною формулою Гауса:

у скороченому вигляді:

де х=х0+qh

Візьмемо 2n+2 рівновіддалених вузлів інтерполювання

x-n, x-(n-1),..., x0,..., xn-1, xn, xn+1

з кроком h, і нехай

yi= f(xi) (i =-n,…,n+1)

- задані значення функції y= f(x).

Якщо вибрати за початкові значення x= x0 та y= y0, то, використовуючи вузли xk (k= 0, ±1, …, n), будемо мати:

(1)

Приймемо тепер за початкові значення х=х1 і у=у1 і використаємо вузли х1+к (к=0, 1,...,n). Тоді

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

(2)

Взявши середнє арифметичне формул (1) і (2), після простих перетворень отримаємо інтерполяційну формулу Бесселя

(3)

де

Інтерполяційна формула Бесселя (3), як слідує з способа отримання її, представляє собою поліном, що співпадає з даною функцією y= f(x) в 2n+2 точках

x-n , x-(n-1),…, xn , xn+1.

В частинному випадку, при n=1, нехтуючи різницею ?3y-1, отримаємо формулу квадратичної інтерполяції по Бесселю

P(x)=

Або

де

В формулі Бесселя всі члени, які містять різниці непарного порядку, мають множник q-; тому при формула (3) значно спрощується :

Цей спеціальний випадок формули Бесселя називається формулою інтерполювання на середину. Якщо в формулі Бесселя (3) зробити заміну по формулі

то вона приймає більш симетричний вид

де

ЗАГАЛЬНИЙ ОПИС ПРОГРАМИ

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

PROCEDURE vvod - процедура введення даних, тобто задання початкових умов (кількість вузлів, задаються X та відповідні їм Y, а також X, в яких потрібно знайти значення ф-ї).

PROCEDURE ddd -дана процедура формує трикутну таблицю різниць значень

ф-ї.

PROCEDURE rech- процедура рішення задачі за інтерполяційною формулою Бесселя.

PROCEDURE vivod- це процедура виведення результатів роботи програми, які виводяться файлі f2, який має назву «ANA.NAS».

FUNCTION pos1 (j, q: real): real; - функція, яка обчислює для формули Бесселя чисельник її доданків.

FUNCTION fak (j: integer): real; - функція для обрахунку факторіала в знаменнику доданків формули.

Також в програмі використовуються такі позначення:

kol- позначено кількість точок (вузлів), в яких потрібно знайти значення функції.

zad- назва масива, в який заносимо ікси, значення функції в яких бажаємо знайти.

otv- назва масива для відповідних ігреків.

f1- це файл, який має назву «st1.tab», з нього читаються задані ікси та ігреки.

f2- файл, який має назву «ana.nas», - це файл виведення, з нього читаються результати роботи програми.

n- кількість вузлів інтерполяції.

h- крок задання точок.

Література

Вычислительная техника в инженерных и экономических расчетах

/ А.В.Крушевский, А.В.Беликов, В.Д.Тищенко - Киев: «Высшая школа». Главное изд-во, 1985. - 290 с.

2. Дифференциальное и интегральное исчисления /Н.С.Пискунов- Москва: «Наука». Главная редакция физико-математической литературы, 1978.-576 с.

3.Численые методы в инженерных исследованиях /В.Е.Краскевич, К.Х.Зеленский, В.И.Гречко - Киев: Главное изд-во «Высшая школа», 1986.-263 с.




Не сдавайте скачаную работу преподавателю!
Данную курсовую работу Вы можете использовать для написания своего курсового проекта.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем курсовую работу самостоятельно:
! Как писать курсовую работу Практические советы по написанию семестровых и курсовых работ.
! Схема написания курсовой Из каких частей состоит курсовик. С чего начать и как правильно закончить работу.
! Формулировка проблемы Описываем цель курсовой, что анализируем, разрабатываем, какого результата хотим добиться.
! План курсовой работы Нумерованным списком описывается порядок и структура будующей работы.
! Введение курсовой работы Что пишется в введении, какой объем вводной части?
! Задачи курсовой работы Правильно начинать любую работу с постановки задач, описания того что необходимо сделать.
! Источники информации Какими источниками следует пользоваться. Почему не стоит доверять бесплатно скачанным работа.
! Заключение курсовой работы Подведение итогов проведенных мероприятий, достигнута ли цель, решена ли проблема.
! Оригинальность текстов Каким образом можно повысить оригинальность текстов чтобы пройти проверку антиплагиатом.
! Оформление курсовика Требования и методические рекомендации по оформлению работы по ГОСТ.

Читайте также:
Разновидности курсовых Какие курсовые бывают в чем их особенности и принципиальные отличия.
Отличие курсового проекта от работы Чем принципиально отличается по структуре и подходу разработка курсового проекта.
Типичные недостатки На что чаще всего обращают внимание преподаватели и какие ошибки допускают студенты.
Защита курсовой работы Как подготовиться к защите курсовой работы и как ее провести.
Доклад на защиту Как подготовить доклад чтобы он был не скучным, интересным и информативным для преподавателя.
Оценка курсовой работы Каким образом преподаватели оценивают качества подготовленного курсовика.

Сейчас смотрят :

Курсовая работа Институциональное направление в экономике
Курсовая работа Негосударственные пенсионные фонды в РФ. Современное состояние. Перспективы развития
Курсовая работа Организация и развитие складского хозяйства оптового предприятия
Курсовая работа Анализ финансового состояния предприятия
Курсовая работа Анализ и оценка кредитоспособности заемщика
Курсовая работа Подходы и оценки эффективности розничной продажи товаров на примере магазина ООО "Аннушка"
Курсовая работа Адаптивная технология возделывания горчицы в ООО "Тингутинское" Светлоярского района Волгоградской области
Курсовая работа Корпоративная культура
Курсовая работа Формирование системы мотивации персонала
Курсовая работа Административная ответственность
Курсовая работа Развитие памяти у детей дошкольного возраста
Курсовая работа Структура оценки персонала
Курсовая работа Юбка
Курсовая работа Экономическая безопасность
Курсовая работа Финансовая система РФ