Інтерполювання функцій
Ця система має єдиний розв’язок, бо її визначник є визначником Вандермонда, який не дорівнює нулю, бо вузли різні. А тому й задача параболічного інтерполювання має єдиний розв’язок, тобто існує єдиний алгебраїчний многочлен виду (1.1), що задовольняє умови (2). Многочлен, який задовольняє умови (2), називають інтерполяційним многочленом, наближену рівність — інтерполяційною формулою, а різницю… Читати ще >
Інтерполювання функцій (реферат, курсова, диплом, контрольна)
Зміст
Анотація Вступ
1. Аналіз теоретичної бази методів інтерполювання функції
2. Розробка алгоритмів та вибір оптимального алгоритму
3. Приклад програми інтерполювання функції за допомогою. Інтерполяційного многочлена Лагранжа
3.1 Інструкція користувача
3.2 Лістинг програми
3.3 Опис програми
3.4 Тестування програми Висновки Перелік посилань
Анотація
Об'єктом дослідження є інтерполяційний многочлен Лагранжа для інтерполювання функцій. Розроблено оптимальний алгоритм та програму в середовищі системи C++ як за розміром пам’яті, необхідної для збереження даних, котрі обчислюються в ході виконаного алгоритму, так і за кількістю арифметичних операцій для обчислення за основною формулою. Програма має зручний та наочний інтерфейс, котрий максимально спрощує роботу з нею, та автоматичну перевірку коректності даних, що вводяться.
Вступ
Актуальність теми.
На практиці часто виникає задача відшукання функції за заданим значенням аргументу. Цю задачу вирішують методами інтерполяції функції. Є декілька прийомів розв’язку такої задачі, а саме: користуючись схемою Ейткіна, за допомого першої та другої формул Ньютона, а також за допомогою формул Гаусса, Стірлінга, Бесселя, але найпростішим є застосування інтерполяційної формули Лагранжа. Формула Лагранжа є досить зручна і використовується не лише у випадку рівновіддалених вузлів, але й у випадку вузлів інтерполяції, заданих довільно, що дає можливість широкого її застосування у порівняні з іншими формулами інтерполювання.
Мета дослідження.
Метою роботи є дослідження можливості використання інтерполяційного многочлена Лагранжа для інтерполювання функцій.
Задача дослідження:
· проаналізувати існуючі методи інтерполювання функції та обґрунтувати переваги використання інтерполяційного многочлена Лагранжа по відношенню до існуючих;
· розробити алгоритм інтерполювання функції та здійснити вибір найоптимальнішого з них;
· розробити програму інтерполюванням функції з використанням інтерполяційного многочлена Лагранжа та провести її тестування.
Об'єкт дослідження. Об'єктом дослідження є многочлен Лагранжа для інтерполювання функції.
Структура курсової роботи.
Курсова робота складається з трьох основних розділів. В першому розділі наведено аналіз теоретичної бази методів інтерполювання функції та приклад застосування за формулою Лагранжа. У другому розділі розроблено оптимальний алгоритм за критерієм комплексної ефективності, що враховує затрати часу та пам’яті для його виконання, за даним методом. Третій розділ містить інструкцію користувача, лістинг програми, опис програми та результати тестування.
інтерполювання функція алгоритм многочлен
1. Аналіз теоретичної бази методів інтерполювання функції
В обчислювальній практиці часто доводиться мати справу з функціями, заданими таблицями їхніх значень для деяких скінченних множин значень .
У процесі розв’язування задачі необхідно використовувати значення для проміжних значень аргументу. У цьому випадку будують функцію, досить просту для обчислень, що у заданих точках приймає значення, а в інших точках відрізка , що належить області визначення, приблизно є функцією з тим або іншим степенем точності, і при розв’язуванні задачі замість функції оперують із функцією. Задача побудови такої функції називається задачею інтерполяції. Найчастіше інтерполюючи функцію відшукують у вигляді алгебраїчного многочлена. Такий спосіб наближення має у своїй основі гіпотезу, що на невеликих відрізках зміни х функція може бути досить добре наближена за допомогою параболи деякого порядку, аналітичним виразом якої й буде алгебраїчний многочлен.
Інтерполяцію доводиться інколи застосовувати і в тому випадку, коли для функції відомо й аналітичне значення, за допомогою якого можна обчислювати її значення для будь-якого значення з відрізка в якому вона визначена, але обчислення кожного значення сполучено з великим об'ємом обчислень. Якщо в процесі розв’язування задачі необхідно знаходити значення функції для дуже великої кількості значень аргументу, то прямий спосіб вимагав би величезної обчислювальної роботи. У цьому випадку для зменшення об'єму обчислень прибігають до інтерполяції, тобто обчислюють кілька значень де і по них будують просту інтерполяційну функцію, за допомогою якої й обчислюють наближені значення в інших точках [1−2].
Нехай на відрізку визначено певний клас функцій, наприклад клас алгебраїчних многочленів, а в точках цього проміжку задано значення деякої функції. Наближену заміну функції на відрізку однією з функцій цього класу так, щоб функція в точках набувала тих самих значень, що й функція, тобто щоб, називають інтерполюванням, або інтерполяцією. Точки називають вузлами інтерполювання, функцію — інтерполюючою функцією, а формулу , за допомогою якої обчислюють значення функції у проміжку , — інтерполяційною формулою.
З геометричного погляду задача інтерполювання полягає в знаходженні кривої певного класу (рис. 1), яка проходить через точки площини з координатами .
Рисунок 1 — Геометрична інтерпретація інтерполювання функції
y=Pn(x)
y=F (x)
0 a=x0 x1 x2xk xk+1 b=xn
Якщо функція належить класу алгебраїчних многочленів, то інтерполювання називається параболічним. Параболічне інтерполювання найзручніше, оскільки многочлени, які прості за формою і не мають особливих точок, можуть набувати довільних значень, їх легко обчислювати, диференціювати й інтегрувати.
У деяких випадках доцільніше використовувати інші класи інтерполюючих функцій. Якщо, наприклад, функція періодична, то функцію природно вибирати з класу тригонометричних многочленів, а якщо функція перетворюється в нескінченність у заданих точках або поблизу них, то функцію доцільно вибирати з класу раціональних функцій.
Розглядатимемо лише задачу параболічного інтерполювання, яку сформулюємо так: в різних точках задано значення функції і треба побудувати многочлен
(1)
степеня, який задовольняв би умови
(2)
Для визначення коефіцієнтів многочлена (1), який задовольняє умови (2), запишемо системуго лінійних рівнянь вигляду [4]:
Ця система має єдиний розв’язок, бо її визначник є визначником Вандермонда, який не дорівнює нулю, бо вузли різні. А тому й задача параболічного інтерполювання має єдиний розв’язок, тобто існує єдиний алгебраїчний многочлен виду (1.1), що задовольняє умови (2). Многочлен, який задовольняє умови (2), називають інтерполяційним многочленом, наближену рівність — інтерполяційною формулою, а різницю — залишковим членом інтерполяційної формули. Хоч інтерполяційний многочлен, що задовольняє умови (2), і єдиний, проте можливі різні форми його запису.
Інтерполяційний многочлен будують тоді, коли:
1) функцію задано табличну для деяких значень аргументу, а треба знайти її значення для значень аргументу, яких у таблиці немає;
2) функцію задано графічно, наприклад за допомогою самописного приладу, а треба знайти її наближений аналітичний вираз;
3) функцію задано аналітично, але її вираз досить складний і незручний для виконання різних математичних операцій (диференціювання, інтегрування тощо).
Тоді залежно від вибору критерію згоди й, зокрема, від кількості, точок узгодження і (будемо називати їхніми вузлами), тобто точок, у яких відома інформація про і, можливо, її похідних, можна розглянути різні конкретні способи інтерполяції. А саме, у даному розділі буде досить докладно розглядатися класична Лагранжеві інтерполяція, що служить основою багатьох чисельних методів, зокрема, наближеного диференціювання і інтегрування. Також отримаємо знання про інтерполяційну схему Ейткіна, окремими випадками якого є, з одного боку, многочлен Тейлора (при), з іншого боку — многочлен Лагранжа (при) [2].
Нехай у точках якщо задано значення функції . Треба побудувати многочлен степеня п, який у вузлах набуває тих самих значень, що й функція, тобто
. (3)
Шукатимемо інтерполяційний многочлен у такому вигляді:
(4) де коефіцієнти невідомі. Кожний доданок виразу (4) є многочленом степеня , причому при кожному з коефіцієнтів множника немає.
Визначимо коефіцієнти, використавши умову (3). Поклавши в (4) , дістанемо
звідки
Якщо в (4) покласти , то, а отже Аналогічно обчислюємо Підставивши ці значення коефіцієнтів в (4), дістанемо вираз інтерполяційного многочлена
(5)
Многочлен виду (5) називають інтерполяційним многочленом Лагранжа, а наближену рівність
(6)
— інтерполяційною формулою Лагранжа.
Інтерполяційний многочлен Лагранжа можна записати компактніше. Для цього введемо многочленго степеня вигляду
(7)
Продиференціювавши по цей добуток, дістанемо:
Поклавши тут, матимемо
(8)
Підставивши (7) і (8) в (5), знайдемо
(9)
Вирази, що є коефіцієнтами при у многочлені Лагранжа, називають коефіцієнтами Лагранжа.
Оцінка похибки інтерполяційної формули Лагранжа. Якщо функція на відрізку є многочленом степеня, що менший або дорівнює, то з єдності інтерполяційного многочлена випливає, що інтерполяційний многочлен тотожно дорівнює, тобто ,
Якщо на відрізку, який містить вузли інтерполяції, не є многочленом степеня, що менший або дорівнює , то різниця (10) дорівнюватиме нулю лише у вузлах інтерполяції де,, а в інших точках відрізка вона відмінна від тотожного нуля. Функцію яка характеризує точність наближення функції інтерполяційним многочленом, називають залишковим членом інтерполяційної формули Лагранжа (6), або по-хибкою інтерполювання. Якщо відомий аналітичний вираз функції, то можна оцінити
Справедлива така теорема.
Теорема. Якщо вузли інтерполювання різні і належать відрізку, а функція диференційована раз на відрізку, то для будь-якої точки існує така точка, що для похибки інтерполювання справедлива рівність
(11)
де [5−14].
Для кожного нового значення аргументу х або при підвищенні порядку многочлена (а це веде до залучення нових вузлів) всі обчислення виконують заново. А це значно збільшує обсяг обчислювальної роботи. Значно спростити і зменшити її можна тоді, коли скористатись інтерполяційною схемою Ейткіна. У цій схемі в процесі обчислення поступово залучаються все нові й нові вузли доти, поки самі обчислення не покажуть, що необхідної точності досягнуто.
Якщо в ()-му вузлах інтерполювання функція набуває значень, то значення інтерполяційного многочлена степеня п в точці, що не збігається з вузлами інтерполювання, можна обчислити за формулою де і — значення інтерполяційних многочленів ()-го степеня, обчислених у точці х на попередньому кроці обчислень. Легко впевнитись, що і збігається з інтерполяційним многочленом Лагранжаго степеня (таблиця 1).
Таблиця 1
Різниця | |||||||||||
… | |||||||||||
… | |||||||||||
… | … | … | … | … | … | … | … | … | … | … | |
… | |||||||||||
Отже, щоб обчислити в точці х значення інтерполяційного многочленаго степеня за схемою Ейткіна, треба в цій точці обчислити значення лінійних, -1 квадратичних, -2 кубічних многочленів і так далі, два многочлени (-і)-го степеня і, нарешті, один многочленго степеня. Всі ці многочлени виражають через визначник 2-го порядку, а це робить обчислення однотипними, циклічними [2,5,10].
Часто інтерполювання ведеться для функцій, заданих таблицями з рівновіддаленими значеннями аргументу (тобто такими, що будь-який (вузол інтерполяції) можна подати у вигляді а — деяка постійна величина, яка називається кроком інтерполяції). Для таких таблиць побудова інтерполяційних формул, а також проведення обчислень по ним значно спрощується.
Для побудови формули Ньютона необхідно ввести поняття кінцевих різниць.
Кінцевими різницями називають різниці між значеннями функції в сусідніх вузлах (точках) інтерполяції:
де, Отримані кінцеві різниці будемо називати кінцевими різницями першого порядку. Кінцевою різницею першого порядку називається різність між значеннями функції в сусідніх вузлах інтерполяції. В загальному вигляді кінцеву різницю першого порядку можна записати як .
Якщо функція, що досліджується, задана значеннями в рівновіддалених вузлах інтерполяції, тобто, то для побудови її аналітичної залежності зручно використовувати першу інтерполяційну формулу Ньютона.
Перша інтерполяційна формулу Ньютона (12).
(12)
На практиці часто використовують формулу Ньютона в іншому вигляді. Для цього введемо заміну, де h - крок інтерполяції, а q — число кроків. Тоді перша інтерполяційна формула Ньютона прийме вигляд (13):
(13)
Формулу (13) зручно використати для інтерполювання на початку відрізку інтерполяції [a; b], де q мале за абсолютною величиною.
Якщо за число вузлів інтерполяції прийняти n-1, то отримаємо формулу лінійного інтерполювання
При n=2 отримаємо формулу параболічного, або квадратичного інтерполювання
На практиці часто буває необхідно зменшити крок інтерполяції будь-якої таблиці з рівновіддаленими аргументами. В таблиці можна вважати, що кількість вузлів інтерполяції необмежена. Тоді вибирають n так, щоб кінцева різниця була постійна з заданим ступенем точності. За початкове значення можна вибирати будь-яке значення аргументу.
Часто користуються формулами центральних різниць, до яких відносяться формули Гаусcа, Бесселя, Стірлінга.
Інтерполяційна формула Гаусса — формула, яка використовує в якості вузлів інтерполяції найближчі до точки інтерполяції x вузли. Якщо формула написана за вузлами, то вона зветься формулою Гаусса для інтерполяції вперед (14),
(14)
А формула написана за вузлами зветься формулою Гаусса для інтерполяції назад (15).
(15)
В формулах (14) і (15) використані кінцеві різниці, які визначаються в такий спосіб [5]:
.
Перевага інтерполяційної формули Гаусса полягає в тому, що зазначений вибір вузлів інтерполяції забезпечує найкращу оцінку залишкового члена в порівнянні з будь-яким іншим вибором, а впорядкованість вузлів у міру їх близькості до точки інтерполяції зменшує обчислювальну похибку інтерполяції.
Часто використовується інтерполяційна формула Бесселя, яка служить для знаходження значення функції у міжвузловій точці. Для виведення цієї формули скористаємось другою інтерполяційною формулою Гаусса (14):
(16)
у скороченому вигляді (17):
(17)
де .
Інтерполяційна формула Бесселя застосовується при інтерполяції функцій для значень х, близьких середині а між двома вузлами, тут природно брати парне число вузлів х — до …, х —1, x 0, x 1 …, x до, x до + 1, і розташовувати їх симетрично відносно а (x 0 < а < x 1).
Взявши середнє арифметичне першої та другої інтерполяційних формул Гаусса, отримаємо формулу Стірлінга:
де .
Легко побачити, що при
Формула Стірлінга використовується для інтерполювання в середині таблиці при значеннях q, близьких до нуля. Практично її використовують при ¦q¦? 0,25 [12,13,14].
Приклад розв’язування задачі:
Побудувати інтерполяційний многочлен Лагранжа одинадцятого степеня для функції, заданої аналітично: за такими даними: кроком, на проміжку та знайти значення функції у точці використовуючи формулу (5), розв’язок подано в табл. 2.
Розв’язання.
, .
Таблиця 2
0,16 667 | 0,8 334 | 0,4 545 | 0,2 778 | 0,1 852 | 0,1 316 | 0,9 804 | 0,7 576 | 0,6 024 | 0,4 902 | 0,4 065 | ||
Знайдемо інтерполяційний многочлен Лагранжа.
Побудувавши інтерполяційний многочлен Лагранжа, перевіримо вірність многочлена. Для цього підставимо значення аргументу у вираз.
Перевіримо вірність результату, для цього скористаємося схемою Горнера.
2. Розробка алгоритмів та вибір оптимального алгоритму
При розробці алгоритму обчислення значення функції, яке відповідає заданому значенню аргументу, будемо використовувати формулу (5), що наведена в розділі 1.
Аналіз формули (5) та прикладу наведеного в першому розділі показує, що для обчислення значення аргументу необхідно 16 операцій додавання, 204 операцій віднімання, 236 операцій множення та 10 операцій ділення.
З врахуванням того, що час виконання операцій множення та ділення відповідно в 1,14 та 2,33 рази більший за час виконання операцій додавання (віднімання) при використанні арифметичного співпроцесора, загальна кількість операцій обчислення значення функції використовуючи многочлен Лагранжа складає
Алгоритм можна побудувати таким чином, щоб спочатку перевірити умову, чи не збігається значення аргументу з будь-яким із вузлів. Якщо ця умова не підтвердилась, то проводяться відповідні обчислення, що передбачені у блоках 7−12. В цьому випадку для збереження значень аргументу та функції необхідно 2 комірки пам'яті. Блок-схема першого алгоритму подана на рис. 2.1.
Інший спосіб побудови алгоритму полягає в тому, що для знаходження значення аргументу застосована схема Ейткіна (рис. 2.2).
Аналіз формули показує, що для обчислення значення аргументу необхідно 264 операцій віднімання, 198 операцій множення та 66 операцій ділення
В даному випадку для збереження результатів обчислення необхідно також 2 комірки пам’яті.
Комплексний коефіцієнт ефективності одного алгоритму в порівнянні з іншим можна обчислити за формулою:
де — коефіцієнт ефективності за часом виконання алгоритму;
— коефіцієнт ефективності за затратами пам'яті алгоритму.
Оскільки коефіцієнт ефективності за часом виконання алгоритму можна приблизно оцінити за кількістю арифметичних операцій алгоритму, то комплексний коефіцієнт ефективності описаних вище алгоритмів складає
Подальші обчислення будуть проводитися мовою програмування С++, яка дасть можливість знаходити значення аргументу, яке відповідає заданому значенню функції, якого в табл. 2 немає.
Рисунок 2.1 — Блок-схема першого алгоритму обчислення значення функції з використанням інтерполяційного многочлена Лагранжа
Рисунок 2.1 — Продовження Рисунок 2.2 — Блок-схема другого алгоритму обчислення значення функції за схемою Ейткіна
3. Приклад програми інтерполювання функції за допомогою інтерполяційного многочленна Лагранжа
3.1 Інструкція користувача
Після виклику C++ із середовища Windows на екрані з’являється командне вікно середовища C++.
Це вікно є основним у C++. У ньому відображаються символи команд, що набираються користувачем на клавіатурі, результати виконання цих команд, текст програми, що виконується, а також інформація про помилки виконання програми, яка розпізнана системою.
Ознакою того, що програма C++ готова до сприйняття і виконання чергової команди, є наявність в останньому рядку текстового поля вікна миготливої вертикальної риски.
У верхній частині командного вікна (безпосередньо під заголовком C++) розташований рядок меню, що складається з 11 меню — Файл, Правка, Пошук, Вигляд, Проект, Виконати, Налаштування, Сервіс, CVS, Вікно, Довідка. Під головним меню розміщена панель інструментів з піктограмами, що дозволяють виконувати деякі найбільше часто використовувані операції.
1. Відкриття меню здійснюється натисненням миші. Щоб вибрати будь-яку команду меню, досить установити курсор на імені команди і натиснути ліву кнопку миші.
2. Текст програми міститься в одному файлі: файл основної програми з іменем Kyrsova. Для відкриття його необхідно вибрати у меню Файл команду Відкрити, що відкриває діалогове вікно з переліком файлів поточної папки.
3. Вибір необхідного файлу з цього списку і наступне натискання кнопки OK приводить до появи вікна Редактора/Налагодження, який дає змогу не тільки коректувати програму, але і проводити її відладку. Запуск програми здійснюється вибором в меню Виконати команди виконати, або натисненням клавіші F9.
4. В результаті запуску програми з’явиться командне вікно, в якому необхідно ввести значення проміжку, крок та значення аргументу. По завершенні введення значень в командному вікні буде зазначено значення функції.
3.2 Лістинг програми
#include
#include
#include
#include
float y[11]={0.16 667,0.8 334,0.4 545, //обчислення значень даної функції
0.2 778,0.1 852,0.1 316,0.9 804,
0.7 576,0.6 024,0.4 902,0.4 065};
float x[11]={1,2,3,4,5,6,7,8,9,10,11};
float L (float xp, int n, int i)
{
float Chesl; float Znam;
Chesl=1; Znam=1; int k;
for (k=0; k≠n; k++)
{
if (k==i) continue;
Chesl *=xp-x[k]; //Обчислення чисельника многочлена Лагранжа
}
for (k=0; k≠n; k++)
{
if (x[i]==x[k]) continue;
Znam *=x[i]-x[k]; // Обчислення знаменника многочлена Лагранжа
}
return Chesl/Znam;
}
int main ()
{
system («chcp 1251»);
system («cls»);
int n, a, b;float px;
cout<<" Введіть проміжок:" <
cout<<" Введіть а:" <
cin>>a;
cout<
cout<<" Введіть b:" <
cin>>b;
cout<
cout<<" Введіть значення x: «;
cin>>px;
cout<
float S=0;
n=b-a+1; //обчислення кількості вузлів
for (int i=0; i≠n; i++)
S+=y[i]*L (px, n, i); //Обчислення многочлена Лагранжа в даній точці
printf («Ваш результат: %f «, S); //Результат обчислення
getch ();
}
3.3 Опис програми
В даному файлі описані всі змінні та присвоєні їм певні значення, необхідні для обчислення інтерполювання з використанням інтерполяційного многочленна Лагранжа, а також власний процес обчислення методу. З метою ефективного використання пам’яті для збереження початкових значень системи, вони зберігаються в динамічній пам’яті, що дозволяє відводити під них місце динамічного розміру в залежності від кількості заданих даних.
Файл Kyrsova-Lagranzh.PAS. містить описи структури методу та функцій, що використовуються основною програмою, та описи внутрішніх операторів. Нижче наведено список загальних операторів, їх призначення та основні властивості.
Команда int описує цілий тип змінних.
Команда float описує дійсний тип змінних.
Команда cout призначена для виведення значень на екран і має такий загальний вигляд:
cout < список >.
Команда cin призначена для введення даних і має такий загальний вигляд:
cin (< список змінних >).
Оператор циклу for призначений для повторного виконання операцій, число яких заздалегідь відоме. Оператор циклу for ще називають оператор циклу з параметром. Загальний вигляд оператор циклу for:
for (< початок масиву>кінець масиву < крок проходу по масиву >).
Оператор умови if використовується для виразів результат яких має стандартний булевский тип. Неповне розгалуження реалізується за допомогою оператора if і має такий загальний вигляд:
if < логічний вираз { < команда >}.
Оператор continue призначений до поверненння дії назад і має такий загальний вигляд:
<�умова> continue.
Команда getch зупиняє роботу програми.
3.4 Тестування програми
На рис. 3.1 подано екранне зображення результатів обчислення програми, розробленої в середовищі системи C++.
Рисунок 3.1 — Результати обчислення програми, розробленої в середовищі системи C++
Висновки
1. Проаналізовано існуючі методи інтерполювання функції та обґрунтовано переваги інтерполювання функції з використанням інтерполяційного многочленна Лагранжа по відношенню до існуючих, які полягають у тому, що даний метод досить простий для розуміння та точний, що і було підтверджено математично. Проте при великій кількості вузлів інтерполювання, обчислення стають досить складними і громісткими, тому в таких умовах для знаходження значення функції зручніше використовувати схему Ейткіна.
2. Запропоновано два алгоритми обчислення інтерполювання функції. Проведено аналіз ефективності розроблених алгоритмів за комплексним критерієм ефективності, що враховує час виконання та розмір алгоритму. Комплексний коефіцієнт ефективності описаних вище алгоритмів складає 0,8.
3. Розроблено програму інтерполювання функції з використанням інтерполяційного многочлена Лагранжа та проведено її тестування, яке підтвердило її правильну та коректну роботу.
Перелік посилань
1. Березин И. С. Методы вычислений / И. С. Березин, Н. П. Житков. — М.: Наука, 1966. — т.1- 633 с.
2. Лященко М. Я. Чисельні методи / М. Я. Лященко, М. С. Головань. — К.: Либідь, 1996. — 276 с.
3. Дюринг Е. Критическая история общин принципов механіки / Е. Дюринг. — Москва: Красанд, 2011. — 552с.
4. Бахвалов Н. С. Численные методы / Н. С. Бахвалов, Н. П. Житков, Г. М. Кобельков. — М.: Наука, 1987. — 599 с.
5. Курош А. Г. Курс высшей алгебры / А. Г. Курош. -К.: Вища школа, 1982. — 613с.
6. Демидович Б. П. Основы вычислительной математики / Б. П. Демидович, И. А. Марон. — М.: Наука, 1970. — 664 с.
7. Калиткин Н. Н. Численные методы / Н. Н. Калиткин. — М.: Наука, 1978. 512 с.
8. Бахвалов Н. С. Численные методы / Н. С. Бахвалов. — М.: Наука, 1975. — 632 с.
9. Турчак Л. И. Основы численных методов / Л. И. Турчак. — М.: Наука, 1987. — 318 с.
10. Самарский А. А. Численные методы / А. А. Самарский, А. В. Гумен. — М.: Наука, 1989. — 430 с.
11. Вержбицький В. М. Основы численных методов / В. М. Вержбицький. — М.: Высшая школа, 2002. — 847 с.
12. Григоренко Я. М. Обчислювані методи / Я. М. Григоренко, Н. Д. Панкратова. — К.: Либідь, 1995. — 227 с.
13. Методичні вказівки до виконання курсової роботи з дисципліни «Обчислювальна математика» для студентів спеціальностей «Мікроелектроніка та напівпровідникові прилади» та «Електронні прилади та пристрої» / Уклад. Крилик Л. В. Прокопова М.О. — Вінниця: ВНТУ, 2007;38с.
14. Крилик Л. В. Інтерполяція та апроксимація табличних даних / Л. В. Крилик, І.В. Богач, М. О. Прокопова. — Вінниця: ВНТУ, 2013. — 110 с.
15. Глинський Я. М. Алгоритмізація і програмування / Я. М. Глинський. — М.: Наука, 2003. — 200 с.
16. Эллис М. М. Справочное руководство по языку С++ / М. М. Эллис, Б. Г. Строуструп. — М.: Мир, 1992. — 445 с.
17. Подбельский В. В. Язык С++: учебное пособие / В. В. Подбельский. — М.: Финансы и статистика, 1995. — 560 с.