Исследование движения тела, брошенного под углом к горизонту, с учетом горизонтального сопротивления

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    48,17 Кб
  • Опубликовано:
    2013-03-07
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Исследование движения тела, брошенного под углом к горизонту, с учетом горизонтального сопротивления

Содержание

. Введение

. Постановка задачи

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

. Алгоритм решения задачи

. Схема алгоритма

. Таблица идентификаторов

. Текст программы на языке Pascal

. Результаты решения задачи

. Анализ результатов

. Приложение №1 (Microsoft Exel XP)

. Приложение №2 (MathCAD 2001)

. Литература

1. Введение

На практике часто встречается задача, когда тело брошено под углом к горизонту с начальной скоростью и с учётом сопротивления. Поэтому довольно актуально исследовать характер движения такого тела на одном типичном примере. В соответствие с математической моделью задачи для исследования характера движения тела необходимо найти решение задачи Коши для системы дифференциальных уравнений первого и второго порядка, решить её, используя метод Эйлера, и построить необходимые графики.

2. Постановка задачи

Тело массой брошено под углом к горизонту с начальной скоростью  (рис.1). На тело действует сила сопротивления , направленная горизонтально влево.

Исследовать характер движения тела, построив графики зависимостей υx(t), x(t), υy(t), y(t) и υ(t).


Значения исходных данных для тестирования: , , , , , .

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

Математическую модель задачи построим, используя второй закон Ньютона. Дифференциальные уравнения движения в проекциях на оси ОХ и ОY запишутся в виде:

 и .

Начальные условия движения тела известны из постановки задачи , , , . Таким образом, для исследования характера движения тела необходимо найти решение задачи Коши (сист. 1):

 сист. 1 сист. 2.

Преобразуем её к системе дифференциальных уравнений первого порядка с начальными условиями (сист. 2).

Для решения системы используем метод Эйлера. В первом положении в соответствии с постановкой задачи определим , , ,

, .

Обозначим Δt шаг изменения аргумента t. Тогда для i = 2, 3, …

, , ,

, , .

Процесс вычислений продолжаем до тех пор, пока тело не упадёт на землю, что соответствует выполнению условия . В результате получим таблично заданные зависимости υx(t), x(t), υy(t), y(t) и υ(t).

. Алгоритм решения задачи

1.      начальные данные:

1.1 υ0=5 м/c

.2 Δt=0,025 с

.3 m=0,5 кг

.4 k=2,8 кг/с

.5 g=9,8 м/с2

.6 α=30o

2.      данные в первой точке пути:

2.1 i=1

.2 t1=0

.3 υx1=υ0 cosα

2.4 x1=0

2.5 υy1=υ0 sinα

.6 y1=0

3.      пока  повторять:

3.1 i=i+1

3.2

3.3

3.4

3.5

3.6

3.7

. n = i-1

. i =1..n:

.1. вывод ti, Vxi, xi, Vyi, yi, Vi:

5. Схема алгоритма

























Max

Vybor


. Таблица идентификаторов

Номер

Идентификатор

Описание

1

υ0

Скорость, с которой брошено тело

2

dt

Промежуток времени, через который проводятся измерения

3

k

Коэффициент вертикального сопротивления

4

g

Ускорение свободного падения

5

alpha

Угол, под которым брошено тело

6

m

Масса тела

7

n

Количество измерений от начала движения до падения тела

8

A(B)

Массив, в котором хранятся результаты расчётов

9

i

Индекс строк массива A(B)

10

rez

Текстовый файл, в который сохраняются результаты вычислений

12

dt,dy

Шаги подписей осей координат

13

x,s

Используются для подписей осей координат

15

z,k

Индекс столбца массива A(B) и поправочное слагаемое соответственно. Используются для подписей осей координат

16

GraphDriver

Используется для определения используемого видеокартой видео драйвера

17

GraphMode

После определения видео драйвера система заполняет его параметрами необходимыми для правильной работы этого видео драйвера

18

ErrorCode

Используется для хранения кода ошибки при инициализации модуля Graph с использованием идентификаторов d и m


. Текст программы на языке Pascal

движение тело программа коши

uses graph,crt;v0=5; dt=0.025; alpha=pi/6; k=2.8; g=9.8; m=0.5;tab=array[1..40,1..6] of real;rez:text;,i:byte;:tab;

