1   2   3
Ім'я файлу: Курсова.doc
Розширення: doc
Розмір: 455кб.
Дата: 22.06.2020
скачати


Міністерство освіти і науки України Вінницький національний технічний університет Факультет інформаційних технологій та комп'ютерної інженерії Кафедра комп'ютерних наук

КУРСОВА РОБОТА
з дисципліни «Чисельні методи»
на тему: «Програмна реалізація алгоритму обчислення значення функції за першим інтерполяційним многочленом Ньютона»

Студента 2 курсу, групи КН-18б

спеціальності 122 – «Комп'ютерні

науки»

Ясінський О.С.________

(прізвище та ініціали)

Керівник: к.т.н., доцент Крилик Л. В.
Національна шкала
Кількість балів
Оцінка ECTS

Члени комісії:

(підпис) (прізвище та ініціали)

(підпис) (прізвище та ініціали)

(підпис) (прізвище та ініціали)

м. Вінниця, 2020 рік




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

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

Факультет інформаційних технологій та комп’ютерної інженерії

ЗАТВЕРДЖУЮ

Зав. кафедри КН, проф., д.т.н.

______________ А. А. Яровий

(підпис)

«___» ______________ 2020 р.


ІНДИВІДУАЛЬНЕ ЗАВДАННЯ

на курсову роботу з дисципліни «Чисельні методи»
студенту Ясінському О. С. факультету ІТКІ, групи КН-18б
Тема: «Програмна реалізація алгоритму  екстраполювання функції за першою інтерполяційною формулою Ньютона»
Вихідні дані:

- Кількість вузлів інтерполювання не більше 20.

- Кількість значущих цифр .

Зміст до курсової роботи

Індивідуальне завдання

Анотація

Вступ

1. Аналіз теоретичної бази методів екстраполювання функції

2. Розробка алгоритмів та вибір оптимального алгоритму

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

Висновки

Перелік джерел посилань

Дата видачі «____» _________ 2020 р. Керівник _____________________

(підпис)

Завдання отримав_______________

(підпис)















ЗМІСТ




ВСТУП………………….……………………………………………...

5

1 АНАЛІЗ ТЕОРЕТИЧНОЇ БАЗИ МЕТОДІВ ІНТЕРПОЛЮВАННЯ




ФУНКЦІЇ …………………………………………………………...

6

2 РОЗРОБКА АЛГОРИТМІВ ТА ВИБІР ОПТИМАЛЬНОГО




АЛГОРИТМУ……………………………………………………….

21

3 ПРИКЛАД ПРОГРАМИ ОБЧИСЛЕННЯ ЗНАЧЕННЯ ФУНКЦІЇ




ЗА ПЕРШИМ ІНТЕРПОЛЯЦІЙНИМ МНОГОЧЛЕНОМ




НЬЮТОНА……………………………………………………………

24

3.1

Інструкція користувача…………………………………………

25

3.2

Лістинг програми………………………………………………

26

3.3

Опис програми…………………………………………………

27

3.4

Тестування програми………………………………………….




ВИСНОВКИ…………………………………………………………….

28

ПЕРЕЛІК ДЖЕРЕЛ ПОСИЛАНЬ……………………………………

29


АНОТАЦІЯ
Об'єктом дослідження є перший інтерполяційний многочлен Ньютона. Розроблено оптимальний алгоритм та програму в середовищі С++ як за розміром пам'яті, необхідної для збереження даних, які обчислюються під час виконання алгоритму, так і за кількістю арифметичних операцій для обчислення за основною формулою. Програма має зручний та наочний інтерфейс, який максимально спрощує роботу з нею, та автоматичну перевірку коректності даних, що вводяться.


ВСТУП
Актуальність теми
Методи інтерполяції і наближення функцій використовуються в чисельних процедурах для локальної апроксимації експериментальних даних.
Інтерполяцію використовують для наближеного обчислення значень різних функцій. Крім того, параболічне інтерполювання найзручніше, оскільки многочлени, які прості за формою і не мають особливих точок, можуть набувати довільних значень. Їх легко обчислювати, диференціювати та інтегрувати. Інтерполяційні формули Ньютона мають певні переваги. Адже якщо до заданої системи рівновіддалених вузлів інтерполювання до-дати ще один, то відповідний многочлен Лагранжа треба будувати заново,



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

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




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


Об'єкт дослідження. Об'єктом дослідження є перший інтерполяційний многочлен Ньютона.

