Содержание
1. Математическая модель, описывающая движение тела.
2. Алгоритм расчёта и визуализации временных диаграмм скорости, пути и движущей силы: V (t), S (t), F (t).
3. Листинг программы, реализующей представленный алгоритм расчёта и построение графиков V (t), S (t), F (t).
Список использованной литературы
Математическая модель, описывающая движение тела.
Тело массой m движется под действием силы F по диаграмме (зависимости скорости от времени), изображённой на рис. 1, проходя путь L и возвращаясь в исходную точку. Ускорение (замедление) тела на участках №1, 3, 5, 7 постоянно и равно a, скорость на участках №2 и №6 равна Vm и - Vm соответственно. Время паузы на участке №4 составляет 1 с.
№ варианта | Параметр | |||||
расчётная схема | масса тела m, кг | путь L, м | скорость Vm, м/с | ускорение a, м/с2 | угол наклона α, град. | |
б | 0,5 | 0,25 |
Определить время движения тела на каждом участке следующим образом. Путь, проходимый телом за время движения на участках №1, 2, 3 равен:
(1).
Время движения на участке №1 и время движения на участке №3 равно
.
T1 = T3 = 0,5/0,25 = 2 (c)
Подставив это выражение в (1), получим:
.
Тогда время движения на участке №2 равно
.
T2 = 15/0,5 – 0,5/0,25 = 28 (c)
Движение назад (участки №5, 6, 7) полностью повторяет движение вперёд, поэтому Т 5= Т 7= Т 1=2, а Т 6= Т 2=28.
Рассчитаем путь, проходимый телом на участках разгона (торможения), воспользовавшись формулой:
,
S =0*2 + 0,25*4/2 = 0,5
где V 0 – значение скорости в начале участка, T – длительность участка, a – ускорение (замедление).
Рассчитаем силу F, вызывающую движение тела по формуле:
,
где μ – коэффициент трения, m – масса тела, g – ускорение свободного падения, α – угол наклона поверхности к горизонту.
F = 0,05*250*9,81*0.9848+ 250*9,81*0.1736+250*0,25 =
= 120,7611+425,754+62,5=609,0151
Алгоритм расчёта и визуализации временных диаграмм скорости, пути и движущей силы: V(t), S(t), F(t).
Расчет времени движения на различных участках пути:
T1:=Vm/a;
T3:=T1;
T2:=(L/Vm)-(Vm/a);
T5:=T1;
T6:=T2;
T7:=T3;
T4:=1;
Расчет пути, пройденного за различные отрезки времени:
S1:=0*T1+(a*T1*T1/2);
S3:=Vm*T3+(a*T3*T3/2);
S5:=-(0*T5+(a*T5*T5/2));
S7:=-(Vm*T7+(a*T7*T7/2));
S2:=(Vm*Vm/a)+Vm*T2;
S6:=-((Vm*Vm/a)+Vm*T2);
S4:=0;
Ускорение на различных участках:
a1:=a;
a2:=0;
a3:=-a;
a4:=0;
a5:=-a;
a6:=0;
a7:=a;
Расчет скорости движения на различных участках:
V1:=a*T1;
V2:=Vm;
V3:=a*T3;
V4:=0;
V5:=-a*T5;
V6:=-Vm;
V7:=-a*T7;
3. Листинг программы, реализующей представленный алгоритм расчёта и построение графиков V (t), S (t), F (t).
uses graphABC,crt;
type
Rasst = array[1..7] of real;
Vrem = array[1..8] of real;
Skor = array[1..8] of real;
Uskor = array[1..7] of real;
var
m,L,Vm,Alfa,a,u,q: real;
x,y,z: integer;
S:rasst;
T:vrem;
V:Skor;
Fa:uskor;
const
g = 9.8;
begin
u:=0.05;
m:=250;
L:=15;
Vm:=0.6;
a:=0.25;
Alfa:=10;
T[1]:=Vm/a;
T[3]:=T[1];
T[2]:=(L/Vm)-(Vm/a);
T[5]:=T[1];
T[6]:=T[2];
T[7]:=T[3];
T[4]:=1;
S[1]:=0*T[1]+(a*T[1]*T[1]/2);
S[3]:=Vm*T[3]-(a*T[3]*T[3]/2);
S[5]:=-((0*T[5]+(a*T[5]*T[5]/2)));
S[7]:=-((Vm*T[7]-(a*T[7]*T[7]/2)));
S[2]:=Vm*T[2];
S[6]:=-Vm*T[2];
S[4]:=0;
Alfa:=10*3.14/180;
x:=1;
V[1]:=a*T[1];
V[2]:=Vm;
V[3]:=a*T[3];
V[4]:=0;
V[5]:=-a*T[5];
V[6]:=-Vm;
V[7]:=-a*T[7];
Fa[1]:=a;
Fa[2]:=0;
Fa[3]:=-a;
Fa[4]:=0;
Fa[5]:=a;
Fa[6]:=0;
Fa[7]:=-a;
//Pervi grafik, S(t)
TextOut(2,20, 'S');
TextOut(350,250, 'T');
Line(20,250,350,250);
Line(20,350,20,20);
Line(20,20,15,37);
Line(20,20,25,37);
Line(350,250,333,245);
Line(350,250,333,255);
Y:=20;
z:=250;
MoveTo(y,z);
q:=0;
for x:=1 to 7 do
begin
q:=q+S[x];
z:=250-(round(q))*10;
Y:=y+40;
lineto(y,z);
end;
TextOut(250,40, 'Ãðàôèê èçìåíåíèÿ ïðîéäåííîãî ïóòè êî âðåìåíè.');
TextOut(250,60, 'Íàæìèòå "Enter" äëÿ ïðîäîëæåíèÿ.');
readln;
Clrscr;
//vtoroi grafik, otnowenie skorosti ko vremeni, V(t)
TextOut(2,20, 'V');
TextOut(350,250, 'T');
Line(20,250,350,250);
Line(20,350,20,20);
Line(20,20,15,37);
Line(20,20,25,37);
Line(350,250,333,245);
Line(350,250,333,255);
Y:=20;
z:=250;
MoveTo(y,z);
for x:=1 to 8 do
begin
Y:=y+40;
z:=250-(round((Round(V[x]*150))));
lineto(y,z);
end;
TextOut(250,40, 'Ãðàôèê èçìåíåíèÿ ñèëû êî âðåìåíè.');
TextOut(250,60, 'Íàæìèòå "Enter" äëÿ ïðîäîëæåíèÿ.');
readln;
clrscr;
//treti grafik, otnowenie uskoreniya ko vremeni, a(t)
TextOut(2,20, 'a');
TextOut(350,250, 'T');
Line(20,250,350,250);
Line(20,350,20,20);
Line(20,20,15,37);
Line(20,20,25,37);
Line(350,250,333,245);
Line(350,250,333,255);
Y:=20;
z:=250;
for x:=1 to 7 do
begin
z:=250-((trunc((Fa[x])*150)));
line(y,z,y+40,z);
Y:=y+40;
end;
TextOut(250,40, 'Ãðàôèê èçìåíåíèÿ ñèëû êî âðåìåíè.');
TextOut(250,60, 'Íàæìèòå "Enter" äëÿ ïðîäîëæåíèÿ.');
readln;
clrscr;
end.
Список использованной литературы
1. Программирование в Turbo Pascal 7.0 и Delphi / Н.Б. Культин. СПб.: BHV – Санкт-Петербург, 1997 – 240 с., ил.