Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работапо Инфе готовая.docx
Скачиваний:
4
Добавлен:
23.12.2018
Размер:
474.62 Кб
Скачать
  1. Распечатка результатов

Рисунок 7.1 - MathCad

Рисунок 7.2 - Delphi

  1. Графическое представление результатов

Рисунок 8.1 – Графическое отображение результатов в среде MathCad

Рисунок 8.2 – Результаты Delphi

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

В ходе выполнения расчетов получили общие графики времени ускорения , скорости в обеих средах (рис 9.1). Проанализировав их видим, что графики совпадает, что говорит о том, что и в среде Delphi, и в среде MathCad все неизвестные были найдены верно.

Рисунок 9.1 – Результаты Delphi

Разгон

i=1 ф=0,00 w=0,00 e=5,30 t=0,00

i=2 ф=0,02 w=0,52 e=5,33 t=0,10

i=3 ф=0,05 w=0,73 e=5,38 t=0,14

i=4 ф=0,07 w=0,90 e=5,40 t=0,17

i=5 ф=0,10 w=1,04 e=5,41 t=0,19

i=6 ф=0,12 w=1,16 e=5,42 t=0,22

i=7 ф=0,15 w=1,27 e=5,43 t=0,24

i=8 ф=0,17 w=1,37 e=5,43 t=0,26

i=9 ф=0,20 w=1,47 e=5,44 t=0,27

i=10 ф=0,22 w=1,56 e=5,44 t=0,29

i=11 ф=0,25 w=1,64 e=5,45 t=0,31

i=12 ф=0,27 w=1,73 e=5,45 t=0,32

Tp=T[N+1]=0,33

Торможение

фт=0,43

i=13 ф=0,30 w=1,80 e=-3,80 t=0,33

i=14 ф=0,34 w=1,73 e=-3,80 t=0,35

i=15 ф=0,37 w=1,65 e=-3,80 t=0,38

i=16 ф=0,41 w=1,56 e=-3,80 t=0,40

i=17 ф=0,44 w=1,47 e=-3,80 t=0,42

i=18 ф=0,48 w=1,38 e=-3,80 t=0,45

i=19 ф=0,51 w=1,27 e=-3,80 t=0,47

i=20 ф=0,55 w=1,16 e=-3,80 t=0,50

i=21 ф=0,59 w=1,04 e=-3,80 t=0,53

i=22 ф=0,62 w=0,90 e=-3,80 t=0,57

i=23 ф=0,66 w=0,74 e=-3,80 t=0,62

i=24 ф=0,69 w=0,52 e=-3,80 t=0,67

i=25 ф=0,73 w=0,00 e=-3,80 t=0,81

Tт=0,47

Заключение

В ходе выполнения курсовой работы разработали программу для определения параметров вращательного движения вала. Также определили эти параметры с помощью программного средства Mathcad. Были построены графики зависимости угла поворота от времени, ускорения и скорости.

В результате проделанной работы видно, что результаты расчета соответствуют исследуемому процессу:

  • скорость вращения вала в конце участка торможения равно нулю;

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

  • ускорение при торможении имеет отрицательное значение, так как вал совершает замедленное движение;

  • в точке перехода от ускоренного движения к замедленному значение скорости максимально;

функция времени является монотонно возрастающей.

Список используемой литературы

  1. Культин Н.Б. Основы программирования в Delphi 7. – СПб.: БХВ.-

Петербург, 2003 г.

  1. Макаров Е.Г. Инженерные расчеты в MathCad. Учебный курс. – СПб.:

Питер, 2003 г.

  1. Марков, Е.П. Программирование в Delphi 7 / П.Г. Дарахвелидае, Е.П.Марков— СПб.: БХВ-Петербург, 2003 г. — 784 с: ил.

  2. Наранович О.И., Скобля С.Г. Информатика: методические указания и

задания к лабораторным работам для студентов 2-го курса

дневной формы обучения специальностей 40 01 02, 36 01 03, 36 01 01. Часть 3. –Барановичи: БарГУ, 2005.

  1. Плис А.И.Сливина Н.А. Mathcad математический практикум. –

Москва: Москва “Финансы и статистика”, 2003 г.

  1. Фаронов, В.В. Программирование на языке высокого уровня:

Учебник для ВУЗов / В.В. Фаронов – СПб. : Питер, 2006 г. – 640 с.: ил.

ПРИЛОЖЕНИЕ

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, TeEngine, Series, ExtCtrls, TeeProcs,Math,Chart, XPMan;