1 АНАЛІЗ ТЕОРЕТИЧНОЇ БАЗИ МЕТОДІВ
ІНТЕРПОЛЮВАННЯ ФУНКЦІЇ
Інтерполяцію в інженерній та науковій практиці використовують для наближеного обчислення значень функцій. Якщо функція належить до класу алгебраїчних многочленів, то інтерполювання називають параболічним. Параболічне інтерполювання найзручніше, оскільки многочлени, які прості за формою і не мають особливих точок, можуть набувати довільних значень. Їх легко обчислювати, диференціювати та інтегрувати, однак у деяких випадках доцільніше використовувати інші класи інтерполювальних функцій.
Розглянемо класичні методи інтерполювання функції [1 – 12]. Формула Лагранжа дає можливість знайти вираз інтерполяційного

многочлена у явному вигляді:


n

( xx 0 )( xx1 )...( xxi 1)( xxi 1)...( xxn )







Ln( x )


































yi.

( x

x

)( x

x )...( x

x

)( x

x

)...( x

x

)

i0







i

0

i

1

i

i 1

i

i 1

i

n








Щоб побудувати інтерполяційний многочлен Лагранжа, потрібно ви-конати значну обчислювальну роботу. Обсяг її суттєво зростає тоді, коли необхідно підвищувати порядок многочлена: якщо до заданої системи вузлів інтерполювання xi (i  0,1, ..., n) додати ще хоч один вузол xn1 , то для нової системи вузлів xi (i  0,1, ..., n 1) многочлен Лагранжа потрібно будувати заново.
Якщо необхідно обчислити лише значення функції у певній точці, доцільно застосувати схему Ейткіна. Особливістю цієї схеми є однотипність обчислень.

P0,1..,n (x)

1




P0,1..., n1 (x )

x 0

x




,







x n x0




P1,2,..,n (x )

x n x

















де P0,1,..., n1(x) і P1,2...,n (x) – значення інтерполяційних многочленів (n 1) -го степеня, обчислених у точці x на попередньому кроці обчислень.
Легко впевнитись, що P0,1,...,n (xi )  yi (i  0,1, ..., n) і P0,1,2,...,n (x) збігається
з інтерполяційним многочленом Лагранжа n -го степеня.

Отже, щоб обчислити в точці x значення інтерполяційного многочлена n -го степеня за схемою Ейткіна,потрібно в цій точці обчислити значення


  1. лінійних, n 1 квадратичних, n  2 кубічних многочленів тощо, два многочлени (n 1) -го степеня і, нарешті, один многочлен n -го степеня. Всі ці


многочлени виражають через визначник 2-го порядку, а це робить обчислення однотипними, циклічними [7 – 12].

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

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


  • многочлені Ньютона додається лише один новий доданок, і вже обчислені залишаються без змін.

Розглянемо детально перший інтерполяційний многочлен Ньютона. Нехай значення функції f задано для рівновіддалених значень аргу-
менту x0 , x1x 0h , x2x 0  2h , …., xnx 0nh . Позначимо ці значення


функції відповідно через y0 ,

y1, y2, … , yn.







Побудуємо інтерполяційний многочлен n -го степеня вигляду:




P n(x ) a 0

a1(x x 0) a 2(x x 0)(x x1)

(1.1)

a3(x x 0)(x x1)(x x 2)... a n(x x 0)(x x1)...(x xn1)




так, щоб у вузлах інтерполювання xi (i  0,1, ... ,n)

він набував значень yi

(i  0,1, . . . , n ) , тобто задовольняв умову







Pn(xi) yi

(i  0,1, . . . ,n) .




(1.2)


Користуючись умовою (1.2), визначимо коефіцієнти a 0 , a1 ,..., an много-члена (1.1).
Покладемо в (1.1) xx0 . Тоді з (1.2) дістанемо
y 0 Pn(x0) a0, a 0 y0.
Якщо xx1 , маємо
y1 P n(x1) a 0 a1(x1 x0)
або, оскільки x1x 0h і a 0y0 ,
y1 y 0 a1h ,
звідси

a1 y1 y 0 y0 .




h h
Аналогічно, якщо xx2 , дістанемо


y 2 Pn( x 2) a 0 a1( x 2 x 0) a 2( x 2 x 0)( x 2 x1) .
Підставивши в цю формулу знайдені раніше значення коефіцієнтів a0 та a1і,врахувавши,що x2 x 02h , x2 x1 h ,дістанемо
y 22y1 y 0 a 22!h2.
Звідси

