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

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

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

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

R(V)

4833,7

21684

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

T(V)-R(V)

-8277.6

-8277,6

14491

144491

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

T(V)

-3443,9

166175

-3443,9

166175

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

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

v, м/с

F(x)

0

1 44491

1,11

135302,9

2,22

126114,7

3,33

116926,6

4,44

107738,5

5,55

98550,32

6,66

89362,18

7,77

80174,05

8,88

70985,91

10

61715

11,11

52526,86

12,22

43338,73

13,33

34150,59

14,44

24962,46

15,55

15774,32

16,66

6586,184

17,77

-2601,952

18,88

-11790,09

20

-21061

Значение точности:

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

e=

0,000001

x

F(x)

F'(x)

|F(x)|<e

16.66

6586,184

-8277,6

17.45566

0

-8277,6

Корень

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

a=

0

b=

17,45566

h=

0,349113

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

i

v

f(v)

Ef(v)

result

0

0,525984

118,3256

41,30903

1

0,349113

0,536719

2

0,698227

0,5479

3

1,04734

0,559558

4

1,396453

0,571722

5

1,745566

0,584427

6

2,09468

0,597709

7

2,443793

0,61161

8

2,792906

0,626172

9

3,142019

0,641444

10

3,491133

0,65748

11

3,840246

0,674339

12

4,189359

0,692085

13

4,538473

0,71079

14

4,887586

0,730534

15

5,236699

0,751406

16

5,585812

0,773506

17

5,934926

0,796946

18

6,284039

0,82185

19

6,633152

0,848362

20

6,982265

0,876641

21

7,331379

0,90687

22

7,680492

0,939258

23

8,029605

0,974045

24

8,378718

1,011508

25

8,727832

1,051969

26

9,076945

1,095801

27

9,426058

1,143444

28

9,775172

1,195419

29

10,12428

1,252344

30

10,4734

1,314961

31

10,82251

1,384169

32

11,17162

1,461068

33

11,52074

1,547013

34

11,86985

1,643701

35

12,21896

1,753281

36

12,56808

1,878515

37

12,91719

2,023017

38

13,2663

2,191601

39

13,61542

2,390838

40

13,96453

2,629922

41

14,31364

2,922135

42

14,66276

3,287402

43

15,01187

3,757031

44

15,36098

4,383203

45

15,7101

5,259843

46

16,05921

6,574804

47

16,40832

8,766405

48

16,75744

13,14961

49

17,10655

26,29922

50

17,45566

2,61E+15

#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/(-8277.6*x[i]+144491);

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=

41,30903

h=

0,826181

Простой метод Эйлера

i

t

S

V

0

0

0

0

1

0,826181

0

1,570732

2

1,652361

1,297708

3,000124

3

2,478542

3,776352

4,300892

4

3,304722

7,329666

5,484613

5

4,130903

11,86095

6,561817

6

4,957083

17,28219

7,54209

7

5,783264

23,51332

8,434154

8

6,609444

30,48145

9,245947

9

7,435625

38,12028

9,984691

10

8,261805

46,36943

10,65696

11

9,087986

55,17401

11,26873

12

9,914167

64,48401

11,82546

13

10,74035

74,25398

12,33209

14

11,56653

84,44251

12,79313

15

12,39271

95,01195

13,21268

16

13,21889

105,928

13,59448

17

14,04507

117,1595

13,94193

18

14,87125

128,6781

14,25811

19

15,69743

140,4578

14,54584

20

16,52361

152,4753

14,80768

21

17,34979

164,7091

15,04595

22

18,17597

177,1398

15,26279

23

19,00215

189,7496

15,46011

24

19,82833

202,5225

15,63968

25

20,65451

215,4437

15,80309

26

21,48069

228,4999

15,9518

27

22,30687

241,6789

16,08712

28

23,13306

254,9698

16,21027

29

23,95924

268,3624

16,32233

30

24,78542

281,8476

16,42431

31

25,6116

295,4171

16,51712

32

26,43778

309,0632

16,60157

33

27,26396

322,7791

16,67843

34

28,09014

336,5585

16,74837

35

28,91632

350,3956

16,81201

36

29,7425

364,2854

16,86993

37