{====================================================}MyGraphInit;graphdriver,GraphMode,ErrorCode:integer;:=detect;(graphdriver,GraphMode,'');:=graphresult;Errorcode<>grOk then('proizoshla oshibka grafiki: ',grapherrormsg(errorCode));('rabota programmy prervana');;;;

{====================================================}osi_koordinat(A:tab; n,z,k:byte);i:byte;,dy,x:real;:string;:=A[n,1]/10;:=A[n-k,z]/10;(0,1,1);(100,20,100,320);(100,320,600,320);i:=0 to 10 do(99,20+30*i,101,20+30*i);z=4 then x:=A[n-k,z]-i*dy*2x:=A[n-k,z]-i*dy;(x:4:3,s);(50,15+30*i);(s);(100+50*i,319,100+50*i,321);:=i*dt;(x:4:3,s);(90+50*i,324,s);;I:=1 to 10 do;(1,1,1);(8);(103,20+30*(i-1), 600,20+30*(i-1));(100+50*i,318,100+50*i,20);(0,1,1);;;

{====================================================}MAX(const alpha,dt,k,m,g,v0:real; var A:tab; var n:byte);i:byte;:=1;[i,1]:=0;[i,2]:=v0*cos(alpha);[i,3]:=0;[i,4]:=v0*sin(alpha);[i,5]:=0;[i,6]:=v0;A[i,5]>=0 do:=i+1;[i,1]:=A[i-1,1]+dt;[i,2]:=A[i-1,2]-dt*k/m*A[i-1,2];[i,3]:=A[i-1,3]+dt*A[i-1,2];[i,4]:=A[i-1,4]-dt*g;[i,5]:=A[i-1,5]+dt*A[i-1,4];[i,6]:=sqrt(sqr(A[i,2])+sqr(A[i,4]));;:=i-1;;

{=====================================================}graph_Vx(A:tab; n:byte);i,z,k:byte;;:=2;:=n-1;_koordinat(a,n,z,k);(red);i:=1 to n do(round(100+900*A[i,1]),round(320-69*A[i,2]),round(100+900*A[i+1,1]),round(320-69*A[i+1,2]));(100,400,'gfrafik zavisimosti Vx(t)');;;

{=====================================================}graph_X(A:tab; n:byte);i,z,k:byte;;:=3;:=0;_koordinat(a,n,z,k);(100,320);(red);i:=1 to n do(round(100+A[i,1]*500/A[n,1]),round(320-A[i,3]*300/A[n,3]));(100,400,'gfrafik zavisimosti X(t)');;;

{====================================================}graph_Vy(A:tab; n:byte);i,z,k:byte;;:=4;:=n-1;_koordinat(a,n,z,k);(red);(round(100+A[i,1]*500/A[n,1]),round(320-(A[i,4]-A[n,4])*300/(A[1,4]-A[n,1])));i:=1 to n do(round(100+A[i,1]*500/A[n,1]),round(320-(A[i,4]-A[n,4])*300/(A[1,4]-A[n,4])));(100,400,'grafik zavisimosti Vy(t)');;;

{=====================================================}graph_V(A:tab; n:byte);i,z,k:byte;;:=6;:=n-1;_koordinat(a,n,z,k);(100,20);(red);i:=1 to n do(round(100+A[i,1]*500/A[n,1]),round(20+(A[i,6]-A[1,6])*140/(A[n,6]-A[1,6])));(100,400,'grafik zavisimosti V(t)');;;

{=====================================================}graph_Y(A:tab; n:byte);i,z,k:byte;;:=5;:=0;_koordinat(a,n,z,k);(100,320);(red);i:=1 to n do(round(100+A[i,1]*500/A[n,1]),round(320-A[i,5]*22.5/A[n,5]));(100,400,'grafik zavisimosti Y(t) ');;;

{=====================================================}vybor(A:tab; n:byte);z:byte;:=0;;;('1-grafik Vx(t)');('2-grafik X(t)');('3-grafik Vy(t)');('4-grafik Y(t)');('5-grafik V(t)');('sdelaite vybor nazhatiem');('sootvetstvyuschei knopki');(z);;(z<>1) and (z<>2) and (z<>3) and (z<>4) and (z<>5) thencase z of

: graph_Vx(A,n);

: graph_x(A,n);

: graph_Vy(A,n);

: graph_y(A,n);

: graph_V(A,n);;;;;

