Моделювання фізичних процесів

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

ГОУ ВПО "Сибірський державний університет телекомунікацій та інформатики"
Уральський технічний інститут зв'язку та інформатики (філія)
Кафедра інформаційних систем і технологій
Моделювання фізичних процесів
Єкатеринбург 2009

Зміст
Введення
Математична модель
Опис теорії застосовуваної до задачі
Блок - схеми
Лістинг програми
Фотографія графіка
Рішення завдання в MathCAD
Висновок
Література

Введення
Завдяки цій роботі, я отримаю основні навички: в моделювання фізичних процесів, грамотного розподілу інформації та грамотного використання можливостей мови програмування Pascal.
Курсова робота є першою об'ємної самостійною роботою для мене в ролі програміста. Ця робота завершує підготовку з дисципліни "Програмування на мовах високого рівня" і стає базою для виконання подальших курсових проектів з спеціальних дисциплін. Після виконання даної курсової роботи, я розраховую навчитися будувати графіки функцій, працювати в MathCAD, і розуміти геометричний сенс методів: Ейлера модифікованого і Рунге-Кутта.

Математична модель, постановка задачі
1. Обрахувати першу точку методами Рунге - Кутта і Ейлера модифікованого.
2. Побудувати графік до першої крапки.
3. Скласти блок - схеми.
4. Написати програму.
5. Побудувати графік у MathCAD.
6. Зробити висновки
Опис теорії застосовуваної до задачі
Метод Рунге - Кутта. Теорія:
Нехай дано диференціальне рівняння першого порядку
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 = F (x, y), з початковою умовою y (QUOTE ) = QUOTE .
Виберемо крок h і введемо позначення:
QUOTE = QUOTE + I * h, QUOTE = Y (QUOTE ), Де
i = 0, 1, 2, ...
QUOTE - Вузли сітки,
QUOTE - Значення інтегральної функції у вузлах.
1) Позначимо точки: A (QUOTE , QUOTE ), C (QUOTE + H / 2, QUOTE + H / 2 * f (QUOTE , QUOTE )) І B (QUOTE , QUOTE ).
2) Через точку A проведемо прямою під кутом a, де
Обрахунок точки модифікованим методом Ейлера
Задано рівняння руху матеріальної точки: 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
Лістинг програми:
Uses crt, graph, graph0;
const
h = 0.05;
var
gd, gm, n, i, j: integer;
a, b, k1, k2, k3, k4, d, g, c: real;
Xf: array [1 .. 50] of integer;
Yf: array [1 .. 50] of integer;
begin
clrscr;
a: = 0;
b: = 1.4;
n: = abs (round ((ab) / h));
readln;
writeln ('x = y =');
writeln;
c: = 2;
d: = 0;
for j: = 1 to n do
begin
k1: = h * c * sin (d);
k2: = h * (c +0.5 * k1) * sin (d +0.5 * h);
k3: = h * (c +0.5 * k2) * sin (d +0.5 * h);
k4: = h * (c + k3) * sin (d + h);
g: = k1 +2 * k2 +2 * k3 + k4;
Xf [j]: = round (100 * d);
Yf [j]: = round (100 * c);
if (j = 1) or (j = 2) or (j = 3) or (j = 4)
or (j = 5) or (j = 6) or (j = 7) or (j = 8) or (j = 9) then
begin
write ('');
write (j); write ('.'); write (d); write (''); writeln (c);
delay (3000);
end
else
begin
write (j); write ('.'); write (d); write (''); writeln (c);
delay (2000)
end;
d: = d + h;
c: = c + g / 6;
end;
readln;
gd: = detect;
init ('c: \ tp70 \ bgi');
setbkcolor (15);
setcolor (3);
line (0,240,640,240);
line (320,0,320,480);
for i: = 1 to n do
begin
if i +1 <= n then
begin
setlinestyle (0,0,3);
setcolor (7);
line (320 + Xf [i], Yf [i] -160,320 + Xf [i +1], Yf [i +1] -160);
putpixel (460,240,15);
putpixel (320,40,15);
putpixel (Xf [i] +320, Yf [i] -160,0);
end;
end;
readln;
closeGraph;
end.
Таблиця вимірювань в Pascal, Mathcad:
t
X1
X2
Xm
2
2,077
2,1
2,16
2,2
2,247
2,3
2,341
2,4
2,44
2,5
2,545
2,6
2,656
2,7
2,773
2,8
2,896
X1 - метод Ейлера модифікований, X2 - метод Рунге - Кутта, Xm - розв'язок в Mathcad
Рішення в Mathcad.



Висновок
У результаті виконаної роботи, я навчився вирішувати диференціальні рівняння і будувати до них графік, ще я навчився вирішувати такі рівняння в середовищі Turbo Pascal. Дізнався, як вирішувати різні рівняння в MathCAD. Ще я зрозумів, як можна будувати різний функції по точках, за допомогою циклів. Так само я зрозумів, як треба правильно масштабувати графіки, в залежності від заданої функції. Внаслідок того, що дана курсова, була для мене першою серйозною і об'ємної роботою, я навчився оформляти серйозні роботи.

Список літератури
1. Демидович Б.П., Марон І.А., Шувалова Е.З., Чисельні методи аналізу: Физматгиз, 1963.
2. Немюгін С.А. turbo Pascal. Практикум - СПБ.: Пітер, 2009.
3. Немюгін С.А. turbo Pascal. Програмування на мові високого рівня: Підручник для вузів. - СПБ.: Питер, 2005.
4. М.М. Боженова, Л. А. Москвіна.
5. Практичне програмування. Прийоми створення програм на мові Паскаль.
6. Основні процедури та функції модуля graph: http://rsc-team.ru/cgi-bin/index.pl?rzd=2&group=lection&ind=21
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Курсова
33.1кб. | скачати


Схожі роботи:
Моделювання фізичних процесів 2
Моделювання бізнес-процесів
Моделювання процесів мислення та творчості
Моделювання технологічних процесів в рибництві
Моделювання динаміки соціальних процесів
Особливості моделювання соціальних процесів
Моделювання політичних і соціально-економічних процесів
Забезпечення якості моделювання бізнес-процесів
Аналіз та моделювання бізнес-процесів компанії
© Усі права захищені
написати до нас