a2 y 2 2y1 y 0 2 y0 .




2!h 2 2!h2

Аналогічно, якщо xx3 ,

a3 y 3 3y 2 3y1 y 0 3 y0 .




3!h 3 3!h3
Взагалі, для будь-якого k





k y

0

0

a




(k  0,1,..., n) ( y 0y0 ) .

k

k !hk




Підставивши знайдені







значення

коефіцієнтів




ak(k0,1,...,n

дістанемо

























y
















2 y

























P (x ) y












0

(xx

) 

0

(xx




)(xx ) 
















h




2!h2




n










0




























0
















0




1






3 y

0

(xx

)(xx )(xx




)...








































3!h3










0










1




2


















k y

0

(xx )(xx )...(xx

k 1

)

...






















k !hk













0







1



























n y

0

(xx




)(xx )...(xx

n1

).











































n!hn







0







1




















(1.1),

(1.3)


Цей многочлен називають першим інтерполяційним многочленом Ньютона.

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


f (x ) Pn(x) .

(1.4)


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

самої функції f та однієї й тієї самої системи вузлів xi (i  0,1, . . . , n) , то


за теоремою про єдиність розв’язку інтерполяційної задачі вони тотожно дорівнюватимуть одна одній [6 – 12].

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

З формули (1.4) для n 1 дістанемо формулу лінійного інтерполювання

f (x ) y 0

y0

(xx0 ) ,

(1.5)

h










а для n  2 – формулу квадратичного інтерполювання


f (x ) y






y 0

(xx

) 

1




2 y0

(xx

)(xx ) .

(1.6)




h

2! h2




0




0




0

1





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


x x0

t ,то

x x1

t 1 ,

x x2

t 2,...,

x xn1

t n 1

h

h

h

h














і многочлен (1.3) матиме вигляд
P (x th) y t y t(t1)2 y

n 0 0 0 2! 0

  • t(t1)(t2)3y0...t(t1)(t2)...(tn1)ny0,


3!n!
а перша інтерполяційна формула Ньютона (1.4)
f (x ) Pn(x 0th) .
Різницю


  1. ( x )  Pn ( x 0th)  Rn ( x, f )


(1.7)


(1.8)
(1.9)


називають залишковим членом першої інтерполяційної формули Нью-тона.
Оскільки для функції f і системи рівновіддалених вузлів xi
(i  0,1, . . . , n ) існує єдиний інтерполяційний многочлен степеня n , то
інтерполяційні многочлени Лагранжа і Ньютона збігатимуться між собою, тобто Ln ( x )  Pn ( x) . А тому й залишковий член інтерполяційної формули Ньютона (1.4) збігатиметься із залишковим членом формули Лагранжа. Отже,


R ( x, f )f(n1)()( x x )( x x )...( x x ) .




n ( n 1)! 0 1 n
З введенням змінної t залишковий член Rn (x, f ) набуває вигляду


R (x, f )

hn1







f (n1)() t (t 1)(t 2)...(t n).

(1.10)



















n

(n 1)!















































































Якщо ввести позначення, що M n1  max




f ( n1) ( )




, то для абсолютної











































x 0, xn
































































похибки інтерполяційної формули (1.8) дістанемо оцінку







R (x, f )









hn1

M







t (t 1)...(t n)




.

(1.11)





































n










(n 1)!

n1




































































Користуючись формулою f ( n ) (x ) n f (x )/hn , що встановлює зв'язок
між похідними і кінцевими різницями, залишковий член першої інтерполяційної формули Ньютона (1.10) можна записати так:
R (x, f )n1y0 t (t 1)...(t n) .

n (n 1)!
Інтерполяційний многочлен Ньютона містить різниці y0 , 2 y0 ,...,


  • n y0.Тому інтерполяційною формулою(1.4)або(1.8)зручно користуватися на початку таблиці, тобто для всіх x(x 0 ,x1) . Для цих значень x змінна t 1. Якщо x[ x1 , x2 ], то користуватись інтерполяційною формулою (1.8) недоцільно, бо t буде більшим за 1. У цьому разі за x0 треба взяти вузол x1 і в інтерполяційному многочлені використовувати різниці y1 , 2 y1 ,


... , n y1 . Тому формулу (1.4) (або (1.8) називають також інтерполяційною
  1   2   3

скачати

© Усі права захищені
написати до нас