Логическая схема решения, Текст программы - Четырехмассовая динамическая модель трансмиссии автомобиля
Рисунок 9.1 - Логическая схема процедуры Runge
Рисунок 9.2 - Логическая схема для вычисления кинематических и силовых характеристик четырехмассовой динамической модели трансмиссии
Текст программы
Program kursovoi;
Uses crt, dos, graph;
Type mas=array[1..10] of real;
Var
Rez, rezz, rezb:text;
W:string[10];
D, y,y1,k, yy, max1,max2,l:mas;
U1,u2,u3,u4,mm1,mm2,mm3,mmc, mmd: array[1..1000] of real;
Hp, tp, h,t, a1,a2,a21,g12,g13,g23,a3,a31,k1,k2,y4,y5,k3,w1,z, tmax, xmax,
Xst, kx, ky, nmax, M1,M2,M3,M4,ymax, Md, Md0,y3,Mc, kd, kc, Mc0,Mf, Mff, q,nd, wm, ymin,
J1,j2,j3,j4,j5,c4,b4,c1,c2,c3,b1,b2,b3:real;
N, npix, i,j, p,r:integer;
GrDriver: Integer;
GrMode: Integer;
ErrCode: Integer;
Procedure Setka(kx, ky:real; r1,r2:string; kk:integer);
Var
Npix, i,c, d: integer;
Nd:real;
W: string[10];
Begin
if kx<3 then begin
c:=3;
d:=2;
end
else begin
c:=2;
d:=2;
end;
for i:=1 to 15 do begin
npix:=50;
setcolor(7);
line(round(30+(i-1)*npix),10,round(30+(i-1)*npix),460);
If i=13 then begin
Setcolor(4);
Outtextxy(i*npix+100,470, r1);
I:=i+1;
Setcolor(7);
Line(round(30+(i-1)*npix),10,round(30+(i-1)*npix),460);
End;
Nd:=(i*npix/kx);
Str(nd:c:d, w);
Setcolor(1);
Outtextxy(i*npix+8,470, w);
End;
If ky<2.5 then begin
C:=3;
D:=0;
End
Else begin
C:=2;
D:=1;
End;
If kk=1 then begin
Outtextxy(10,360, '0');
For i:=1 to 16 do begin
Npix:=50;
Setcolor(7);
Line(30,360-trunc((i-1)*npix),630,360-trunc((i-1)*npix));
If i=8 then begin
Setcolor(4);
Outtextxy(3,360-i*npix, r2);
I:=i+1;
Setcolor(7);
Line(30,360-trunc((i-1)*npix),630,360-trunc((i-1)*npix));
End;
Nd:=i*npix/ky;
Str(nd:c:d, w);
Setcolor(1);
Outtextxy(0,360-i*npix, w)
End;
For i:=1 to 4 do begin
Setcolor(7);
Line(30,460-trunc((i-1)*npix),630,460-trunc((i-1)*npix));
Nd:=-i*npix/ky;
Str(nd:c:d, w);
Setcolor(1);
Outtextxy(0,360+i*npix, w);
End;
End
Else begin
For i:=1 to 16 do begin
Npix:=50;
Setcolor(7);
Line(30,460-trunc((i-1)*npix),630,460-trunc((i-1)*npix));
If i=6 then begin
Setcolor(4);
Outtextxy(3,360-i*npix, r2);
I:=i+1;
Setcolor(7);
Line(30,460-trunc((i-1)*npix),630,460-trunc((i-1)*npix));
End;
Nd:=i*npix/ky;
Str(nd:c:d, w);
Setcolor(1);
Outtextxy(0,260-i*npix, w);
End;
For i:=1 to 4 do begin
Setcolor(7);
Line(30,460-trunc((i-1)*npix),630,460-trunc((i-1)*npix));
Nd:=-i*npix/ky;
Str(nd:c:d, w);
Setcolor(1);
Outtextxy(0,260+i*npix, w);
Outtextxy(10,260, '0');
End;
End;
End;
Procedure Prav(y:mas);
Begin
M1:=c1*(y[2]-y[4])+b1*(y[1]-y[3]);
M2:=c2*(y[4]-y[6])+b2*(y[3]-y[5]);
M3:=c3*(y[4]-y[8])+b3*(y[3]-y[7]);;
D[1]:=(-M1+Md)/j1;
D[2]:=y[1];
D[3]:=(M1-M2-M3)/j2;
D[4]:=y[3];
D[5]:=(M2)/j3;
D[6]:=y[5];
D[7]:=(M3-Mff)/j4;
D[8]:=y[7];
End;
Function sign(y1:real):real;
Begin
Y1:=y[2]-y[4];
If y1<0 then sign:=-1
Else sign:=1;
End;
Function signn(y2:real):real;
Begin
Y2:=y[4]-y[6];
If y2<0 then signn:=-1
Else signn:=1;
End;
Procedure Rynge;
Begin
Prav(y);
For j:=1 to 8 do begin
Yy[j]:=y[j];
K[j]:=h*d[j];
Y1[j]:=yy[j]+0.5*k[j];
Y[j]:=y[j]+k[j]/6;
End;
T:=t+0.5*h;
Prav(y1);
For j:=1 to 8 do begin
K[j]:=h*d[j];
Y1[j]:=yy[j]+0.5*k[j];
Y[j]:=y[j]+k[j]/3;
End;
Prav(y1);
For j:=1 to 8 do begin
K[j]:=h*d[j];
Y1[j]:=yy[j]+k[j];
Y[j]:=y[j]+k[j]/3;
End;
T:=t+0.5*h;
Prav(y1);
For j:=1 to 8 do begin
K[j]:=h*d[j];
Y[j]:=y[j]+k[j]/6;
End;
End;
Begin
Assign(rez,'dannie. txt');
Reset(rez);
Readln(rez);
Readln(rez);
Readln(rez, y[1]);
Readln(rez, y[2]);
Readln(rez, y[3]);
Readln(rez, y[4]);
Readln(rez, y[5]);
Readln(rez, y[6]);
Readln(rez, y[7]);
Readln(rez, y[8]);
Readln(rez);
Readln(rez, c1);
Readln(rez, c2);
Readln(rez, c3);
Readln(rez);
Readln(rez, b1);
Readln(rez, b2);
Readln(rez, b3);
Readln(rez);
Readln(rez, j1);
Readln(rez, j2);
Readln(rez, j3);
Readln(rez, j4);
Readln(rez);
Readln(rez, Mc0);
Readln(rez, Md0);
Readln(rez, Mff);
Readln(rez, Mf);
Readln(rez);
Readln(rez, kc);
Readln(rez, kd);
Readln(rez);
Readln(rez, wm);
Close(rez);
A1:=c1*(1/j1+1/J2);
A2:=c2*(1/j2+1/J3);
A3:=c3*(1/j2+1/j4);
A21:=c2/j3;
A31:=c3/j4;
G12:=c1*c2/(j2*j2);
G13:=c1*c3/(j2*j2);
G23:=c2*c3/(j2*j2);
N:=1;
W1:=0 ;
For i:=1 to 500 do begin
Y3:=(a1-w1)*(a2-w1)*(a3-w1)-(a1-w1)*g23-(a31-w1)*g12-(a21-w1)*g13;
W1:=w1+0.1;
Y4:=(a1-w1)*(a2-w1)*(a3-w1)-(a1-w1)*g23-(a31-w1)*g12-(a21-w1)*g13;
Z:=y3*y4;
If z<0 then begin
L[n]:=w1;
Writeln('w',n,'=',l[n]);
N:=n+1;
End;
End;
H:=0.05;
Hp:=10*h;
Assign(rezz,'result. txt');
Rewrite(rezz);
Writeln(rezz,' Kursovoy proekt');
Writeln(rezz,' Chetirehmassovay dinamicheskaya model transmissii');
Writeln(rezz,' Vipolnil: student gruppi 101110 Podolyak A. A.');
Writeln(rezz,' Ishodnie dannie po varianty 1/1:');
Writeln(rezz, ' j1=', j1:3:2);
Writeln(rezz, ' j2=', j2:3:2);
Writeln(rezz, ' j3=', j3:3:2);
Writeln(rezz, ' j4=', j4:3:2);
Writeln(rezz, 'Koef. yprygosti ');
Writeln(rezz,'c1=', c1:5:2);
Writeln(rezz,'c2=', c2:5:2);
Writeln(rezz,'c3=', c3:5:2);
Writeln(rezz, 'Koef. dempfir.');
Writeln(rezz,' b1=', b1:4:2);
Writeln(rezz, ' b2=', b2:4:2);
Writeln(rezz, ' b3=', b3:4:2);
Writeln(rezz, 'Shag s4eta h=', h:5:3);
Writeln(rezz, 'Shag pe4ati hp=', hp:5:3);
Writeln(rezz, 'rezultati ras4eta');
Writeln(rezz, 'metodom iteraciy naydeni korni');
Writeln(rezz, 'x1=',l[1]:3:2);
Writeln(rezz, 'x2=',l[2]:3:2);
Writeln(rezz, 'tablica zna4eniy peremennih');
Writeln(rezz,;
Write(rezz, ' t! ');
Write(rezz, ' w1 ! ');
Write(rezz, ' w2 ! ');
Write(rezz, ' w3 ! ');
Write(rezz, ' w4 ! ');
Write(rezz, ' M1 ! ');
Write(rezz, ' M2 ! ');
Write(rezz, ' M3 ! ');
Writeln(rezz,
For i:=1 to 4 do begin
Max1[i]:=0;
Max2[i]:=0;
End;
T:=0;
If abs(M1)<=abs (Mc) then
M1:=c1*(y[2]-y[4])+b1*(y[1]-y[3]);
If abs(M2)<=abs(Mf) then
M2:=c2*(y[4]-y[6])+b2*(y[3]-y[5]);
M3:=c3*(y[4]-y[8])+b3*(y[3]-y[7]);
U1[1]:=y[1];
U2[1]:=y[3];
U3[1]:=y[5];
U4[1]:=y[7];
Write(rezz, t:6:3,' !');
Write(rezz,' ',u1[1]:8:3,' !');
Write(rezz,' ',u2[1]:8:3,' !');
Write(rezz,' ',u3[1]:8:3,' !');
Write(rezz,' ',u4[1]:8:3,' !');
Write(rezz,' ',M1:8:3,' !');
Write(rezz,' ',M2:8:3,' !');
Writeln(rezz,' ',M3:8:3,' !');
Wm:=120;
R:=1;
For i:=2 to 400 do begin
If kc*t>=5 then
Mc:=Mc0
Else if kc*t<=5 then
Mc:=Mc0*(1-exp(-kc*t));
If kd*t>=5 then
Md:=Md0
Else if kd*t<=5 then
Md:=Md0*(1-exp(-kd*t));
Mmc[i]:=Mc;
Mmd[i]:=Md;
If y[1]<wm then begin
Rynge;
U1[i]:=y[1];
U2[i]:=y[3];
U3[i]:=y[5];
U4[i]:=y[7];
If abs(M1)<=abs(Mc) then
M1:=c1*(y[2]-y[4])+b1*(y[1]-y[3]);
If abs(M2)<=abs(Mf) then
M2:=c2*(y[4]-y[6])+b2*(y[3]-y[5]);
M3:=c3*(y[4]-y[8])+b3*(y[3]-y[7]);;
If M1>Mc then M1:=Mc*sign(y[1]-y[3]);
If M2>Mf then M2:=Mf*signn(y[3]-y[5]);
Mm1[i]:=M1;
Mm2[i]:=M2;
Mm3[i]:=M3;
End
Else begin
Md:=0;
Rynge;
Y[1]:=wm;
U1[i]:=y[1];
U2[i]:=y[3];
U3[i]:=y[5];
U4[i]:=y[7];
If abs(M1)<=abs(Mc) then
M1:=c1*(y[2]-y[4])+b1*(y[1]-y[3]);
If abs(M2)<=abs(Mf) then
M2:=c2*(y[4]-y[6])+b2*(y[3]-y[5]);
M3:=c3*(y[4]-y[8])+b3*(y[3]-y[7]);;
If M1>Mc then M1:=Mc*sign(y[1]-y[3]);
If M2>Mf then M2:=Mf*signn(y[3]-y[5]);
Mm1[i]:=M1;
Mm2[i]:=M2;
Mm3[i]:=M3;
End;
Max2[3]:=abs(u3[i]);
If r=10 then begin
Write(rezz, t:6:3,' !');
Write(rezz,' ',u1[i]:8:3,' !');
Write(rezz,' ',u2[i]:8:3,' !');
Write(rezz,' ',u3[i]:8:3,' !');
Write(rezz,' ',u4[i]:8:3,' !');
Write(rezz,' ',mm1[i]:8:3,' !');
Write(rezz,' ',mm2[i]:8:3,' !');
Writeln(rezz,' ',mm3[i]:8:3,' !');
R:=0;
End;
R:=r+1;
End;
Writeln(rezz,
Close(rezz);
Writeln(max1[1]);
Writeln(max1[2]);
Writeln(max1[3]);
Writeln(max1[4]);
Writeln(max2[1]);
Writeln(max2[2]);
Writeln(max2[3]);
Writeln('OK');
GrDriver:=Detect;
InitGraph(grDriver, grMode,'');
ErrCode := GraphResult;
If ErrCode = grOk then
Begin
SetBkcolor(15);
Cleardevice;
Setcolor(7);
Ky:=75/(35);
Kx:=600/(9.0);
Setka(kx, ky,'c','rad/c',1);
T:=0;
For i:=1 to 340 do begin
Setcolor(8);
Setlinestyle(0,0,1);
Line(round(kx*t+30),360-round(ky*(u1[i])), round(kx*(t+h)+30),360-round(ky*(u1[i+1])));
Outtextxy(round(kx*0+30),360-round(ky*(u1[1])), 'w1');
Setcolor(1);
Line(round(kx*t+30),360-round(ky*(u2[i])), round(kx*(t+h)+30), 360-round(ky*(u2[i+1])));
Outtextxy(round(kx*0+30),360-round(ky*(u1[8])), 'w2');
Setcolor(3);
Line(round(kx*t+30),360-round(ky*(u3[i])), round(kx*(t+h)+30), 360-round(ky*(u3[i+1])));
Outtextxy(round(kx*1+30),360-round(ky*(u1[8])), 'w3');
Setcolor(4);
Line(round(kx*t+30),360-round(ky*(u4[i])), round(kx*(t+h)+30), 360-round(ky*(u4[i+1])));
Outtextxy(round(kx*0.6+30),360-round(ky*(u1[6])), 'w4');
T:=t+0.05;
End;
Writeln('OK');
Readln;
Cleardevice;
T:=0;
Ky:=600/(1700);
Kx:=600/(12.0);
Setka(kx, ky,'c','',2);
For i:=1 to 400 do begin
Setcolor(8);
Setlinestyle(0,0,1);
Line(round(kx*t+30),260-round(ky*(mm1[i])), round(kx*(t+h)+30), 260-round(ky*(mm1[i+1])));
Outtextxy(round(kx*1.5+30),260-round(ky*(mm1[5])), 'M1');
Setcolor(1);
Line(round(kx*t+30),260-round(ky*(mm2[i])), round(kx*(t+h)+30), 260-round(ky*(mm2[i+1])));
Outtextxy(round(kx*1.5+30),260-round(ky*(mm2[2])), 'M2');
Setcolor(2);
Line(round(kx*t+30),260-round(ky*(mm3[i])), round(kx*(t+h)+30), 260-round(ky*(mm3[i+1])));
Outtextxy(round(kx*4.5+30),260-round(ky*(mm3[5])), 'M3');
Setcolor(3);
Line(round(kx*t+30),260-round(ky*(mmc[i])), round(kx*(t+h)+30), 260-round(ky*(mmc[i+1])));
Outtextxy(round(kx*4+30),260-round(ky*(mmc[5])), 'Mc');
Setcolor(4);
Line(round(kx*t+30),260-round(ky*(mmd[i])), round(kx*(t+h)+30), 260-round(ky*(mmd[i+1])));
Outtextxy(round(kx*6+30),260-round(ky*(mmd[9])), 'Md');
T:=t+0.05;
End;
Readln;
CloseGraph;
End
Else
Writeln('Graphics error:', GraphErrorMsg(ErrCode))
End.
Похожие статьи
-
Составление частотного уравнения методом последовательного расщепления Рисунок 3.1 - Исходная модель. Расщепим ее на массе 2 Рисунок 3.2 - Расщепление на...
-
Собственными называют периодические колебания консервативной системы, совершающиеся исключительно под воздействием инерционных и упругих сил. Для...
-
Файл исходных данных: Данные по заданию 3, схема 1, исходные данные 1. Выполнил ст. гр.101110 Подоляк А. А. 60 - начальная скорость массы 1 0 - начальное...
-
Необходимо решить систему: Для решения на компьютере примем: , Решая эту систему, получаем в качестве выходных параметров скорости масс, для получения...
-
Выведем в общем виде уравнение движения заданной динамической модели при помощи уравнений Лагранжа II рода. Полная кинетическая энергия: , Полная...
-
Рисунок 12.1 - График зависимости угловых скоростей звеньев от времени Рисунок 12.2 - График зависимости моментов в упругих звеньях от времени Из рисунка...
-
Задание - Четырехмассовая динамическая модель трансмиссии автомобиля
Рассчитать скорости масс и моменты в упругих звеньях трансмиссии при трогании автомобиля с места. Рисунок 1.1 - Динамическая модель Исходные данные для...
-
Тема: позиційні системи числення (ПСЧ), переведення чисел з десяткової системи числення до довільної ПСЧ та переведення з довільної ПСЧ до десяткової...
-
Вычислить приближенное значение определенного интеграла с подынтегральной функцией f(x) заданным методом и проверить точность вычислений по формуле...
-
Линейная зависимость - Составление программы для решения системы уравнений
Рассмотрим подробнее аппроксимирующие зависимости Y(x)=f(x, B 0 ,B 1,..., B N ) с двумя параметрами: Y(x)=f(x, B 0 ,B 1 ) Используя соотношения (1) и...
-
Программа на языке Бейсик - Составление программы для решения системы уравнений
10 REM 20 DIM A(20,20),B(20),X(20) 30 READ N 40 FOR I=1 TO N: FOR J=1 TO N 60 READ A(I, J) : NEXT J 80 READ B(I) : NEXT I 90 REM Vibor elementa 100 FOR...
-
Математическое описание в случае дозы интегральная основано на интегральной составляющей, в случае эффектов, экспоненциальной. Таким образом задержки...
-
Постановка задачи, выбор предметной области Предметная область: "Автомобиль". Создание автомобиля будет состоять из трех этапов: выбор кузова, выбор...
-
Параболическая зависимость - Составление программы для решения системы уравнений
Если в многочлене F (x)= B 0 X M + B 1 X M-1 +.....+ B M-1 X + B M m=2 Тогда, это многочлен называется параболической зависимости. Установим вид...
-
Пользователя - Структурирование программы
Для того, чтобы часто используемые типы данных, константы, переменные, процедуры и функции не описывать заново в каждой программе, их описания,...
-
Каждая СУБД имеет особенности в представлении структуры таблиц, связей, определении типов данных и т. д. которую необходимо учитывать при проектировании....
-
Логический уровень описания базы данных (логическая модель) отражает логические связи между таблицами. Логическая модель базы данных "Прокат автомобилей"...
-
Разработка элементов интеллектуальных систем с использованием логической модели представления знаний
Разработка элементов интеллектуальных систем с использованием логической модели представления знаний 1. Задание 1 Цель - Знакомство с основами...
-
Проверка программы на примере задачи. Для работы с программой запускаем файл TabSimMethod. exe рис.1. Рис.1 Файл TabSimMethod. exe Запустится программа...
-
Пример программы построения анимации - Работа с языком Турбо Паскаль
Unit unit1; Interface uses graph; Type arpo = array [1..4] of PointType; {хранит коорд. Вершин прямоугольника} { Справка: PointType = Record X, Y :...
-
Подпрограмма пользователя представляет собой проблемно-ориентированный модуль следующего вида: Program FUNC; Var T, Imax, bmax, hmax: integer; N1, n11,...
-
Работа программы представлена на рисунке 2.3 Рис. 2.3 Кодирование и тестирование программы Программа кодировалась на языке Си++, используя библотеку Qt5x...
-
Постановка задачи на разработку программного обеспечения Для того чтобы предлагаемая схема была интегрирована в САПР, который не имеет функции интеграции...
-
СООБЩЕНИЯ ОПЕРАТОРУ, Сообщение о программе, Листинг программы - Руководство оператора
Сообщение о программе Программа "AdressBook. ехе" выдает сообщение о программе, при выборе в главном меню пункта "О программе" во вкладке "Помощь"...
-
Рекурсивные процедуры и функции - Структурирование программы
Подпрограмма, вызывающая саму себя, называется рекурсивной подпрограммой. При каждом новом обращении к подпрограмме параметры, которые она использует,...
-
Примеры операторов вызова процедур - Структурирование программы
T; {нет списка фактических параметров Summa(x, y,z); {x, y,z - фактические параметры; x: integer; у, z; real} a(z); {z - фактический параметр, z:d} При...
-
Граф переходов конечного автомата лексического анализатора Исходная КС-грамматика G({prog, end., if, else, then, begin, end, while, do, or, and, not,...
-
База данные кеширование денормализация Предлагаемое решение -- скомбинировать некоторые идеи кеширования и денормализации в специальной библиотеке...
-
Модель данных - Программа расчета агрегатов по накапливающимся данным для построения отчетов
В файле dist/schema/schema. yaml (см приложение А) была описана схема будущей базы данных, по которой при помощи Doctrine были сгенерированы пустые...
-
Собственные числа матрицы N - размерность матрицы; I - номер строки; J - номер столбца. Оценки собственных чисел матрицы Таблица 14. Оценки приоритетов...
-
F ( 0,"заключение : об1", [ 3, -1 ] ). "промежуточное заключение", ... "вопрос о свойствах", ... Список подкрепляющих фактов F ( 0, "об2", [ 1,2 ] ). F (...
-
Концепция построения программы Список всех классов приведен на рисунке 3.1. Рисунок 3.1 - Диаграмма классов программы В качестве главного класса...
-
Для реализации устройства управления потребуются: генератор слов, логические элементы (И, ИЛИ, НЕ), счетчики и логический анализатор. Ниже приведены...
-
Литература, Текст программы - Разработка визуального редактора
1. Методические указания по выполнению курсовых и дипломных проектов. Специальность: 2-40 02 01 "Программное обеспечение информационных технологий"; 2....
-
Для третьего способа мне понадобился способ под названием "Стемминг". Данное понятие очень популярно во всемирной паутине, так как оно применяется в...
-
Шестой метод - построение суффиксных деревьев. Среди большого количества методов анализа текста метод аннотированного суффиксного дерева выделяется тем,...
-
Ионизирующее излучение у поверхности Земли складывается из космического излучения, излучения от радионуклидов, содержащихся в земной коре, почве и других...
-
Разработанная методология может послужить хорошим заделом для обеспечения реконфигурации на модульном уровне в случае добавления к схеме переключения...
-
Разработка методики обеспечения сбоеустойчивости ПЛИС Для обеспечения повышения сбоеустойчивости необходимо просто указать место файла EDIF в проекте и...
-
Математическое описание разработанной схемы может быть выражено посредством логических выражений. Где a, b - входные сигналы для логических вентилей, D -...
Логическая схема решения, Текст программы - Четырехмассовая динамическая модель трансмиссии автомобиля