30,56868

378,223

16,92264

38

31,39486

392,2042

16,9706

39

32,22104

406,2249

17,01425

40

33,04722

420,2818

17,05397

41

33,8734

434,3714

17,09012

42

34,69958

448,491

17,12301

43

35,52576

462,6377

17,15294

44

36,35194

476,8091

17,18018

45

37,17812

491,003

17,20497

46

38,00431

505,2174

17,22753

47

38,83049

519,4505

17,24806

48

39,65667

533,7005

17,26674

49

40,48285

547,9659

17,28374

50

41,30903

562,2454

17,29921

#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*((-8277.6*z[i-1]+144491)/76000);

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

}

return 0;

}

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

a=

0

b=

17,45566

h=

0,349113

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

i

v

f(v)

Ef(v)

result

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

0

0

0

4927,002

1720,082

E=

65363108

1

0,349113

0,12188

2

0,698227

0,48752

3

1,04734

1,096921

4

1,396453

1,950081

5

1,745566

3,047002

6

2,09468

4,387683

7

2,443793

5,972124

8

2,792906

7,800325

9

3,142019

9,872286

10

3,491133

12,18801

11

3,840246

14,74749

12

4,189359

17,55073

13

4,538473

20,59773

14

4,887586

23,88849

15

5,236699

27,42302

16

5,585812

31,2013

17

5,934926

35,22334

18

6,284039

39,48914

19

6,633152

43,99871

20

6,982265

48,75203

21

7,331379

53,74911

22

7,680492

58,98996

23

8,029605

64,47456

24

8,378718

70,20292

25

8,727832

76,17505

26

9,076945

82,39093

27

9,426058

88,85057

28

9,775172

95,55398

29

10,12428

102,5011

30

10,4734

109,6921

31

10,82251

117,1268

32

11,17162

124,8052

33

11,52074

132,7274

34

11,86985

140,8934

35

12,21896

149,3031

36

12,56808

157,9566

37

12,91719

166,8538

38

13,2663

175,9948

39

13,61542

185,3796

40

13,96453

195,0081

41

14,31364

204,8804

42

14,66276

214,9965

43

15,01187

225,3563

44

15,36098

235,9598

45

15,7101

246,8072

46

16,05921

257,8982

47

16,40832

269,2331

48

16,75744

280,8117

49

17,10655

292,6341

50

17,45566

304,7002

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

a=

17,45566

b=

0

h=

-0,349113

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

v

f(v)

Ef(v)

PP

17,45566

0,716579

72,90847

25,45331

1

17,10655

0,728165

2

16,75744

0,740132

3

16,40832

0,752498

4

16,05921

0,765285

5

15,7101

0,778514

6

15,36098

0,792208

7

15,01187

0,806393

8

14,66276

0,821095

9

14,31364

0,836343

10

13,96453

0,852167

11

13,61542

0,868603

12

13,2663

0,885685

13

12,91719

0,903452

14

12,56808

0,921946

15

12,21896

0,941214

16

11,86985

0,961304

17

11,52074

0,98227

18

11,17162

1,004172

19

10,82251

1,027072

20

10,4734

1,051041

21

10,12428

1,076156

22

9,775172

1,1025

23

9,426058

1,130166

24

9,076945

1,159257

25

8,727832

1,189885

26

8,378718

1,222175

27

8,029605

1,256267

28

7,680492

1,292315

29

7,331379

1,330493

30

6,982265

1,370995

31

6,633152

1,414041

32

6,284039

1,459878

33

5,934926

1,508785

34

5,585812

1,561083

35

5,236699

1,617137

36

4,887586

1,677366

37

4,538473

1,742256

38

4,189359

1,812367

39

3,840246

1,888358

40

3,491133

1,971001

41

3,142019

2,061208

42

2,792906

2,160068

43

2,443793

2,26889

44

2,09468

2,389257

45

1,745566

2,523111

46

1,396453

2,672853

47

1,04734

2,84149

48

0,698227

3,03284

49

0,349113

3,251823

50

0

3,504888

#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]=-8277.6*x[1]+144491;

fp[1]=-8277.6;

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]=-8277.6*x[i]+144491;

fp[i]=-8277.6;

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;

}