Завдання
Основи програмування та алгоритмічні мови
КУРСОВА РОБОТА
Тема: Дослідження диференціального рівняння
З М І С Т
Вступ..................................................................................................................4
1. Постановка задачі........................................................................................5
1.1 Визначення трійкового варіанту роботи............................................5
1.2 Вибір виду дифрівняння та числових методів...................................5
2. Головна програма........................................................................................6
2.1 Графічний алгоритм головної програми............................................6
2.2 Опис алгоритму головної програми...................................................7
3. Підпрограма оптимізації функцій.............................................................8
3.1 Опис методу оптимізації функцій..........................………................8
3.2 Графічний алгоритм підпрограми оптимізації..................................9
3.3. Опис алгоритму оптимізації функцій…………………….…….....10
4. Підпрограма розв’язування системи дифрівнянь..................................11
4.1 Перетворення заданого дифрівняння в систему.............................11
4.2 Опис методу розв’язання системи дифрівнянь...............................11
4.3 Графічний алгоритм розв’язування сис. дифрівнянь......................12
4.4. Опис графічного алгоритму розв’язування системи дифрівнянь.13
5. Підпрограма числового інтегрування функцій......................................14
5.1 Опис методу числового інтегрування функцій...............................14
5.2 Графічний алгоритм числового інтегрування.................................15
5.3. Опис графічного алгоритму числового інтегрування функцій...15
6. Підпрограма побудови графіка функції……………………………….16
6.1. Графічний алгоритм побудови графіка…………………..………16
6.2. Опис алгоритму побудови графіка…………………………….....16
7. Аналіз результатів виконання програми.................................................17
Додаток А. Текст головної програми і підпрограм......................................18
Додаток Б. Таблиця ідентифікаторів.............................................................20
Додаток В. Результати виконання програми……………………................21
Список використаної літератури....................................................................23
Вступ
Діяльність людини, пов’язана з процесами отримання, накопичення, зберігання, передавання, подання інформації, називається інформаційною діяльністю.
Складна наукова задача вже не може бути розв’язана вручну, навіть якщо талановитий учений витратить на неї все своє життя. Опрацювати всі ці дані людині допомагає комп’ютер. В результаті такої взаємодії можлива ефективна обробка первинної інформації, та одержання інформації нової якості.
Інформаційні системи допомагають аналізувати проблеми і розробляти нові вироби. Інформація є одним з найцінніших ресурсів суспільства поряд з такими природними багатствами, як нафта, газ та інше. Отже, методи і засоби переробки інформації як і переробки матеріальних ресурсів теж можна визначити як технологію.
Складні механізми моделюються електричними ланцюгами як більш допустимими для побудови та вимірювання. Було розроблено багато інших методів та засобів моделювання.
Застосування математичних моделей – рівнянь, нерівностей, формул, за допомогою яких описуються об’єкти – і є математичне моделювання. Для реалізації складних математичних моделей недостатньо аналітичного апарату досліджень, а потрібні ефективні чисельні методи.
Використання чисельних методів для реалізації математичних моделей на комп’ютері потребує механізму їх перенесення на комп’ютер, тобто потребує такого засобу, за допомогою якого б комп’ютер “зрозумів” як розв’язувати задачі. Таким засобом є спеціально створені мови. Їх називають мовами програмування. Завдяки появі потужних комп’ютерів і розвитку інформаційних технологій створюються методи та засоби комп’ютерного моделювання, здатні розв’язувати складні та надскладні практичні задачі.
1. Постановка задачі
1.1. Визначення трійкового варіанту роботи
Варіант № 15.
Переведемо його в трiйкову систему числення, для чого pоздiлимо його та всi подальші проміжні цiлi pезультати дiлення на 3, поки останнiй з них не стане меншим за 3, та знайдемо залишки від ділення:
15:3 = 5, залишок = 15-15 = 0;
5:3 = 1, залишок = 5-3 = 2.
Пpочитавши останнiй pезультат ділення (число 1) та всi залишки вiд дiлення знизу ввеpх (числа 2 і 0), одержимо 120. Це i буде шукане тpiйкове число.
Пеpевipка: 1*3І + 2*3№ + 0*3є = 1*9 + 2*3 + 0*1 = 9 + 6 + 0= 15.
Пiсля доповнення нулем чотиризначний номеp варiанту прийме виг---ляд: 0120. Згiдно з ним вибираємо тип задачi Кошi та назви чи---слових методiв, якi будуть викоpистанi в куpсовiй pоботi.
1.2. Вибір виду дифрівняння та числових методів
Для вибору задачі Коші використовується перший розряд чотиризначного трiйкового числа, другий – для вибору методу оптимізації, третій – методу розв'язування системи дифрівнянь, четвертий – методу обчислення інтегралу функції.
Вибір постановки задачі для варіанту 0120 поданий у таблиці 1.2.
Таблиця 1.2. Варіант № 15 (трійковий – 0120)
1 розряд трійкового числа, вибір виду дифрівняння, варіант 0
вид дифрівняння | a3y'''+a2y''+a0y=b0
початкові умови | y=y'=y''=0 при t=0
b0 | C0k1k2
a0 | 1+b0
a1 | T1+T3
a2 | T2+T1T3
a3 | T1T2
C0k | a1a2/(a3k1k2)-1/(k1k2)
k1 | 3
k2 | 5
T1 | 0,1
T2 | 0,01
T3 | 0,2
tвст | 2,0
2 розряд трійкового числа, вибір методу оптимізації функції, варіант 1
метод: | золотого перерізу
3 розряд трійкового числа, вибір методу розв'язування системи дифрівнянь, варіант 2
метод: | Рунге-Кута
4 розряд трійкового числа, вибір методу обчислення означеного інтегралу, варіант 0
метод: | прямокутників
2. Головна програма
2.1. Графічний алгоритм головної програми
2.2. Опис алгоритму головної програми
Блок 1. Відкриваємо основну програму.
Блок 2. Оголошення рядка символів типу char, вказівника на цей масив.
Блоки 3-6.Обчислюємо крок зміни часу (h=tвст /n) та незалежні коефіцієнти a1, a2, a3.
Блок 7. Обчислюємо початкову умову диференційного рівняння C0k , де F1=a1*a2/(a3*k1*k2)-1/(k1*k2).
Блоки 8-10(17-19). Вивід на екран тексту S1= “Результати розрахунків:”; друк C0k (C0о ); вивід тексту S2= “ Коливний перехідний процес, масив значень вихідної величини ”.
Блок 11(20). Звернення до функції ( Метод розв'язування системи дифрівнянь: Рунге-Кута ).
Блоки 12-13(21-22). Вивід результатів розв'язування системи дифрівнянь.
Блок 14(23). Присвоєння значення c=”коливного” ( c=”оптимального”).
Блок 15(24). Звернення до функції ( Побудова графіка).
Блок 16. Звернення до функції (Метод оптимізації функції: золотого перерізу)
Блок 25. Завершення основної програми.
3. Підпрограма оптимізації функцій
3.1. Опис методу оптимізації функцій
Постановка задачі має вигляд критерія оптимальності з обмеженнями, наприклад, такий:
F(x) > min, xЄ [a, b].
Задача полягає в знаходженні координати xопт мінімального значення функції F з похибкою
о, яка не перевищує задану.
Метод золотого перерізу призначений для пошуку координати мінімуму унімодальних функцій. Суть методу полягає в тому, що відрізок [a, b] в циклі ділять на 3 частини точками c і d та перевіряють умову: якщо f(c) < f(d), то для подальшого ділення беруть відрізок [a, c], інакше – [c, b]. Обчислення