РефератыИнформатикаМоМоделирование физических процессов

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

ГОУ ВПО “Сибирский государственный университет телекоммуникаций и информатики”


Уральский технический институт связи и информатики (филиал)


Кафедра информационных систем и технологий


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


Екатеринбург 2009


Оглавление


Введение


Математическая модель


Описание теории применяемой к задаче


Блок – схемы


Листинг программы


Фотография графика


Решение задачи в MathCAD


Вывод


Литература


Введение


Благодаря данной курсовой работе, я получу основные навыки: в моделирование физических процессов, грамотного распределения информации и грамотного использования возможностей языка программирования Pascal.


Курсовая работа является первой объёмной самостоятельной работой для меня в роли программиста. Эта работа завершает подготовку по дисциплине “Программирование на языках высокого уровня” и становится базой для выполнения последующих курсовых проектов по специальным дисциплинам. После выполнения данной курсовой работы, я рассчитываю научиться строить графики функций, работать в MathCAD, и понимать геометрический смысл методов: Эйлера модифицированного и Рунге-Кутта.


Математическая модель, постановка задачи


1. Обсчитать первую точку методами Рунге – Кутта и Эйлера модифицированного.


2. Построить график к первой точке.


3. Составить блок - схемы.


4. Написать программу.


5. Построить график в MathCAD.


6. Сделать выводы


Описание теории применяемой к задаче


Метод Рунге – Кутта. Теория:


Пусть дано дифференциальное уравнение первого порядка


= f(x, y)
, с начальным условием y(
) =
.


Выберем шаг h
и введём обозначения:


=
+ i*h,
= y(
), где


i = 0, 1, 2, …


- узлы сетки,


– значение интегральной функции в узлах.


Аналогично Модифицированного метода Эйлера решаем дифференциальное уравнение. Отличие состоит в делении шага на 4 части.


Согласно методу Рунге – Кутта 4 порядка, последовательные значения искомой функции y определяются по формуле: =
+ ∆y, где



=
(
+ 2
+ 2
+
), I = 0, 1, 2, …


А числа ,
,
,
на каждом шаге вычисляются по формулам:


h* f(
,
)


,
)


,
)


h* f(
,
+
)


Обсчёт первой точки методом Рунге - Кутта:


Заданно уравнение движения материальной точки:
= 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




Метод Эйлера модифицированный


Теория:


Пусть дано дифференциальное уравнение первого порядка


= f(x, y)
, с начальным условием y(
) =
.


Выберем шаг h
и введём обозначения:


=
+ i*h,
= y(
), где


i = 0, 1, 2, …


- узлы сетки,


– значение интегральной функции в узлах.


1)
Обозначим точки: A(,), C(+h/2, +h/2*f(,)) и B(,).


2)
Через точку A проведем прямою под углом a, где


Обсчёт точки модифицированным методом Эйлера

<
br />

Заданно уравнение движения материальной точки:
= 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


= + * f(, )


= 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


= +h*f(+ ; +*f(;))


= 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((a-b)/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:tp70bgi');


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

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Моделирование физических процессов

Слов:977
Символов:9247
Размер:18.06 Кб.