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

 

3.1. Исходные данные (ввод): I0, M0, Mc, φp, n

3.2. φ1=0, ω1=0, t1=0,      Δφp=φp/n

3.3. Md1=M0+ln(φ1+1)+ 1

3.4. Для первого положения,

 

ε 1=

 

3.5. Для остальных положений при i=n+2,…, n+1

 

3.5.1. φi=φi-1+Δφp

 

3.5.2. Mdi=M0+ln(φi+1)+ i

 

3.5.3. int вычисляется по формуле трапеций:

 

int=

 

3.5.4. ωi=

 

3.5.5.

 

3.5.6. ti=ti-1+


3.5.7. ε i=

 

3.6. Вывод параметров движения для разгона при i=1,…, n+1

 

3.6.1. Вывод i, φi, ωi, ε i, ti

 

3.7. Вывод быстродействия для участка разгона Тр=tn+1

 

Для участка торможения алгоритм имеет следующий вид:

 

3.8. φt=

 

3.9. ε n+1=-Mc /I0

 

3.10. Δφt=φt/n

 

3.11. Для положений при i=n+2,…,2n+1

 

3.11.1 φi=φi-1+Δφt

3.11.2. ωi=

 

3.11.3.

 

3.11.4. ti=ti-1+


3.11.5. ε i=

 

3.12. Вывод параметров движения для торможения при i=n+1,…,2n+1

 

3.12.1. Вывод i, φi, ωi, ε i, ti

 

3.13. Вывод быстродействия для участка торможения Тt=t2n+1-tn+1

 


4.

 

Схема алгоритма решения задачи

 

 


 


 









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

 

Математическое обозначение I0 M0 Mc n Δφp φ t φp φt
Идентификатор I0 M0 Mc n dfp fi t fip fit

 

Математическое обозначение Δφt i ε ωcp int Tp Tt Md1 Md C
Идентификатор dft i b wcp int Tp Tt Md1 Md C

 



Текст программы

 

program kurs; {Курсовая работа студента Лабоцкого Д.В.}

{Исследование вращательного движения вала Вариант 13}

uses crt;

type Big=array[1..30] of real;

var Md,fi,w,t,b,int:Big;

n,i:integer;

fe:text;

C,Mc,I0,Wcp,fip,dfp,fit,dft,Tp,Tt,M0:real;

begin clrscr;

assign(fe,'kurs-13v.rez');rewrite(fe);writeln(fe);

writeln(fe,' ':15,'Определение параметров вращательного движения',

' тела');

writeln(fe);

writeln(fe, ' ':40,' Лабоцкий Д.В.');

writeln(fe);

writeln(fe, ' ':30,'Вариант 13');

writeln('Введите исходные данные');

write('Момент инерции тела равен I0= ');readln(I0);

write('Коэффициент для движущего момента равен М0= ');readln(M0);

write('Момент сопротивления равен Мc= ');readln(Mc);

write('Угол разгона fip= ');readln(fip);

write('Количество интервалов разбиения n= ');readln(n);

writeln('Исходные данные занесены в файл результатов');

writeln(fe);

writeln(fe,' ':25,'Исходные данные');

writeln(fe);

writeln(fe,' ':10,'Момент инерции тела равен I0= ',I0:5:2,' кг/м2');

writeln(fe,' ':10,'Коэффициент движущего момента М0= ',M0:5:2,' нм');

writeln(fe,' ':10,'Момент сопротивления Мc= ',Mc:5:2,' нм');

writeln(fe,' ':10,'Угол разгона fip= ',fip:5:2,' рад');

writeln(fe,' ':10,'Количество интервалов разбиения n= ',n:2);

dfp:=fip/n;

fi[1]:=0;W[1]:=0;t[1]:=0;

Md[1]:=M0+ln(fi[1]+1)+sqrt(fi[1]);

b[1]:=(Md[1]-Mc)/I0;

for i:=2 to (n+1) do begin

fi[i]:=fi[i-1]+dfp;

Md[i]:=M0+ln(fi[i]+1)+sqrt(fi[i]);

int[i]:=(((Md[i]-Mc)+(Md[i-1]-Mc))*dfp)/2;

W[i]:=sqrt((2/I0)*(I0*sqr(W[i-1])/2+int[i]));

Wcp:=(W[i]+W[i-1])/2;

t[i]:=t[i-1]+(fi[i]-fi[i-1])/Wcp;

b[i]:=(W[i]-W[i-1])/(t[i]-t[i-1]) end;

Tp:=t[n+1];

write(fe,' ':10);

for i:=1 to 57 do

write(fe,'_');writeln(fe);

writeln(fe,' ':10,'I',' ':10,'I',' ':10,'I',' ':16,'I',' ':16,'I');

writeln(fe,' ':8,' I fi[i] I W[i] I b[i] I ',

' t[i] I ');

writeln(fe,' ':10,'I',' ':10,'I',' ':10,'I',' ':16,'I',' ':16,'I');

write(fe,' ':10);

for i:=1 to 57 do write(fe,'-');writeln(fe);

for i:=1 to n+1 do

writeln(fe,' ':7,i:2,' I',' ',fi[i]:7:3,' I',' ',W[i]:7:3,' I',' ',

b[i]:7:3,'   I',' ',t[i]:7:3,'   I');

writeln('Произведен расчет параметров разгона');

fit:=(I0*sqr(W[n+1]))/(2*Mc);

b[n+1]:=-Mc/I0;

dft:=fit/n;

for i:=n+2 to (2*n+1) do begin

fi[i]:=fi[i-1]+dft;

W[i]:=sqrt((2/I0)*((I0*sqr(W[i-1])/2)-(Mc*(fi[i]-fi[i-1]))));

Wcp:=(W[i]+W[i-1])/2;

t[i]:=t[i-1]+(fi[i]-fi[i-1])/Wcp;

b[i]:=(W[i]-W[i-1])/(t[i]-t[i-1]) end;

for i:=n+1 to (2*n+1) do

writeln(fe,' ':7,i:2,' I',' ',fi[i]:7:3,' I',' ',W[i]:7:3,' I',' ',

b[i]:7:3,'  I',' ',t[i]:7:3,'   I');

writeln('Произведен расчет параметров торможения');

write(fe,'  ');

for i:=1 to 60 do

write(fe,'_');

writeln(fe);

writeln(fe);

Tt:=t[2*n+1]-t[n+1];

writeln(fe,'  Быстродействие для угла разгона равно Tp= ',

Tp:7:3,' сек');

writeln(fe,'  Быстродействие для угла торможения равно Tt= ',

Tt:7:3,' сек');

close(fe);

writeln('Результаты вычислений занесены в файл kurs-13v.rez');

repeat until keypressed

end.

 




Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: