Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовик готовый 1 вариант.doc
Скачиваний:
3
Добавлен:
26.08.2019
Размер:
1.46 Mб
Скачать

Третья модельная задача.

Исходные данные

v, км/ч

v, м/с

R, Н

T, Н

0

0

0

152000

4

1,11

1000

8

2,22

5000

151500

12

3,33

10000

16

4,44

30000

151000

20

5,55

52000

24

6,66

75000

149000

28

7,77

93000

32

8,88

106000

148000

36

10

109000

40

11,11

108000

141000

44

12,22

107000

48

13,33

103000

130000

52

14,44

98000

56

15,55

92000

115000

60

16,66

87000

64

17,77

85000

105000

68

18,88

82000

72

20

87000

75000

Масса судна:

m=

76000

Линейная аппроксимация функций

Значения коэффициентов для уравнения сопротивления:

R(V)

-9,6914

-400,7

16394

18557

Значения коэффициентов для разности уравнений тяги и сопротивления:

T(V)-R(V)

-1,7796

450,282

-16559,8

133347

Значения коэффициентов для уравнения тяги:

T(V)

-11,471

49,582

-165,8

151904

Стационарная скорость

Отделяем корень уравнения R(V)=T(V) шаговым методом

v, м/с

F(x)

0

133347

1,11

115517,981

2,22

98783,9431

3,33

83130,2845

4,44

68542,4017

5,55

55005,6918

6,66

42505,5517

7,77

31027,3784

8,88

20556,5688

10

10997,6

11,11

2506,45486

12,22

-5021,2671

13,33

-11600,169

14,44

-17244,854

15,55

-21969,924

16,66

-25789,983

17,77

-28719,635

18,88

-30773,481

Уточняем корень методом половинного деления

e=

0,001

a

x

b

F(a)

F(x)

F(a)*F(x)

|F(x)|<e

11,11

11,665

12,22

2506,455

-1376,92133

-3451191,156

11,11

11,3875

11,665

2506,455

534,773879

1340386,587

11,3875

11,52625

11,665

534,7739

-428,557686

-229181,4559

11,3875

11,456875

11,52625

534,7739

51,2353234

27399,31259

11,45688

11,4915625

11,52625

51,23532

-189,129152

-9690,093244

11,45688

11,4742188

11,49156

51,23532

-69,0639346

-3538,513023

11,45688

11,4655469

11,47422

51,23532

-8,94356423

-458,2264052

11,45688

11,4612109

11,46555

51,23532

21,1385645

1083,041187

11,46121

11,4633789

11,46555

21,13856

6,09567141

128,8537432

11,46338

11,4644629

11,46555

6,095671

-1,42440358

-8,682696187

11,46338

11,4639209

11,46446

6,095671

2,33551962

14,23656018

11,46392

11,4641919

11,46446

2,33552

0,45552945

1,063897959

11,46419

11,4643274

11,46446

0,455529

-0,48444421

-0,220678603

11,46419

11,4642596

11,46433

0,455529

-0,01445917

-0,006586577

11,46419

11,4642258

11,46426

0,455529

0,22053469

0,100460046

11,46423

11,4642427

11,46426

0,220535

0,10303765

0,022723377

11,46424

11,4642512

11,46426

0,103038

0,04428921

0,004563456

11,46425

11,4642554

11,46426

0,044289

0,01491502

0,000660574

Корень

Уточняем корень методом Ньютона

e=

0,000001

x

F(x)

F'(x)

|F(x)|<e

16,66

-25789,983

-3038,22

8,171476

27124,6718

-9557,35

11,00957

3234,84538

-7292,1

11,45318

76,8886064

-6945,8

11,46425

0,0476825

-6937,18

11,46426

1,8365E-08

-6937,18

Корень

Уточняем корень методом простой итерации

e=

0,001

x

F(x)

S(x)

|F(x)|<e

15,55

-21969,92408

14,2233

14,2233

-16215,5562

13,24409

13,24409

-11124,50313

12,57231

12,57231

-7211,463954

12,13683

12,13683

-4490,28148

11,86567

11,86567

-2722,107052

11,70129

11,70129

-1622,512601

11,60331

11,60331

-957,133124

11,54551

11,54551

-561,1246527

11,51163

11,51163

-327,7552177

11,49184

11,49184

-191,0301164

11,4803

11,4803

-111,2001796

11,47359

11,47359

-64,68285417

11,46968

