ГОУ ВПО "Сибірський державний університет телекомунікацій та інформатики"
Уральський технічний інститут зв'язку та інформатики (філія)
Кафедра інформаційних систем і технологій
Моделювання фізичних процесів
Єкатеринбург 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:
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
Уральський технічний інститут зв'язку та інформатики (філія)
Кафедра інформаційних систем і технологій
Моделювання фізичних процесів
Єкатеринбург 2009
Зміст
Введення
1. Математична модель
2. Опис теорії застосовуваної до задачі
3. Блок - схеми
4. Лістинг програми
5. Фотографія графіка
6. Рішення завдання в MathCAD
Висновок
Література
Введення
Завдяки цій роботі, я отримаю основні навички: в моделювання фізичних процесів, грамотного розподілу інформації та грамотного використання можливостей мови програмування Pascal.
Курсова робота є першою об'ємної самостійною роботою для мене в ролі програміста. Ця робота завершує підготовку з дисципліни "Програмування на мовах високого рівня" і стає базою для виконання подальших курсових проектів з спеціальних дисциплін. Після виконання даної курсової роботи, я розраховую навчитися будувати графіки функцій, працювати в MathCAD, і розуміти геометричний сенс методів: Ейлера модифікованого і Рунге-Кутта.
Математична модель, постановка задачі.
1. Обрахувати першу точку методами Рунге-Кутта і Ейлера модифікованого.
2. Побудувати графік до першої крапки.
3. Скласти блок - схеми.
4. Написати програму.
5. Побудувати графік у MathCAD.
6. Зробити висновки
1. Математична модель
Метод Рунге-Кутта
Теорія:
Нехай дано диференціальне рівняння першого порядку
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 |
Фотографія графіка.
Рішення в 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