ГОУ ВПО "Сибірський державний університет телекомунікацій та інформатики"
Уральський технічний інститут зв'язку та інформатики (філія)
Кафедра
інформаційних систем і технологій
Моделювання фізичних
процесів Єкатеринбург 2009
Зміст Введення
1.
Математична модель
2.
Опис теорії застосовуваної до задачі
3. Блок - схеми
4. Лістинг програми
5.
Фотографія графіка
6. Рішення завдання в
MathCAD Висновок
Література
Введення Завдяки цій роботі, я отримаю основні навички: в
моделювання фізичних процесів, грамотного розподілу інформації та грамотного використання можливостей
мови програмування Pascal.
Курсова робота є першою об'ємної самостійною роботою для мене в ролі програміста. Ця робота завершує підготовку з дисципліни "Програмування на мовах високого рівня" і стає базою для виконання подальших
курсових проектів з спеціальних дисциплін. Після виконання даної
курсової роботи, я розраховую навчитися будувати графіки функцій, працювати в MathCAD, і розуміти
геометричний сенс методів: Ейлера модифікованого і Рунге-Кутта.
Математична модель, постановка задачі. 1. Обрахувати першу точку методами Рунге-Кутта і Ейлера модифікованого.
2. Побудувати графік до першої крапки.
3. Скласти блок - схеми.
4. Написати програму.
5. Побудувати графік у MathCAD.
6. Зробити висновки
1. Математична модель Метод Рунге-Кутта Теорія:
Нехай дано
диференціальне рівняння першого порядку
QUOTE
= F (x, y), з початковою умовою y (QUOTE
) = QUOTE
.
Виберемо крок h і введемо позначення:
QUOTE
= QUOTE
+ I * h, QUOTE
= Y (QUOTE
), Де
i = 0, 1, 2, ...
QUOTE
- Вузли сітки,
QUOTE
- Значення інтегральної
функції у вузлах.
Аналогічно модифікованого методу Ейлера вирішуємо диференціальне рівняння. Відмінність полягає в розподілі кроку на 4 частини.
Згідно з методом Рунге - Кутта 4 порядку, послідовні значення QUOTE
шуканої функції y визначаються за формулою:
QUOTE
= QUOTE
+ Δy, де
Δ QUOTE
= QUOTE
(QUOTE
+ 2 QUOTE
+ 2 QUOTE
+ QUOTE
), I = 0, 1, 2, ...
А числа QUOTE
, QUOTE
, QUOTE
, QUOTE
на кожному кроці обчислюються за формулами:
QUOTE
h * f (QUOTE
, QUOTE
)
QUOTE
, QUOTE
)
QUOTE
, QUOTE
)
QUOTE
h * f (QUOTE
, QUOTE
+ QUOTE
)
Обрахунок першої точки методом Рунге-Кутта: Визнач рівняння руху
матеріальної точки: QUOTE
= X * sin (t), з умовою
t 0 = 1, t к = 1.4, h = 0.05, x 0 = 2.
Необхідно побудувати фізичну і
математичну модель руху.
tg (a) = x * sin (t) = 2 * sin (1) = 1.6829
/ (A) = 1.0346
t (b) = 1.6829 + 0.125 = 1.8079
x (b) = 2 +0.125 * 1.8079 = 2.2259
tg (b) = 2.2259 * sin (1) = 1.8730
/ (B) = 1.0803
t (c) = 1.6829 + 0.025 = 1.7079
x (c) = 2 + 0.025 * (1.7079) = 2.0426
tg (c) = 2.0426 * sin (1) = 1.7187
/ (C) = 1.0438
t (d) = 1.6829 + 0.0375 = 1.7204
x (d) = 2 + 0.0375 * 1.7204 = 2.0645
tg (d) = 2.0645 * sin (1) = 1.7372
/ (D) = 1.0484
Обрахунок першої точки модифікованим методом Ейлера
Задано рівняння руху матеріальної точки: QUOTE
= X * sin (t), з умовою
t 0 = 1, t к = 1.4, h = 0.05, x 0 = 2.
Необхідно побудувати фізичну і математичну модель руху.
A (1, 2)
tg (a) = x * sin (t) = 2 * sin (1) = 1.682
/ (A) = 1.034
QUOTE
= QUOTE
+ QUOTE
* F (QUOTE
, QUOTE
)
QUOTE
= 2 + 0.025 * (1.6829) = 2.042
C (0.025; 2.042)
tg (c) = x * sin (t) = 2 * sin (1.025) = 1.709
/ (C) = 1.041
QUOTE
= QUOTE
+ H * f (QUOTE
+ QUOTE
; QUOTE
+ QUOTE
* F (QUOTE
; QUOTE
))
QUOTE
= 2 + 0.05 * (1.041) = 2.05205
Таблиця вимірювань в Pascal, Mathcad:
t
| X1
| X2
| Xm
|
0
| 0
| 0
| 0
|
0.1
| 0.1778
| 0.1677
| 0.168
|
0.2
| 0.3354
| 0.3201
| 0.32
|
0.3
| 0.4804
| 0.4621
| 0.462
|
0.4
| 0.6165
| 0.5964
| 0.596
|
0.5
| 0.7460
| 0.7249
| 0.725
|
0.6
| 0.8705
| 0.8487
| 0.849
|
0.7
| 0.9909
| 0.9688
| 0.969
|
0.8
| 1.1079
| 1.0857
| 1.086
|
X1 - метод Ейлера модифікований, X2 - метод Рунге - Кутта, Xm - розв'язок в Mathcad
Фотографія графіка.
Рішення в Mathcad
Висновок У результаті виконаної роботи, я навчився вирішувати
диференціальні рівняння і будувати до них графік, ще я навчився вирішувати такі рівняння в середовищі
Turbo Pascal. Дізнався, як вирішувати різні рівняння в MathCAD. Ще я зрозумів, як можна будувати різний функції по точках, за допомогою циклів. Так само я зрозумів, як треба правильно масштабувати графіки, в залежності від заданої функції. Внаслідок
того, що дана
курсова, була для мене першою серйозною і об'ємної роботою, я навчився оформляти серйозні роботи.
Список літератури 1.
Демидович Б.П., Марон І.А., Шувалова Е.З.,
Чисельні методи аналізу: Физматгиз, 1963.
2. Немюгін С.А.
turbo Pascal. Практикум - СПБ.: Питер, 2005.
3. Немюгін С.А. turbo Pascal.
Програмування на мові високого рівня:
Підручник для вузів. - СПБ.: Пітер, 2009.
4. М.М. Боженова, Л.А. Москвіна. Практичне програмування.
Прийоми створення програм на мові Паскаль.
5. Основні процедури та функції модуля graph: http://rsc-team.ru/cgi-bin/index.pl?rzd=2&group=lection&ind=21