11,46968

-37,60854503

11,46741

11,46741

-21,86127458

11,46609

11,46609

-12,70578155

11,46532

11,46532

-7,383982203

11,46488

11,46488

-4,291000819

11,46462

11,46462

-2,493527568

11,46447

11,46447

-1,448980553

11,46438

11,46438

-0,841989661

11,46433

11,46433

-0,489269937

11,4643

11,4643

-0,284307877

11,46428

11,46428

-0,165206996

11,46427

11,46427

-0,095999174

11,46427

11,46427

-0,055783567

11,46426

11,46426

-0,032414917

11,46426

11,46426

-0,018835773

11,46426

11,46426

-0,010945155

11,46426

11,46426

-0,006360048

11,46426

11,46426

-0,003695718

11,46426

11,46426

-0,00214752

11,46426

11,46426

-0,001247888

11,46426

11,46426

-0,000725127

11,46426

Корень

Вычисляем время разгона

a=

0

b=

11,4642554

h=

0,22928511

Метод левых прямоугольников

i

v

f(v)

Ef(v)

result

0

0

0,56994158

190,9601

43,7843

1

0,229285

0,58653862

2

0,45857

0,60390463

3

0,687855

0,62209048

4

0,91714

0,64115155

5

1,146426

0,66114815

6

1,375711

0,68214619

7

1,604996

0,70421775

8

1,834281

0,72744185

9

2,063566

0,75190529

10

2,292851

0,77770364

11

2,522136

0,80494236

12

2,751421

0,83373809

13

2,980706

0,8642202

14

3,209992

0,89653252

15

3,439277

0,93083543

16

3,668562

0,96730831

17

3,897847

1,00615242

18

4,127132

1,04759429

19

4,356417

1,09188986

20

4,585702

1,13932934

21

4,814987

1,19024316

22

5,044272

1,24500911

23

5,273557

1,3040612

24

5,502843

1,3679004

25

5,732128

1,43710809

26

5,961413

1,5123628

27

6,190698

1,59446137

28

6,419983

1,68434583

29

6,649268

1,78313799

30

6,878553

1,89218438

31

7,107838

2,01311545

32

7,337123

2,14792445

33

7,566409

2,29907411

34

7,795694

2,46964345

35

8,024979

2,66353318

36

8,254264

2,88575923

37

8,483549

3,14288172

38

8,712834

3,44364839

39

8,942119

3,79998905

40

9,171404

4,22860667

41

9,400689

4,75362923

42

9,629975

5,41125036

43

9,85926

6,25834782

44

10,08854

7,38972039

45

10,31783

8,97600893

46

10,54711

11,358499

47

10,7764

15,3335282

48

11,00569

23,2901115

49

11,23497

47,1732534

50

11,46426

5095536,1

#include<math.h>

#include<stdio.h>

#include<conio.h>

#include<iostream.h>

int main()

{

clrscr();

int i;

float slp,sum,n,a,b,hx;

float x[150],y[150];

printf("enter a\n");

scanf("%f",&a);

printf("enter b\n");

scanf("%f",&b);

printf("enter n\n");

scanf("%f",&n);

hx=(b-a)/n;

printf("assigned data\n");

printf("a=%9.5f\n",a);

printf("b=%9.5f\n",b);

printf("hx=%9.5f\n",hx);

printf("n=%9.5f\n",n);

sum=0;

printf(" x y\n");

for(i=0;i<=n-1;i++)

{

x[i]=a+i*hx;

y[i]=76000/(-1.7796*x[i]*x[i]*x[i]+450.282*x[i]*x[i]-16559.8*x[i]+133347);

printf("%9.5f %9.5f\n",x[i],y[i]);

sum=sum+y[i];

}

slp=hx*sum;

printf("slp=%9.5f",slp);

return 0;

}

Определяем путь разгона судна

a=

0

b=

43,7843006

h=

0,87568601

Метод Эйлера

i

t

S

V

0

0

0

0

1

0,87568601

0

1,536449

2

1,75137203

1,345447

2,791909

3

2,62705804

3,790282

3,835642

4

3,50274405

7,1491

4,715404

5

4,37843006

11,27831

5,46534

6

5,25411608

16,06423

6,110599

7

6,12980209

21,4152

6,670161

8

7,0054881

27,25617

7,158654

9

7,88117412

33,5249

7,587551

10

8,75686013

40,16921

7,965991

11

9,63254614

47,14492