{=====================================================}(alpha,dt,k,m,g,v0,b,n);(b,n);(rez,'rez.txt');(rez);(rez,' raspe4atka rezul''tatov');(rez,'issledovanie dvizheniya tela brozhenogo pod uglom k gorizontu');(rez,'s u4etom gorizontal''nogo soprotivleniya ');(rez);(rez,'KOZEL A.N. gr.103814 ');(rez);(rez,'variant_30');(rez);(rez,'ishodnye dannye:');(rez,'massa tela m=',m:4:2,' kg');(rez,'na4al''naya skorost'' tela Vo=',v0:2,' m/s');(rez,'koeficient soprotivleniya sredy K=',k:3:2,' kg/s');(rez,'uskorenie Sv.Padeniya g=',g:3:2,' m/s^2');(rez,'promezhutok vremeni dt=',dt:6:4,' s');(rez,'ugol broska alpha=',alpha*180/pi:2:0,' grad');(rez);writeln(rez);(rez,'__________________________________________________');(rez,'| i t Vx x Vy y V|');(rez,'|_________________________________________________|');i:=1 to n do(rez,'|',i:3,' | ',B[i,1]:5:3,' | ',B[i,2]:5:3,' | ',B[i,3]:5:3,' | ',B[i,4]:7:3,' | ',B[i,5]:5:3,' | ',[i,6]:4:3,'|');(rez,'------------------------------------------------------');(rez);

end.

. Результаты решения задачи

atka rezul'tatovdvizheniya tela brozhenogo pod uglom k gorizontu

s u4etom gorizontal'nogo soprotivleniyaA.N. gr.103814_30dannye:tela m=0.50 kgal'naya skorost' tela Vo= 5 m/ssoprotivleniya sredy K=2.80 kg/sSv.Padeniya g=9.80 m/s^2vremeni dt=0.0250 sbroska alpha=30 grad

______________________________________________________

| I        t      Vx      x          Vy        y         V|

|_____________________________________________________|

| 1 | 0.000 | 4.330 | 0.000 | 2.500 | 0.000 | 5.000|

| 2 | 0.025 | 3.724 | 0.108 | 2.255 | 0.063 | 4.353|

| 3 | 0.050 | 3.203 | 0.201 | 2.010 | 0.119 | 3.781|

| 4 | 0.075 | 2.754 | 0.281 | 1.765 | 0.169 | 3.271|

| 5 | 0.100 | 2.369 | 0.350 | 1.520 | 0.213 | 2.814|

| 6 | 0.125 | 2.037 | 0.409 | 1.275 | 0.251 | 2.403|

| 7 | 0.150 | 1.752 | 0.460 | 1.030 | 0.283 | 2.032|

| 8 | 0.175 | 1.507 | 0.504 | 0.785 | 0.309 | 1.699|

| 9 | 0.200 | 1.296 | 0.542 | 0.540 | 0.328 | 1.404|

| 10 | 0.225 | 1.114 | 0.574 | 0.295 | 0.342 | 1.153|

| 11 | 0.250 | 0.958 | 0.602 | 0.050 | 0.349 | 0.960|

| 12 | 0.275 | 0.824 | 0.626 | -0.195 | 0.351 | 0.847|

| 13 | 0.300 | 0.709 | 0.647 | -0.440 | 0.346 | 0.834|

| 14 | 0.325 | 0.610 | 0.664 | -0.685 | 0.335 | 0.917|

| 15 | 0.350 | 0.524 | 0.680 | -0.930 | 0.318 | 1.068|

| 16 | 0.375 | 0.451 | 0.693 | -1.175 | 0.294 | 1.259|

| 17 | 0.400 | 0.388 | 0.704 | -1.420 | 0.265 | 1.472|

| 18 | 0.425 | 0.333 | 0.714 | -1.665 | 0.229 | 1.698|

| 19 | 0.450 | 0.287 | 0.722 | -1.910 | 0.188 | 1.931|

| 20 | 0.475 | 0.247 | 0.729 | -2.155 | 0.140 | 2.169|

| 21 | 0.500 | 0.212 | 0.735 | -2.400 | 0.086 | 2.409|

| 22 | 0.525 | 0.182 | 0.741 | -2.645 | 0.026 | 2.651|

-----------------------------------------------------

. Анализ результатов

Тело пролетело расстояние 0,741 метра за время 0,525 секунды. Скорость тела уменьшалась, пока оно не достигло наивысшей точки своей траектории (0,351 метра). Пройдя данную точку, проекция скорости на ось y (υy) поменяла своё направление(значения стали отрицательными), и тело начало разгоняться. Разгон продолжался до соприкосновения с землей.