type

TForm1 = class(TForm)

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit5: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Memo1: TMemo;

Button1: TButton;

Button2: TButton;

Label6: TLabel;

Edit6: TEdit;

Button3: TButton;

Chart1: TChart;

Series1: TLineSeries;

Series2: TLineSeries;

Series3: TLineSeries;

XPManifest1: TXPManifest;

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

// переменные объявленые глобально

Jo: double;

Mo: double;

Mc: double;

fip: double;

N: integer;

c: double;

//----------------

fi: array[1..100] of double; //угол поворота

w: array[1..100] of double; // угловая скорость

wcp: double; // средняя скорость на отрезке

t: array[1..100] of double; // время

e: array[1..100] of double; // ускорение

int: double; // значение интеграла

Tn: double; // быстродействие

dfi: double; // шаг угла

fit: double; // полный угол торможения

implementation

{$R *.dfm}

function M(fi:real):real;

begin

c:=0.4;

M := Mo+Exp(fi*ln(c))+sqrt(fi);

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

Application.Terminate;

end;

procedure TForm1.Button1Click(Sender: TObject);

var i: integer;

tmp: double;

begin

Memo1.Clear;

Memo1.Lines.Add('Разгон');

// считывание переменныъ из едитов

Jo := StrToFloat(Edit1.Text);

Mo := StrToFloat(Edit2.Text);

Mc := StrToFloat(Edit3.Text);

fip := StrToFloat(Edit5.Text);

N := StrToInt(Edit6.Text);

// расчет шага

dfi := fip/N;

// первое положение

fi[1] := 0;

w[1] := 0;

t[1] := 0;

e[1] := (M(fi[1])- Mc)/Jo;

// положения со 2 и до N+1

for i:=2 to N+1 do

begin

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

int := (M(fi[i])-Mc+M(fi[i-1])-Mc)/2*dfi;

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

wcp := (w[i]+w[i-1])/2;

t[i] := t[i-1]+dfi/wcp;

e[i] := (w[i]-w[i-1])/(t[i]-t[i-1]);

end;

fit := Jo*sqr(w[N+1])/(2*Mc);

e[N+1] := -Mc/Jo;

dfi := fit/N;

for i:=1 to N do

Memo1.Lines.Add('i='+IntToStr(i)+' ф='+FloatToStrF(fi[i],ffFixed,5,2)

+' w='+FloatToStrF(w[i],ffFixed,5,2)+' e='+FloatToStrF(e[i],ffFixed,5,2)

+' t='+FloatToStrF(t[i],ffFixed,5,2));

Tn := t[N+1];

Memo1.Lines.Add('Tp=T[N+1]='+FloatToStrF(Tn,ffFixed,5,2));

// торможение

Memo1.Lines.Add('Торможение');

Memo1.Lines.Add('фт='+FloatToStrF(fit,ffFixed,5,2));

// шаги торможения с N+2 до 2N+1

for i:=N+2 to 2*N+1 do

begin

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

tmp := 2/Jo*(Jo*sqr(w[i-1])/2-Mc*dfi);

if tmp<0 then tmp:=0;

w[i] := sqrt(tmp);

wcp := (w[i]+w[i-1])/2;

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

e[i] := (w[i]-w[i-1])/(t[i]-t[i-1]);

end;

for i:=N+1 to 2*N+1 do

Memo1.Lines.Add('i='+IntToStr(i)+' ф='+FloatToStrF(fi[i],ffFixed,5,2)

+' w='+FloatToStrF(w[i],ffFixed,5,2)+' e='+FloatToStrF(e[i],ffFixed,5,2)

+' t='+FloatToStrF(t[i],ffFixed,5,2));

Tn := t[2*N+1]-t[N+1];

Memo1.Lines.Add('Tт='+FloatToStrF(Tn,ffFixed,5,2));

Button3.Enabled := true;

end;

procedure TForm1.Button3Click(Sender: TObject);

var i: integer;

begin

Chart1.BottomAxis.Minimum := -0.1;

Chart1.BottomAxis.Maximum := fi[2*N+1]+0.1;

Chart1.LeftAxis.Minimum := e[2*N+1]-0.1;

Chart1.LeftAxis.Maximum := e[1] + 0.1;

for i:=1 to 2*N+1 do

begin

Series1.AddXY(fi[i],w[i],'',clTeeColor);

Series2.AddXY(fi[i],e[i],'',clTeeColor);

Series3.AddXY(fi[i],t[i],'',clTeeColor);

end;

end;

end.