Міністерство освіти і науки України
Вінницький національний технічний університет
Інститут автоматики, електроніки та комп’ютерних систем управління
Кафедра електроніки
АЛГОРИТМ ТА ПРОГРАМА
ОБЧИСЛЕННЯ ДИФЕРЕНЦІАЛЬНОГО РІВНЯННЯ
МЕТОДОМ ЕЙЛЕРА
Пояснювальна записка
з дисципліни «Обчислювальна математика»
до курсової роботи за спеціальністю
«Мікроелектроніка та напівпровідникові прилади»
08.ОМ.035.00.000 ПЗ
Керівник курсової роботи
к.т.н., доц. Крилик Л.В.
(прізвище та ініціали)
________________________
(підпис)
«__» ______________200_ р.
Розробив студент гр. МП-06
_____________Чернега В.О.
(підпис, прізвище та ініціали)
«__»______________200_ р.
Вінниця ВНТУ 200_
Міністерство освіти і науки України
Вінницький національний технічний університет
Інститут автоматики, електроніки та комп’ютерних систем управління
ЗАТВЕРДЖУЮ
Зав. кафедри ЕЛ, проф., д.т.н.
______________В.С. Осадчук
(підпис)
«__»_______________200_ р.
ІНДИВІДУАЛЬНЕ ЗАВДАННЯ
На курсову роботу з дисципліни «Обчислювальна математика»
студенту Чернега В.О. факультету ФЕЛТ групи МП-06
ТЕМА: «Алгоритм та програма обчислення диференціального рівняння методом Ейлера»
Вихідні дані:
кількість вузлів диференціювання не більше 20.
Зміст ПЗ до курсової роботи
Індивідуальне завдання
Анотація
Вступ
1. Аналіз теоретичної бази методів обчислення диференціальних рівнянь
2. Розробка алгоритмів та вибір оптимального алгоритму
3. Приклад програми обчислення диференціальних рівнянь за методом Ейлера
Висновки
Перелік посилань
Дата видачі «__»____________200_ р. Керівник ___________________
(підпис)
Завдання отримав____________
(підпис)
ЗМІСТ
АНОТАЦІЯ ......................................................................................................................4
ВСТУП .............................................................................................................................5
1 АНАЛІЗ ТЕОРЕТИЧНОЇ БАЗИ МЕТОДІВ ОБЧИСЛЕННЯ
ДИФЕРЕНЦІАЛЬНИХ РІВНЯНЬ ............................................................................6
2 РОЗРОБКА АЛГОРИТМІВ ТА ВИБІР ОПТИМАЛЬНОГО АЛГОРИТМУ ........12
3 ПРИКЛАД ПРОГРАМИ ОБЧИСЛЕННЯ ДИФЕРЕНЦІАЛЬНИХ РІВНЯНЬ ЗА
МЕТОДОМ ЕЙЛЕРА .................................................................................................15
3.1 Інструкція користувача ...........................................................................................15
3.2 Лістинг програми .....................................................................................................16
3.3 Опис програми .........................................................................................................17
3.4 Тестування програми ..............................................................................................18
ВИСНОВКИ ...................................................................................................................21
ПЕРЕЛІК ПОСИЛАНЬ .................................................................................................22
АНОТАЦІЯ
Об’єктом досліджень є метод Ейлера для обчислення диференціальних рівнянь. Розроблено ефективний алгоритм та програма мовою програмування Турбо Паскаль 7.0 обчислення диференціальних рівнянь за методом Ейлера. Алгоритм, що розроблений, є оптимальним за розміром пам’яті, необхідної для збереження даних, котрі обчислюються в ході виконання алгоритму, та за кількістю арифметичних операцій для обчислення за основною формулою. Програма має зручний та наочний інтерфейс, котрий максимально спрощує роботу з нею, та автоматичну перевірку коректності даних, що вводяться.
ВСТУП
Актуальність теми.
Задача обчислення диференціальних рівнянь має важливе значення при вирішенні як наукових так і практичних задач. Проте звичайними методами це зробити досить важко особливо тоді коли функція досить складна. Для обчислення диференціальних рівнянь в обчислювальній математиці користуються різними методами. Кожен з яких має свої переваги і недоліки, що полягають в кількості обчислень та похибці обчислення. Однак метод Ейлера хоча і не найбільш точний проте вимагає мінімальної кількості обчислень і тому придатний для швидкого обчислення диференціальних рівнянь, тому його застосування в інженерних та науково-дослідних розрахунках є актуальним на даний час.
Мета дослідження.
Метою роботи є дослідження можливості використання методу Ейлера при обчисленні диференціальних рівнянь.
Задачі дослідження:
Проаналізувати існуючі методи для обчислення диференціальних рівнянь та обгрунтувати переваги методу Ейлера по відношенню до існуючих.
Розробити алгоритми обчислення диференціальних рівнянь за методом Ейлера та вибрати оптимальний із них.
Розробити програму обчислення диференціальних рівнянь за методом Ейлера та здійснити її тестування.
Об’єкт дослідження.
Метод Ейлера для обчислення диференціальних рівнянь.
Структура курсової роботи.
Курсова складається з трьох основних розділів. В першому розділі наведено аналіз теоретичної бази методів обчислення диференціальних рівнянь та приклад його розрахунку. В другому розділі розроблено алгоритми програми та вибрано оптимальний із них, що враховує затрати часу та пам’яті для його виконання за даним методом. Третій розділ містить інструкцію користувача, лістинг програми, опис програми та результати тестування.
1 АНАЛІЗ ТЕОРЕТИЧНОЇ БАЗИ МЕТОДІВ ОБЧИСЛЕННЯ
ДИФЕРЕНЦІАЛЬНИХ РІВНЯНЬ
Рівняння називається звичайним диференціальним
n-го порядку, якщо F визначена і неперервна в деякій області і, у всякому разі, залежить від . Його розв’язанням є будь-яка функція u(x), що задовольняє цьому рівнянню при всіх x у визначеному обмеженому або нескінченному інтервалі. Диференціальне рівняння, відносно старшої похідної має вигляд
Розв’язанням цього рівняння на інтервалі I=[a,b] називається функція u(x).
Розв’язати диференціальне рівняння b/=f(x,y) чисельним методом - це значить для заданої послідовності аргументів х0, х1…,хn і числа b0, не визначаючи функцію b=F(x), знайти такі значення b1, у2,…,уn, що уi=F(xi)(i=1,2,…,n) і F(x0)=y0.
Таким чином, чисельні методи дозволяють замість знаходження функції y=F(x) одержати таблицю значень цієї функції для заданої послідовності аргументів. Величина h=xk-xk-1 називається кроком інтегрування.
Метод Ейлера відноситися до чисельних методів, що дають рішення у вигляді таблиці наближених значень шуканої функції b(х). Він є порівняно грубим і застосовується в основному для орієнтованих розрахунків. Однак ідеї, покладені в основу методу Ейлера, є вихідними для ряду інших методів.
Метод Ейлера для звичайних диференціальних рівнянь використовується для розв’язку багатьох задач природознавства як математичну модель. Наприклад, задачі електродинаміки системи взаємодіючих тіл (у моделі матеріальних точок), задачі хімічної кінетики, електричних ланцюгів. Ряд важливих рівнянь у частинних похідних у випадках, що допускають поділ змінних, приводить до задач для звичайних диференціальних рівнянь – це, як правило, крайові задачі (задачі про власні коливання пружних балок і пластин, визначення спектра власних значень енергії частки в сферично-симетричних полях і багато чого іншого).
Розглянемо задачу Коші для рівнянь першого порядку на відрізку [a,b]:
, .
Розіб'ємо проміжок [a,b] на N частин . Позначимо , де u(x) - точне рішення задачі Коші, і через значення наближеного розв’язку в точках . Існує 2 типи чисельних схем :
1) явні: ) ; (1.1)
2) неявні: , (1.2)
де F деяка функція, що зв'язує наближення.
У явних схемах наближене значення в точці визначається через деяке число k уже визначених наближених значень. У неявних схемах визначається не рекурентным способом, як у явних схемах, а для його визначення виникає рівняння, оскільки рівність (1.2) представляє із себе саме рівняння на . Явні схеми простіше, однак найчастіше переважають неявні схеми.
Перейдемо до розгляду явної схеми Адамса.
Приведений нижче метод є багатокроковим.
Нехай задана задача Коші:
(1.3)
Для точного розв’язку (яке нам не відомо) виконано:
(1.4)
Припустимо, нам відомі наближені значення функції u(x) у k точках (початкові k точок, зокрема, можна знайти методом Ейлера або методом Рунге-Кутта того або іншого порядку), тоді функцію f(x,u(x)) у (1.4) для наближеного обчислення інтеграла можна замінити на інтерполяційний поліном порядку k-1, побудований по k точках , інтеграл від якого обчислюється явно і являє собою лінійну комбінацію значень з деякими множниками . Таким чином, ми одержуємо наступну рекурентну процедуру обчислення наближених значень функції u(x) (що є точним розв’язком задачі Коші) у точках :
(1.5)
Описана схема є k-точковою явною формулою Адамса.
Неявна схема Адамса.
Нехай - інтерполяційний поліном порядку k, побудований по k+1 значенню , одне з яких, саме , ми будемо вважати невідомим. Модифікуємо (1.5), замінивши в ньому на поліном більш високого степеня , інтеграл від якого виражається у вигляді лінійної комбінації значень з деякими новими коефіцієнтами :
(1.6)
Формула (1.6) являє собою неявну схему Адамса і є рівнянням на , котре можна вирішувати методом послідовних наближень. Зрозуміло, що початкове наближення , повинно бути розумно обрано. Для цього зручно об'єднати явну і неявну схеми Адамса в одну, названу «методом корекції». Саме за допомогою явної схеми визначається початкове наближення (прогноз), а потім за неявною схемою, необхідне число разів (звичайно один або два) коректується методом послідовних наближень до досягнення заданої точності (корекція) [1,2].
Розглянемо метод Ейлера.
Вирішити диференціальне рівняння b/=f(x,y) чисельним методом - це значить для заданої послідовності аргументів х0, х1…,хn і числа b0, не визначаючи функцію b=F(x), знайти такі значення b1, у2,…,уn, що
уi=F(xi)(i=1,2,…,n)і F(x0)=y0. (1.7)
Таким чином, чисельні методи дозволяють замість знаходження функції y=F(x) одержати таблицю значень цієї функції для заданої послідовності аргументів. Величина h=xk-xk-1 називається кроком інтегрування.
Метод Ейлера відноситися до чисельних методів, що дають рішення у виді таблиці наближених значень шуканої функції b(х). Він є порівняно грубим і застосовується в основному для орієнтованих розрахунків. Однак ідеї, покладені в основу методу Ейлера, є вихідними для ряду інших методів.
Розглянемо диференціальне рівняння першого порядку (1.7)
с початковою умовою
x=x0, y(x0)=y0 . (1.8)
Потрібно знайти розв’язок рівняння (1.7) на відрізку [а,b].
Розіб’ємо відрізок [a, b] на n рівних частин і одержимо послідовність х0, х1, х2,…,хn, де xi=x0+ih (i=0,1,…,n), а h=(b-a)/n-крок інтегрування.
У методі Ейлера наближені значення b(хi)(yi обчислюються послідовно за формулами уi+hf(xi, yi) (i=0,1,2…)... (1.9)
При цьому шукана інтегральна крива b=у(х), що проходить через точку М0(х0, у0), замінюється ламаною М0М1М2… з вершинами Мi(xi, yi) (i=0,1,2,…); кожна ланка МiMi+1 цієї ламаної, називаної ламаною Ейлера, має напрямок, що збігається з напрямком тієї інтегральної кривої рівняння (1.7), що проходить через точку Мi. Якщо права частина рівняння (1.7) у деякому прямокутнику R{|x-x0|(a, |y-y0|(b} задовольняє умовам:
|f(x, y1)- f(x, y2)| ( N|y1-y2| (N=const), (1.10)
|df/dx|=|df/dx+f(df/dy)| ( M (M=const),
то має місце така оцінка похибки:
|y(xn)-yn| ( h/2N[(1+h)n-1], (1.11)
де b(хn) - значення точного розв’язку рівняння (1.7) при х=хn, а уn- наближене значення, отримане на n-ому кроці.
Формула (1.11) має в основному теоретичне застосування. На практиці іноді виявляється більш зручним подвійний прорахунок: спочатку розрахунок ведеться з кроком h, потім крок дроблять і повторний розрахунок ведеться з кроком h/2. Похибка більш точного значення уn* оцінюється формулою
|yn-y(xn)|(|yn*-yn|. (1.12)
Метод Ейлера легко поширюється на системи диференціальних рівнянь і на диференціальні рівняння вищих порядків. Останні повинні бути попередньо приведені до системи диференціальних рівнянь першого порядку.
Модифікований метод Ейлера.
Розглянемо диференціальне рівняння (1.7) y/=f(x,y) з початковою умовою y(x0)=y0. Розіб'ємо нашу ділянку інтегрування на n рівних частин (рис. 1). На малому проміжку інтегральну криву замінимо прямою лінією.
Рисунок 1- Метод Ейлера в графічному вигляді
Одержуємо точку Мк(хк,ук). Через Мк проводимо дотичну:
у=ук=f(xk,yk)(x-xk). Поділяємо відрізок (хк,хк1) навпіл:
xNk/=xk+h/2=xk+1/2 , (1.13)
yNk/=yk+f(xk,yk)h/2=yk+yk+1/2.
Одержуємо точку Nk/. У цій точці будуємо наступну дотичну:
y(xk+1/2)=f(xk+1/2, yk+1/2)=αk . (1.14)
З точки Мк проводимо пряму з кутовим коефіцієнтом αк і визначаємо крапку перетинання цієї прямої із прямою Хк1. Одержуємо точку Мк/. У якості ук+1 приймаємо ординату точки Мк/. Тоді:
ук+1=ук+αкh,
xk+1=xk+h, (1.15)
αk=f(xk+h/2, yk+f(xk,Yk)h/2),
yk=yk-1+f(xk-1,yk-1)h.
Формули (1.15) - рекурентні формули методу Ейлера.
Спочатку обчислюють допоміжні значення шуканої функції ук+1/2 у точках хк+1/2, потім знаходять значення правої частини рівняння (1.12) у середній точці y/k+1/2=f(xk+1/2, yk+1/2) і визначають ук+1.
Для оцінки похибки в точці хк проводять обчислення ук із кроком h, потім із кроком 2h і беруть 1/3 різниці цих значень:
| ук*-у(хк)|=1/3(yk*-yk), (1.16)
де b(х)- точний розв’язок диференціального рівняння.
Таким чином, методом Ейлера можна розв’язувати рівняння будь-яких порядків. Наприклад, щоб обчислити рівняння другого порядку y//=f(y/,y,x) з початковими умовами y/(x0)=y/0, y(x0)=y0, виконується заміна:
y/=z, (1.17)
z/=f(x,y,z).
Тим самим перетворяться початкові умови [3,4]:
y(x0)=y0, z(x0)=z0, z0=y/0. (1.18)
Обчислимо за методом Ейлера таке диференціальне рівняння:
y(1)=1; [1; 2] ; h=0,1;
результат отримаємо у вигляді таблиці ( див. таблицю 1).
Таблиця 1 – Результати обчислень
i
xi
0
1
1
0
0
1
1,1
1
-0,0909
-0,0091
2
1,2
0,9909
-0,1561
-0,0156
3
1,3
0,9753
-0,201
-0,0201
4
1,4
0,9552
-0,2301
-0,023
5
1,5
0,9322
-0,2475
-0,0248
6
1,6
0,9074
-0,2563
-0,0256
7
1,7
0,8818
-0,2589
-0,0259
8
1,8
0,8559
-0,2571
-0,0257
9
1,9
0,8302
-0,2523
-0,0252
10
2
0,805
-0,2455
-0,0246
Обчислення диференціального рівняння розпочинається з опису основних змінних та введення початкових даних: межі диференціювання, крок, кількість кроків, значення y(x0), який пов’язаний із блоками 1-2, що подана на рис. 2.2. В подальших обчисленнях доцільно використовувати алгоритми розгалуженої структури, яка підпорядковує блоки 4-8.
Після виконання умови, згідно з смисловим навантаженням блока 4, якщо умова виконується, то переходять до виконання обчислень закладених у блоці 5. Коли після низки циклів умова, що закладена в блоці 4 не виконується, то відразу переходять до блоку 6, в якому закладена наступна умова, після виконання якої програма автоматично переходить до блоку 7. Виведення результату обчислення підпорядковане умові блока 6. В протилежному випадку дії, що передбачені у блоках 7-8 безумовно обходять і забезпечують завершення виконання алгоритму.
Результати обчислень отримаємо у виді таблиці в діалоговому вікні програми.
РОЗРОБКА АЛГОРИТМІВ ТА ВИБІР ОПТИМАЛЬНОГО АЛГОРИТМУ
При розробці алгоритму обчислення диференціального рівняння за методом Ейлера будемо використовувати формулу (1.9), яка описана в теоретичних відомостях.
Аналіз формули та прикладу, наведеного в першому розділі показує, що для обчислення значення функції в одній з 5 точок необхідно виконати 2 операцій додавання (віднімання), 1 - операцію ділення та 3 - операцій множення. З врахуванням того, що час виконання операції множення та ділення відповідно в 1,14 та 2,33 рази більший за час виконання операції додавання (віднімання) при використанні математичного співпроцесора, загальна кількість операцій обчислення складає
.
Алгоритм можна побудувати таким чином, щоб спочатку означити значення xi з врахуванням кроку, а потім виконати обчислення за основною формулою. В цьому випадку необхідно виконати 12 проходжень циклу та затратити 30 комірок пам’яті (рис 2.1).
Інший спосіб побудови алгоритму полягає в тому, щоб означення xi проводити прямо в ході обчислень за основною формулою з випередженням на один крок. В цьому випадку необхідно виконати 6 проходжень циклу та затратити 30 комірок пам’яті (рис 2.2).
Комплексний коефіцієнт ефективності Ке одного алгоритму в порівнянні з іншим можна обчислити за формулою
де Кч – коефіцієнт ефективності за часом виконання;
Кn – коефіцієнт ефективності за затратами пам’яті алгоритму.
Оскільки коефіцієнт ефективності за часом виконання алгоритму можна приблизно оцінити за кількістю арифметичних операцій алгоритму, то комплексний коефіцієнт ефективності описаних вище алгоритмів
.
Блок-схеми описаних вище алгоритмів подано відповідно на рис 2.1 та
рис 2.2. В даних алгоритмах вважається, що a, b – межі проміжку, n – кількість кроків, h – крок значення x [5].
Рисунок 2.1 - Блок-схема першого алгоритму
Рисунок 2.2 – Блок-схема другого алгоритму
ПРИКЛАД ПРОГРАМИ ОБЧИСЛЕННЯ ДИФЕРЕНЦІАЛЬНОГО РІВНЯННЯ ЗА МЕТОДОМ ЕЙЛЕРА
3.1 Інструкція користувача
Після виклику Turbo Pascal Version 7.1 із середовища Windows на екрані з’являється командне вікно середовища Turbo Pascal.
Це вікно є основним у Turbo Pascal, у ньому відображаються символи команд, що набирає користувач на клавіатурі, текст програми, що виконується, а також інформація про помилки виконання програми, які розпізнані системою.
Ознакою того, що програма Turbo Pascal готова до сприйняття певних команд з боку користувача, є наявність жовтого миготливого курсора у верхньому лівому куті вікна.
У верхній частині командного вікна розташований рядок меню, що складається з десяти меню – File, Edit, Run, Compile, Debug, Tools, Options, Window, Help. Безпосередньо під головним рядком меню розміщена стрічка з назвою файла, який завантажений програмою в даний момент. Центральну частину вікна займає робоча ділянка для введення тексту програм. У нижній частині вікна розташований рядок статусу, до якого виводиться інформація про виконувану на цей час операцію. У рядку статусу відображаються також функціональні клавіші і комбінації клавіш, доступні в даний момент в активному вікні (F1-Help, F2- Save
і так далі). Над рядком статусу в розриві рамки вікна зазначаються координати курсору: номер рядка, що редагується, і позиції в рядку, наприклад 6:11. Крім названих елементів, є ще вертикальна та горизонтальна смуги прокручування, кнопка закриття вікна, тощо[7].
1. Відкриття меню здійснюється натисненням лівої клавіші миші. Щоб вибрати будь-яку команду меню, досить установити курсор на імені команди і натиснути ліву кнопку миші.
2. Щоб відкрити файл досить скористатись командою File-Open або натиснути клавішу F3. У наступному діалоговому вікні відкрийте потрібну папку й оберіть файл з іменем EYLOR.PAS. Після цього текст програми з’являється у робочій частині вікна програми.
3. Для запуску програми необхідно у рядку меню скористатись командою Run- Run.
4. В результаті з’являється діалогове вікно, в якому потрібно задати початкові умови для нашого диференціального рівняння: a=1, b=2, krok=0.3, k-st krokiv 6, y(x0)=1 та натиснути клавішу ENTER. Після цього в даному вікні з’явиться таблиця з результатами обчислень.
3.2 Лістинг програми
uses crt;
var
mas:array[1..20, 1..20] of real;
a,b,h:real;
i,n,j:integer;
Begin
clrscr;
Write('Vvedit a i b ');
Readln(a,b);
Write('Vvedit krok');
Readln(h);
Write('k-st krokiv ');
Readln(n);
Write('Vvedit y(x0) ');
Readln(mas[1,3]);
mas[1,2]:=a;
for i:=1 to n do
begin
Mas[i,1]:=i;
mas[i+1,2]:=mas[i,2]+h;
end;
for i:=1 to n do
begin
mas[i,4]:=mas[i,3]/mas[i,2]-sqr(mas[i,3]);
mas[i,5]:=mas[i,4]*h;
mas[i+1,3]:=mas[i,3]+mas[i,5];
End;
for i:=1 to n do
Begin
Writeln;
for j:=1 to 5 do
Write(mas[i,j]:4:4,' ');
end;
Readln;
End.
3.3 Опис програми
В даному файлі описані всі змінні та присвоєні їм певні значення, необхідні для обчислення диференційного рівняння за методом Ейлера, а також власний процес обчислення методу. З метою ефективного використання пам’яті для збереження початкових значень системи, вони зберігаються в динамічній пам’яті, що дозволяє відводити під них місце динамічного розміру в залежності від кількості заданих даних.
Файл EYLOR.PAS містить описи структури методу та функцій, що використовуються основною програмою, та описи внутрішніх операторів. Нижче наведено список загальних операторів, їх призначення та основні властивості.
uses – опис зовнішніх модулів.
crt – модуль що містить в собі засоби керування дисплеєм і клавіатурою комп’ютера.
var – опис змінних.
write – виведення інформації на екран.
for – оператор що задає певне число повторень. Частина оператора від слова for до слова do називається заголовком циклу[7].
3.4 Тестування програми
На рисунках 3.1-3.5 подано екранні зображення в ході виконання програми для вихідних даних прикладу, наведеного в теоретичних відомостях.
Рисунок 3.1 - Введення проміжку
Рисунок 3.2 - Введення кроку
Рисунок 3.3 - Введення кількості кроків
Рисунок 3.4 - Введення y(x0)
Рисунок 3.5 – Виведення результатів обчислень
ВИСНОВКИ
1. Проведено теоретичний аналіз обчислення диференціальних рівнянь за методом Ейлера та його порівняння з іншими методами, який показав, що цей метод є досить простим і економним у часі, хоча не досить точним в обчисленнях даних, може бути успішно застосований для наближених обчислень.
2. Опираючись на теоретичну базу було створено ефективний алгоритм обчислення диференціальних рівнянь за методом Ейлера, розраховано коефіцієнт ефективності розробленої програми, який становить 1,1218.
3. Реалізовано програму, написану на мові програмування Турбо Паскаль 7.0, що має зручний та наочний інтерфейс і максимально спрощує роботу.
4. Здійснено тестування програми, яке підтвердило її правильну та коректну роботу.
ПЕРЕЛІК ПОСИЛАНЬ
Крылов В. И., Бобков В. В. Вычислительные методы высшей математики. – М.: Вышейшая школа, 1972. – 578 с.
Данилина Н. И., Дубровская Н. С. Численные методы, – М.: Высшая школа, 1976. – 367 с.
Краскевич В.Е., Зеленский К.Х., Гречко В.И. . Численные методы в инженерных исследованиях. - К.: Выща школа, 1986.--263 с .
В.Т. Маликов, Р.Н. Кветный . Вычислительные методы и применение
ЭВМ . Учебное пособие. - К.: Выща школа, 1989. -213 с .
Волинець В.І., Ревенок В.І. Методичні вказівки до виконання лабораторних робіт з дисциплін “Алгоритмічні мови і програмування” та “Обчислювальна техніка і програмування”.– Вінниця, ВДТУ, 1998.- 56 с.
Крилик Л.В. Прокопова М.О. Методичні вказівки до виконання курсової роботи з дисципліни «Обчислювальна математика» для студентів спеціальностей «Мікроелектроніка та напівпровідникові прилади» та «Електронні прилади та пристрої».-Вінниця: ВНТУ, 2007.-38с.
Гаєвський О.Ю. Інформатика.- К.: Видавництво А.С.К., 2004.-512с.