Следовательно, исходя из результатов, можно сделать вывод:

чтобы увеличить дальность и время полёта тела, необходимо уменьшить массу тела, подобрать оптимальный угол броска (45о) и место проведения эксперимента для уменьшения величины вертикального сопротивления (ветер, дождь и тд.), увеличить начальную скорость броска.

В данной задаче мы проводили расчеты через равные промежутки времени Δt=0,025 с. При этом в последней точке, в которой тело находилось максимально близко к земле, координата y составляла 0,026 метра. Следовательно, это даёт существенную погрешность. Чтобы уменьшить величину погрешности эксперимента, необходимо уменьшить значение Δt, например, до Δt =0,01 с.

10. Приложение №1 (Microsoft Exel XP)

исходные данные

макс и мин значения

V0=

5

maxV=

5

maxY=

0,350625

dt=

0,025

minV=

0,834207

minY=

0

a(град)=

30

maxVx=


maxX=

0,7406698

k=

2,8

minVx=


minX=

0

g=

9,8

maxVy=




m=

0,5

minVy=




t

Vx

X

Vy

Y

V

0

4,330127

0

2,5

0

5

0,025

3,723909

0,108253

2,255

0,0625

4,3534498

0,05

3,202562

0,201351

2,01

0,118875

3,7810717

0,075

2,754203

0,281415

1,765

0,169125

3,271217

0,1

2,368615

0,35027

1,52

0,21325

2,8143802

0,125

2,037009

0,409485

1,275

0,25125

2,4031291

0,15

1,751828

0,460411

1,03

0,283125

2,0321908

0,175

1,506572

0,504206

0,785

0,308875

1,6988182

0,2

1,295652

0,541871

0,54

0,3285

1,4036784

0,225

1,11426

0,574262

0,295

0,342

1,1526497

0,25

0,958264

0,602118

0,05

0,349375

0,9595675

0,275

0,824107

0,626075

-0,195

0,350625

0,8468632

0,3

0,708732

0,646678

-0,44

0,34575

0,8342068

0,325

0,60951

0,664396

-0,685

0,33475

0,9169116

0,35

0,524178

0,679634

-0,93

0,317625

1,0675499

0,375

0,450793

0,692738

-1,175

0,294375

1,2585069

0,4

0,387682

0,704008

-1,42

0,265

1,4719706

0,425

0,333407

0,7137

-1,665

0,2295

1,6980533

0,45

0,28673

0,722035

-1,91

0,187875

1,9314021

0,475

0,246588

0,729203

-2,155

0,140125

2,1690621

0,5

0,212065

0,735368

-2,4

0,08625

2,4093509

0,525

0,182376

0,74067

-2,645

0,02625

2,6512801


макс и мин значения

maxV=

=МАКС(F10:F38)

maxY=

=МАКС(E10:E38)

minV=

=МИН(F10:F38)

minY=

=МИН(E10:E38)

maxVx=


maxX=

minVx=


minX=

=МИН(C10:C38)

maxVy=




minVy=





t

Vx

X

0

=$B$3*COS(РАДИАНЫ($B$5))

0

=A10+$B$4

=B10-$B$4*$B$6/$B$8*B10

=C10+$B$4*B10

=A11+$B$4

=B11-$B$4*$B$6/$B$8*B11

=C11+$B$4*B11

=A12+$B$4

=B12-$B$4*$B$6/$B$8*B12

=C12+$B$4*B12

=A13+$B$4

=B13-$B$4*$B$6/$B$8*B13

=C13+$B$4*B13

=A14+$B$4

=B14-$B$4*$B$6/$B$8*B14

=C14+$B$4*B14

=A15+$B$4

=B15-$B$4*$B$6/$B$8*B15

=C15+$B$4*B15

=A16+$B$4

=B16-$B$4*$B$6/$B$8*B16

=C16+$B$4*B16

=A17+$B$4

=B17-$B$4*$B$6/$B$8*B17

=C17+$B$4*B17

=A18+$B$4

=B18-$B$4*$B$6/$B$8*B18

=C18+$B$4*B18

=A19+$B$4

=B19-$B$4*$B$6/$B$8*B19

=C19+$B$4*B19

=A20+$B$4

=B20-$B$4*$B$6/$B$8*B20

=C20+$B$4*B20

=A21+$B$4

