Моделирование движения на плоскости (поступательное движение)
Разработка на языке Pascal программы расчета кинематических параметров поступательного движения тела. Математическая модель процесса и объекта. Начальные параметры для участка торможения. Алгоритмы решения задачи, которые имеют описательный вид.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 31.01.2015 |
Размер файла | 378,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
ФИЛИАЛ БЕЛОРУССКОГО НАЦИОНАЛЬНОГО ТЕХНИЧЕСКОГО УНИВЕРСИТЕТА, г. СОЛИГОРСК
Факультет горного дела и экологии
КУРСОВАЯ РАБОТА
по курсу «Информатика»
Моделирование движения на плоскости
(поступательное движение)
Солигорск, 2011
Введение
В курсовой работе на языке Pascal разрабатывается программа расчета кинематических параметров поступательного движения тела. Исходными данными для задачи являются силовые и массовые характеристики.
Изучением движения материальных тел под действием сил занимается раздел теоретической механики - динамика.
Знание законов динамики позволяет ответить на многие вопросы, такие как - почему материальные тела движутся именно так, а не иначе, какие причины приводят к изменению их движения и т. п.
В основе динамики лежат следующие аксиомы.
Аксиома 1 (принцип инерции). Всякая изолированная материальная точка находится в состоянии покоя или равномерного и прямолинейного движения, пока приложенные силы не выведут ее из этого состояния.
Аксиома 2 (основной закон динамики). Ускорение а материальной точки, пропорционально действующей силе F и направлено по той прямой, по которой действует эта сила.
Аксиома 3 (закон независимости действия сил). Если к материальной точке приложена система сил, то каждая из сил системы сообщает точке такое же ускорение, какое она сообщала бы, действуя одна.
Аксиома 4 (закон равенства действия и противодействия). Две материальные точки действуют друг на друга с силами, равными по модулю и направленными в противоположные стороны.
С помощью изложенных выше четырех аксиом и решаются все задачи динамики материальной точки, а так же задачи динамики системы материальных точек, в частности динамики твердого тела.
Постановка задачи
Тело массой m, на которое действует движущая сила Fд=F0+lg(S+1) и сила сопротивления Fc, разгоняется на участке пути Sp. После этого действие движущей силы прекращается (сила Fc продолжает действовать), начинается торможение, в процессе которого тело пройдет до остановки расстояние ST за счет накопленной при разгоне кинетической энергии.
Требуется:
определить зависимости от пути S скорости v(S), ускорения a(S), времени t(S),
установить время Tp прохождения телом участка Sp и время TТ прохождения участка ST;
по полученным данным построить графики v(t), a(t) для интервала перемещения
[0, Sр+ SТ].
Исходные данные:
m=2.0 кг,
Fc=5 H,
F0=90 H,
Sp=0.6 м,
N=12
Математическая модель процесса, объекта
Исходными данными для определения параметров движения (перемещения, скорости, ускорения, времени), а так же времени разгона и торможения являются масса тела m, движущая сила Fд, сила сопротивления Fc, а так же начальные значения параметров движения.
При использовании дискретной модели весь путь разбивается на 2N+1 количество элементарных участков длиной .
Связь кинематических, силовых и массовых параметров описывается теоремой об изменении кинетической энергии для поступательного движения:
,
откуда скорость движения:
Принимается, что скорость движения постоянна при определении времени ,
Откуда
Полагая, что ускорение a на участке ДS постоянно, имеем:
Интеграл , где можно вычислить одним из приемлемых численных методов, например методом трапеций.
Расчет параметров движения на участке торможения требует предварительного определения его длины ST:
Расчет параметров движения на участке торможения требует предварительного определения его длины .
При этом исходя из условия, что вся накопленная при разгоне кинетическая энергия
расходуется на преодоление силы сопротивления Fс, совершающей работу Ас = Fс SТ, т.е.
откуда путь торможения:
Начальные параметры для участка торможения соответствуют положению i=n+1 и частично являются известными. Так, из процесса разгона получены Sn+1, нn+1, tn+1. При переходе к торможению имеет место разрыв функции ускорения. Новое значение ускорения соответствующее началу участка торможения, равно:
Параметры движения в промежуточных положениях участка торможения при i=n+2,…., 2n+1 определяются следующим образом:
,
Время разгона и торможения будут равны:
При составлении программы для реализации функции десятичного логарифма f(x)=lg(x) используется соотношение lg(x) =ln(x)/ln(10), так как в библиотечном наборе функций TPasсal 7.0 функции десятичного логарифма нет.
Алгоритм решения задачи
кинематический поступательный движение моделирование
Ниже приведен алгоритм решения задачи, который имеет описательный вид.
Вводятся исходные данные m, Fc, F0, Tp, N.
Находится элементарный участок при разгоне ДSР= Sp/N.
Для первого положения.
Для остальных положений при i=2,…,n+1;
;
интеграл int вычисляется по формуле трапеций
;
Вывод в файл значений i, Si, vi, ai, ti.
Вывод на дисплей (принтер) Tр=tn+1.
Для участка торможения алгоритм имеет вид:
;
;
ДSТ= Sp/N.
Далее алгоритм решения имеет вид, аналогичный участку разгона.
;
Вывод в файл значений n+1+i, Sn+1+i, vn+1+i, an+1+i, tn+1+i.
Схема алгоритма решения задачи
Идентификаторы
Таблица 1 - Идентификаторы
Математическое обозначение |
F0 |
m |
Fc |
Fд |
Sр |
N |
Si |
Si-1 |
|
Идентификатор |
F0 |
m |
Fс |
Fd |
S_r |
N |
S[i] |
S[i+1] |
|
Математическое обозначение |
vi |
vi-1 |
ti |
ti-1 |
ST |
Sр |
a |
i |
|
Идентификатор |
v[i] |
v[i-1] |
t[i] |
t[i-1] |
s_t |
s_r |
a |
i |
|
Математическое обозначение |
vср |
dS |
tp |
tТ |
|||||
Идентификатор |
vsr |
Int |
dS |
T_r |
T_t |
Исходный текст программы
program Post_10;{Морозова Екатерина Ивановна}
{определение параметров поступательного движения}
uses Crt;
type Mas= array[1..25] of real;
var
i, n: integer;
m,Fc,Sp,dSp,F0,int,vsr,dSt,St,T_r,T_t: real;
S,v,a,t: Mas;
fu: text;
function Fd(S:real): real;
{функция расчета движущей силы}
begin
Fd:=F0+ln(S+1)/Ln(10); {расчет Fd}
end;
begin
TextBackGround(7); {1}
TextColor(0); {1}
ClrScr; {2}
Assign (fu,'post_10.txt'); {3}
Rewrite(fu); {3}
WriteLn ('*********************************************');
WriteLn ('* Программа расчета поступательного движения*');
WriteLn ('*********************************************');
WriteLn ('Введите исходные данные:');
Write('Масса тела m=');
Read(m);{4}
Write('Сила сопротивления Fc=');
Read(Fc);{4}
Write('Неизменяемая часть действующей силы Fo=');
Read(F0);{4}
Write('Путь разгона Sp=');
Read(Sp);{4}
Write('Число элементарных участков N=');
Read(N); {4}
WriteLn(fu,'Определение параметров');
WriteLn(fu,'поступательного движения тела');
WriteLn(fu);
WriteLn(fu,'Исходные данные');
WriteLn(fu,'Масса тела m=', m:4:1,' кг'); {5}
WriteLn(fu,'Сила сопротивления Fc=', Fc:5:2,' Н'); {5}
WriteLn(fu,'Неизменяемая часть действующей силы Fo=', F0:5:2,' Н'); {5}
WriteLn(fu,'Путь разгона Sp=', Sp:3:1,' м'); {5}
WriteLn(fu,'Число элементарных участков n=',n); {5}
WriteLn(fu);
WriteLn(fu,'| i | S,м | t, с | v, м/c | a,м/с^2 |');
WriteLn(fu,'------------------------------------------------------');
dSp:=Sp/n; {6}
i:=1; S[i]:=0; v[i]:=0; t[i]:=0; {7}
a[i]:=(Fd(S[i])-Fc)/m; {8}
WriteLn (fu, '| ',i:2,' | ',S[i]:4:3,' | ',t[i]:4:3, ' | ',v[i]:4:3, ' | ', a[i]:9:6, ' |'); {9}
for i:=2 to n+1 do {10}
begin
S[i]:=S[i-1]+dSp; {10.1}
int:=(-2*Fc+Fd(S[i])+Fd(S[i-1]))/2*dSp; {10.2}
v[i]:=sqrt(2/m*(m*sqr(v[i-1])/2+int)); {10.3}
vsr:=(v[i]+v[i-1])/2; {10.4}
t[i]:=t[i-1]+dSp/vsr; {10.5}
a[i]:=(v[i]-v[i-1])/(t[i]-t[i-1]); {10.6}
WriteLn (fu, '| ',i:2,' | ',S[i]:4:3,' | ',t[i]:4:3, ' | ',v[i]:4:3, ' | ', a[i]:9:6, ' |');{10.7}
end;
St:=m*sqr(v[n+1])/(2*Fc);{11}
a[n+1]:=-Fc/m; {12}
dSt:=St/n; {13}
WriteLn (fu, '| ',n+1:2,'` | ',S[n+1]:4:3,' | ',t[n+1]:4:3, ' | ',v[n+1]:4:3, ' | ', a[n+1]:9:6, ' |');{14}
for i:=n+2 to 2*n+1 do {15}
begin
S[i]:=S[i-1]+dSt; {15.1}
v[i]:=sqrt(2/m*(m*sqr(v[i-1])/2-Fc*dSt)); {15.2}
vsr:=(v[i]+v[i-1])/2; {15.3}
t[i]:=t[i-1]+(S[i]-S[i-1])/vsr; {15.4}
a[i]:=(v[i]-v[i-1])/(t[i]-t[i-1]); {15.5}
WriteLn (fu, '| ',i:2,' | ',S[i]:4:3,' | ',t[i]:4:3, ' | ',v[i]:4:3, ' | ', a[i]:9:6, ' |'); {15.6}
end;
T_r:=t[n+1]; T_t:=t[2*n+1]-t[n+1]; {16}
WriteLn(fu,'Время разгона Tр= ', T_r:5:3, '; время торможения Tт= ', T_t:5:3); {17}
Close(fu); {18}
WriteLn('Рассчитанные данные находятся в файле post_10.txt,');
WriteLn('нажмите любую клавишу для завершения...');
ReadKey;
end.
Распечатка результатов
Исходные данные приведены на рисунке 1.
Рисунок 1 - Исходные данные
Вычисленные параметры программа выводит на экран и в текстовый файл - таблица 2.
Определение параметров поступательного движения тела
Исходные данные
Масса тела m= 2.0 кг
Сила сопротивления Fc= 5.00 Н
Неизменяемая часть действующей силы Fo=90.00 Н
Путь разгона Sp=0.6 м
Число элементарных участков n=12
| i | S,м | t, с | v, м/c | a,м/с^2 |
-------------------------------------------------------
| 1 | 0.000 | 0.000 | 0.000 | 42.500000 |
| 2 | 0.050 | 0.049 | 2.062 | 42.505297 |
| 3 | 0.100 | 0.069 | 2.916 | 42.515645 |
| 4 | 0.150 | 0.084 | 3.571 | 42.525523 |
| 5 | 0.200 | 0.097 | 4.124 | 42.534970 |
| 6 | 0.250 | 0.108 | 4.611 | 42.544023 |
| 7 | 0.300 | 0.119 | 5.052 | 42.552713 |
| 8 | 0.350 | 0.128 | 5.457 | 42.561069 |
| 9 | 0.400 | 0.137 | 5.834 | 42.569115 |
| 10 | 0.450 | 0.145 | 6.188 | 42.576874 |
| 11 | 0.500 | 0.153 | 6.523 | 42.584365 |
| 12 | 0.550 | 0.161 | 6.841 | 42.591606 |
| 13 | 0.600 | 0.168 | 7.146 | 42.598613 |
| 13` | 0.600 | 0.168 | 7.146 | -2.500000 |
| 14 | 1.451 | 0.290 | 6.842 | -2.500000 |
| 15 | 2.302 | 0.417 | 6.523 | -2.500000 |
| 16 | 3.153 | 0.551 | 6.189 | -2.500000 |
| 17 | 4.004 | 0.693 | 5.835 | -2.500000 |
| 18 | 4.855 | 0.843 | 5.458 | -2.500000 |
| 19 | 5.707 | 1.005 | 5.053 | -2.500000 |
| 20 | 6.558 | 1.181 | 4.613 | -2.500000 |
| 21 | 7.409 | 1.376 | 4.126 | -2.500000 |
| 22 | 8.260 | 1.597 | 3.573 | -2.500000 |
| 23 | 9.111 | 1.859 | 2.917 | -2.500000 |
| 24 | 9.962 | 2.201 | 2.063 | -2.500000 |
| 25 | 10.813 | 3.026 | 0.000 | -2.500000 |
Время разгона Tр= 0.168; время торможения Tт= 2.858
Графическое представление результатов
Рисунок 2 - Зависимости v(t), a(t)
Анализ результатов
Траектория движения тела разбита на два участка - разгона и торможения. На участке разгона телу прикладывается движущая сила Fд, которая зависит от S. Поэтому ускорения изменяется пропорционально S, хотя и незначительно судя по графику.
На участке торможения движущая сила снимается и скорость тела снижается до нуля за время tТ. Так как Fд=0, Fс=const - движение равнозамедленное, ускорение отрицательное и постоянное на второй части траектории.
График скорости имеет изгиб в точке снятия движущей силы Fд.
Если сопоставить результаты, полученные двумя способами, то можно утверждать, что программа работает корректно и выдает правильный результат.
Заключение
В курсовой работе на алгоритмическом языке Turbo Pascal 7.0 разработана программа, позволяющая производить расчет кинематических параметров поступательного движения тела, имея в качестве исходных данных силовые и массовые параметры. При разработке программы особое место отводится построению математической модели, где на основе знаний законов изменения (или сохранения) свойств, состояний или сущности объекта разрабатываются числовые методы, приемлемые для решения поставленной задачи на ЭВМ. В данной работе для разработки матмодели применены выкладки на основе теоремы об изменении кинетической энергии, определяющей связь кинематических, силовых и массовых параметров, а для вычисления определенного интеграла используется численный метод трапеций.
Разработанная программа может быть использована для исследования различных технических процессов, когда необходим анализ движения тела, находящегося под действием внешних сил.
Литература
ГОСТ 2.105-95. Общие требования к текстовым документам.
Культин Н. Б. Turbo-Pascal в задачах и примерах. - СПб.: БХВ-Петербург, 2000
Бронштейн И. Н., Семендяев К. А. Справочник по математике для инженеров и учащихся вузов. М.: Наука, гл. ред. физ-мат. лит., 1998
Размещено на Allbest.ru
Подобные документы
Расчётная схема для определения параметров движения при поступательном движении. Определение зависимости от пути скорости, ускорения и времени. Математическая модель расчёта параметров поступательного движения тела на участке разгона и торможения.
курсовая работа [438,1 K], добавлен 22.01.2015Определение вращательного движения твердого тела в среде системы MathCAD. Математическая модель объекта или процесса. Алгоритм решения задачи. Составление текста программы в среде Delphi. Таблица идентификаторов. Разработка программного приложения.
курсовая работа [547,4 K], добавлен 25.03.2015- Исследование движения тела, брошенного под углом к горизонту, с учетом горизонтального сопротивления
Математическая модель задачи для исследования характера движения тела. Решение задачи Коши для системы дифференциальных уравнений первого и второго порядка. Использование метода Эйлера. Схема алгоритма, таблица идентификаторов, программа на языке Pascal.
курсовая работа [137,9 K], добавлен 07.03.2013 Определение параметров движения при вращательном движении, зависимости скорости, ускорения, времени от угла поворота, установление времени поворота на определенный угол. Применение построенной математической модели к расчету параметров движения тела.
курсовая работа [112,0 K], добавлен 18.03.2010Разработка автоматизированной системы реализации модели движения тела переменной массы на примере движения одноступенчатой ракеты, расчет времени и скорости полета. Описание формы загрузки программы. Требование к программному и техническому обеспечению.
курсовая работа [255,0 K], добавлен 18.03.2012Задача для проведения теплофизического расчета с помощью программы написанной на языке Pascal. Модуль программы, позволяющий определить и рассчитать параметры для решения задачи теплофизического расчета. Блок-схема, отображающая основные действия.
методичка [17,5 K], добавлен 02.09.2010Физическая и математическая модели уравнения движения материальной точки. Блок-схема алгоритма основной программы для решения задачи Коши и получения результатов с фиксированным количеством отрезков разбиения. Разработка программы для ЭВМ, ее листинг.
курсовая работа [212,3 K], добавлен 24.11.2014Характеристика движения тела, брошенного под углом к горизонту, с точки зрения криволинейного движения. Пути разработки программы, реализующей модель движения тела. Основные требования к программному обеспечению, сообщения и тестирование системы.
курсовая работа [861,5 K], добавлен 17.03.2011Теория графов и её применения. Разработка программного продукта для решения задач нахождения минимального пути. Анализ надежности и качества ПП "метода Дейкстры". Математическая модель задачи. Алгоритмы Дейкстры на языке программирования Turbo Pascal.
курсовая работа [1,6 M], добавлен 26.03.2013Программный комплекс для разработки программы транслирующей программу с языка Pascal на язык С++. Построение логической и арифметической модели решения. Разработка компилятора для программы. Методы отладки программы и создание для нее документации.
курсовая работа [742,6 K], добавлен 03.07.2011