8,301353

12

10,5082322

54,4143

8,599665

13

11,3839182

61,94491

8,865905

14

12,2596042

69,70865

9,104222

15

13,1352902

77,68109

9,318102

16

14,0109762

85,84083

9,510498

17

14,8866622

94,16904

9,68393

18

15,7623482

102,6491

9,840559

19

16,6380342

111,2664

9,982251

20

17,5137203

120,0077

10,11062

21

18,3894063

128,8614

10,22709

22

19,2650923

137,8171

10,33288

23

20,1407783

146,8655

10,42908

24

21,0164643

155,9981

10,51665

25

21,8921503

165,2074

10,59643

26

22,7678363

174,4865

10,66919

27

23,6435223

183,8294

10,73558

28

24,5192084

193,2304

10,79622

29

25,3948944

202,6845

10,85162

30

26,2705804

212,1871

10,90228

31

27,1462664

221,734

10,94862

32

28,0219524

231,3216

10,99103

33

28,8976384

240,9463

11,02986

34

29,7733244

250,605

11,06543

35

30,6490104

260,2948

11,09802

36

31,5246965

270,0132

11,1279

37

32,4003825

279,7577

11,15529

38

33,2760685

289,5263

11,18042

39

34,1517545

299,3168

11,20347

40

35,0274405

309,1275

11,22462

41

35,9031265

318,9568

11,24403

42

36,7788125

328,803

11,26185

43

37,6544985

338,6649

11,27821

44

38,5301846

348,541

11,29324

45

39,4058706

358,4304

11,30704

46

40,2815566

368,3318

11,31972

47

41,1572426

378,2443

11,33136

48

42,0329286

388,167

11,34207

49

42,9086146

398,0991

11,3519

50

43,7843006

408,0398

11,36094

#include<math.h>

#include<stdio.h>

#include<conio.h>

#include<iostream.h>

int main()

{

clrscr();

int i;

float a,b,h,xn,x[150],y[150],z[150];

printf("enter a\n");

scanf("%f",&a);

printf("enter b\n");

scanf("%f",&b);

printf("enter n\n");

scanf("%f",&xn);

printf("enter x(0)\n");

scanf("%f",&x[0]);

printf("enter y(0)\n");

scanf("%f",&y[0]);

printf("enter z(0)\n");

scanf("%f",&z[0]);

h=(b-a)/xn;

printf("assigned data\n");

printf("a=%9.5f\n",a);

printf("b=%9.5f\n",b);

printf("hx=%9.5f\n",h);

printf(" x y z\n");

printf("%9.5f %9.5f %9.5f\n",x[0],y[0],z[0]);

for(i=1;i<=xn;i++)

{

x[i]=a+i*h;

y[i]=y[i-1]+h*z[i-1];

z[i]=z[i-1]+h*((-1.7796*z[i-1]*z[i-1]*z[i-1]+450.282*z[i-1]*z[i-1]-16559.8*z[i-1]+133347)/76000);

printf("%9.5f %9.5f %9.5f\n",x[i],y[i],z[i]);

}

return 0;

}

Определяем энергию разгона

a=

0

b=

11,4642554

h=

0,22928511

Метод левых прямоугольников

i

v

f(v)

Ef(v)

result

Энергия разгона:

0

0

0

2125,209

487,2789

E=

18516597

1

0,229285

0,05257166

2

0,45857

0,21028664

3

0,687855

0,47314495

4

0,91714

0,84114657

5

1,146426

1,31429152

6

1,375711

1,89257979

7

1,604996

2,57601138

8

1,834281

3,36458629

9

2,063566

4,25830453

10

2,292851

5,25716608

11

2,522136

6,36117096

12

2,751421

7,57031916

13

2,980706

8,88461068

14

3,209992

10,3040455

15

3,439277

11,8286237

16

3,668562

13,4583452

17

3,897847

15,19321

18

4,127132

17,0332181

19

4,356417

18,9783696

20

4,585702

21,0286643

21

4,814987

23,1841024

22

5,044272

25,4446838

23

5,273557

27,8104086

24

5,502843

30,2812766

25

5,732128

32,857288

26

5,961413

35,5384427

27

6,190698

38,3247407

28

6,419983

41,2161821

29

6,649268

44,2127668

30

6,878553

47,3144948

31

7,107838

50,5213661

32

7,337123

53,8333807

33

7,566409

57,2505386

34

7,795694

60,7728399