=B21-$B$4*$B$6/$B$8*B21

=C21+$B$4*B21

=A22+$B$4

=B22-$B$4*$B$6/$B$8*B22

=C22+$B$4*B22

=A23+$B$4

=B23-$B$4*$B$6/$B$8*B23

=C23+$B$4*B23

=A24+$B$4

=B24-$B$4*$B$6/$B$8*B24

=C24+$B$4*B24

=A25+$B$4

=B25-$B$4*$B$6/$B$8*B25

=C25+$B$4*B25

=A26+$B$4

=B26-$B$4*$B$6/$B$8*B26

=C26+$B$4*B26

=A27+$B$4

=B27-$B$4*$B$6/$B$8*B27

=C27+$B$4*B27

=A28+$B$4

=B28-$B$4*$B$6/$B$8*B28

=C28+$B$4*B28

=A29+$B$4

=B29-$B$4*$B$6/$B$8*B29

=C29+$B$4*B29

=A30+$B$4

=B30-$B$4*$B$6/$B$8*B30

=C30+$B$4*B30


Vy

Y

V

=$B$3*SIN(РАДИАНЫ($B$5))

0

=КОРЕНЬ(B10^2+D10^2)

=D10-$B$4*$B$7

=E10+$B$4*D10

=КОРЕНЬ(B11^2+D11^2)

=D11-$B$4*$B$7

=E11+$B$4*D11

=КОРЕНЬ(B12^2+D12^2)

=D12-$B$4*$B$7

=E12+$B$4*D12

=КОРЕНЬ(B13^2+D13^2)

=D13-$B$4*$B$7

=E13+$B$4*D13

=КОРЕНЬ(B14^2+D14^2)

=D14-$B$4*$B$7

=E14+$B$4*D14

=КОРЕНЬ(B15^2+D15^2)

=D15-$B$4*$B$7

=E15+$B$4*D15

=КОРЕНЬ(B16^2+D16^2)

=D16-$B$4*$B$7

=E16+$B$4*D16

=КОРЕНЬ(B17^2+D17^2)

=D17-$B$4*$B$7

=E17+$B$4*D17

=КОРЕНЬ(B18^2+D18^2)

=D18-$B$4*$B$7

=E18+$B$4*D18

=КОРЕНЬ(B19^2+D19^2)

=D19-$B$4*$B$7

=E19+$B$4*D19

=КОРЕНЬ(B20^2+D20^2)

=D20-$B$4*$B$7

=E20+$B$4*D20

=КОРЕНЬ(B21^2+D21^2)

=D21-$B$4*$B$7

=E21+$B$4*D21

=КОРЕНЬ(B22^2+D22^2)

=D22-$B$4*$B$7

=E22+$B$4*D22

=КОРЕНЬ(B23^2+D23^2)

=D23-$B$4*$B$7

=E23+$B$4*D23

=КОРЕНЬ(B24^2+D24^2)

=D24-$B$4*$B$7

=E24+$B$4*D24

=КОРЕНЬ(B25^2+D25^2)

=D25-$B$4*$B$7

=E25+$B$4*D25

=КОРЕНЬ(B26^2+D26^2)

=D26-$B$4*$B$7

=E26+$B$4*D26

=КОРЕНЬ(B27^2+D27^2)

=D27-$B$4*$B$7

=E27+$B$4*D27

=КОРЕНЬ(B28^2+D28^2)

=D28-$B$4*$B$7

=E28+$B$4*D28

=КОРЕНЬ(B29^2+D29^2)

=D29-$B$4*$B$7

=E29+$B$4*D29

=КОРЕНЬ(B30^2+D30^2)

=D30-$B$4*$B$7

=E30+$B$4*D30

=КОРЕНЬ(B31^2+D31^2)





11. Приложение №2 (MathCAD 2001)

Исходные данные для тестирования

Данные в первой точке пути



Графики

График зависимости Vx(t)


График зависимости x(t)


График зависимости Vy(t)


График зависимости y(t)


График зависимости V(t)


12. Литература

1) П.П.Анципорович, О.И.Алейникова, Т.И.Булгак, Н.Я.Луцко

Учебно-методическое пособие к лабораторным работам для студентов машиностроительных специальностей. Часть 1. Минск: БНТУ, 2009.

) Конспект лекций.

Похожие работы на - Исследование движения тела, брошенного под углом к горизонту, с учетом горизонтального сопротивления

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!