35

8,024979

64,4002845

36

8,254264

68,1328724

37

8,483549

71,9706037

38

8,712834

75,9134782

39

8,942119

79,9614961

40

9,171404

84,1146573

41

9,400689

88,3729619

42

9,629975

92,7364097

43

9,85926

97,2050009

44

10,08854

101,778735

45

10,31783

106,457613

46

10,54711

111,241634

47

10,7764

116,130799

48

11,00569

121,125107

49

11,23497

126,224558

50

11,46426

131,429152

Определяем время торможения

a=

11,4642554

b=

0

h=

-0,2292851

Метод левых прямоугольников

i

v

f(v)

Ef(v)

PP

0

11,46426

0,54583605

51,99046

11,92064

1

11,23497

0,54904858

2

11,00569

0,55260627

3

10,7764

0,55651898

4

10,54711

0,56079799

5

10,31783

0,56545603

6

10,08854

0,57050744

7

9,85926

0,57596825

8

9,629975

0,58185638

9

9,400689

0,58819175

10

9,171404

0,59499655

11

8,942119

0,60229537

12

8,712834

0,61011553

13

8,483549

0,61848736

14

8,254264

0,62744453

15

8,024979

0,63702443

16

7,795694

0,64726868

17

7,566409

0,65822361

18

7,337123

0,66994094

19

7,107838

0,68247843

20

6,878553

0,69590081

21

6,649268

0,71028075

22

6,419983

0,72570005

23

6,190698

0,74225109

24

5,961413

0,7600385

25

5,732128

0,77918121

26

5,502843

0,7998149

27

5,273557

0,82209504

28

5,044272

0,84620053

29

4,814987

0,87233824

30

4,585702

0,90074862

31

4,356417

0,93171274

32

4,127132

0,96556121

33

3,897847

1,00268549

34

3,668562

1,04355252

35

3,439277

1,08872372

36

3,209992

1,13888017

37

2,980706

1,1948561

38

2,751421

1,25768449

39

2,522136

1,32865987

40

2,292851

1,40942667

41

2,063566

1,50210581

42

1,834281

1,60948071

43

1,604996

1,73527773

44

1,375711

1,88460229

45

1,146426

2,06464169

46

0,91714

2,28584653

47

0,687855

2,56401979

48

0,45857

2,9242462

49

0,229285

3,40887921

50

0

4,09548957

#include<math.h>

#include<stdio.h>

#include<conio.h>

#include<iostream.h>

int main()

{

clrscr();

int i;

float e,x[50],f[50],fp[50];

e=0.000001;

printf("enter first x\n");

scanf("%f",&x[1]);

f[1]=-1.7796*x[1]*x[1]*x[1]+450.282*x[1]*x[1]-16559.8*x[1]+133347;

fp[1]=-1.7796*x[1]*x[1]*3+450.282*x[1]*2-16559.8;

printf(" x f fp\n");

printf("%6.4f %6.4f %6.4f\n",x[1],f[1],fp[1]);

for(i=2;i<21;i++){

x[i]=x[i-1]-f[i-1]/fp[i-1];

f[i]=-1.7796*x[i]*x[i]*x[i]+450.282*x[i]*x[i]-16559.8*x[i]+133347;

fp[i]=-1.7796*x[i]*x[i]*3+450.282*x[i]*2-16559.8;

printf("%6.4f %6.4f %6.4f\n",x[i],f[i],fp[i]);

if(fabs(f[i])<e)

{

printf("end of calculation\n");

printf("wanted value x=%6.4f",x[i]);

getch();

}

}

return 0;

}

Вывод.

Исследование динамики разгона (торможения) движения судна на тихой воде осуществлялось с использованием буксировочных кривых зависимости сопротивления и силы тяги от времени. В данной работе используются численные методы, в частности, методы аппроксимации, решения дифференциальных уравнений, систем линейных уравнений и т.п.

В большинстве случаев, из-за сложности поставленной задачи, решение задачи аналитически невозможно, решение же задачи численными методами

(в данных задачах – методом Эйлера) предпочтительны с точки зрения простоты и точности решения. в первой модельной задаче мы получили приблизительные значения искомых результатов, так как функции R(V) и T(V) аппроксимировались полиномами низких степеней. Значения, полученные в модельной задаче №3, имеют сравнительно большую достоверность, так как аппроксимированные кривые наиболее близко приблизились к данным кривым R(V)и T(V).