自来水管道连接问题张鹏.docx

上传人:b****8 文档编号:27957269 上传时间:2023-07-06 格式:DOCX 页数:20 大小:28.23KB
下载 相关 举报
自来水管道连接问题张鹏.docx_第1页
第1页 / 共20页
自来水管道连接问题张鹏.docx_第2页
第2页 / 共20页
自来水管道连接问题张鹏.docx_第3页
第3页 / 共20页
自来水管道连接问题张鹏.docx_第4页
第4页 / 共20页
自来水管道连接问题张鹏.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

自来水管道连接问题张鹏.docx

《自来水管道连接问题张鹏.docx》由会员分享,可在线阅读,更多相关《自来水管道连接问题张鹏.docx(20页珍藏版)》请在冰豆网上搜索。

自来水管道连接问题张鹏.docx

自来水管道连接问题张鹏

 

自来水管道

连接问题

的数学建模与Matlab求解

 

姓名:

张鹏20113517

年级专业:

自动化1104

日期:

20130920

 

目录

一.题目重述:

3

二.问题分析:

6

三.模型基本假设:

6

四.Matlab程序中变量说明:

7

五.模型的建立与求解:

7

5.1运用向量的方法求解障碍区面积7

5.2求用户点与任意两个同一障碍区的顶点构成三角形的面积之和8

5.3判断有效用户8

六.Matlab求解程序:

9

 

一.题目重述:

自来水是人们日常生活中不可缺少的生活要素,然而自来水管网的组建却有很多问题需要解决。

一般来说,我们假设管网中任意两个用户之间存在直线段相连,但是在连接过程中,有些区域是必须绕开的,这些必须绕开的区域我们称为障碍区域。

表1给出了若干个可能的用户的地址的横纵坐标,可能的用户的含义是:

如果用户的地址不在障碍区域内,那么该用户就是需要使用自来水的用户(即有效用户),否则如果用户的地址在障碍区域内,那么该用户就是无效用户(即不要将该用户连接在网络中)。

表2-表5是分别是4个障碍区域必须要覆盖的点的坐标,而对应障碍区域就是覆盖这些要覆盖的点的最小凸集。

请您判定表1中那些用户为有效用户。

表1若干个可能的用户的地址的横纵坐标:

可能的用户的序号

可能的用户横坐标

可能的用户纵坐标

1.0000

95.0129

58.2792

2.0000

23.1139

42.3496

3.0000

60.6843

51.5512

4.0000

48.5982

33.3951

5.0000

89.1299

43.2907

6.0000

76.2097

22.5950

7.0000

45.6468

57.9807

8.0000

1.8504

76.0365

9.0000

82.1407

52.9823

10.0000

44.4703

64.0526

11.0000

61.5432

20.9069

12.0000

79.1937

37.9818

13.0000

92.1813

78.3329

14.0000

73.8207

68.0846

15.0000

17.6266

46.1095

16.0000

40.5706

56.7829

17.0000

93.5470

79.4211

18.0000

91.6904

5.9183

19.0000

41.0270

60.2869

20.0000

89.3650

5.0269

21.0000

5.7891

41.5375

22.0000

35.2868

30.4999

23.0000

81.3166

87.4367

24.0000

0.9861

1.5009

25.0000

13.8891

76.7950

26.0000

20.2765

97.0845

27.0000

19.8722

99.0083

28.0000

60.3792

78.8862

29.0000

27.2188

43.8659

30.0000

19.8814

49.8311

31.0000

1.5274

21.3963

32.0000

74.6786

64.3492

33.0000

44.5096

32.0036

34.0000

93.1815

96.0099

35.0000

46.5994

72.6632

36.0000

41.8649

41.1953

37.0000

84.6221

74.4566

38.0000

52.5152

26.7947

39.0000

20.2647

43.9924

40.0000

67.2137

93.3380

41.0000

83.8118

68.3332

42.0000

1.9640

21.2560

43.0000

68.1277

83.9238

44.0000

37.9481

62.8785

45.0000

83.1796

13.3773

46.0000

50.2813

20.7133

47.0000

70.9471

60.7199

48.0000

42.8892

62.9888

49.0000

30.4617

37.0477

50.0000

18.9654

57.5148

51.0000

19.3431

45.1425

52.0000

68.2223

4.3895

53.0000

30.2764

2.7185

54.0000

54.1674

31.2685

55.0000

15.0873

1.2863

56.0000

69.7898

38.3967

57.0000

37.8373

68.3116

58.0000

86.0012

9.2842

59.0000

85.3655

3.5338

60.0000

59.3563

61.2395

61.0000

49.6552

60.8540

62.0000

89.9769

1.5760

63.0000

82.1629

1.6355

64.0000

64.4910

19.0075

65.0000

81.7974

58.6918

66.0000

66.0228

5.7581

67.0000

34.1971

36.7568

68.0000

28.9726

63.1451

69.0000

34.1194

71.7634

70.0000

53.4079

69.2669

71.0000

72.7113

8.4079

72.0000

30.9290

45.4355

73.0000

83.8496

44.1828

74.0000

56.8072

35.3250

75.0000

37.0414

15.3606

76.0000

70.2740

67.5645

77.0000

54.6571

69.9213

78.0000

44.4880

72.7509

79.0000

69.4567

47.8384

80.0000

62.1310

55.4842

81.0000

79.4821

12.1047

82.0000

95.6843

45.0754

83.0000

52.2590

71.5883

84.0000

88.0142

89.2842

85.0000

17.2956

27.3102

86.0000

97.9747

25.4769

87.0000

27.1447

86.5603

88.0000

25.2329

23.2350

89.0000

87.5742

80.4872

90.0000

73.7306

90.8398

91.0000

13.6519

23.1894

92.0000

1.1757

23.9313

93.0000

89.3898

4.9754

94.0000

19.9138

7.8384

95.0000

29.8723

64.0815

96.0000

66.1443

19.0887

97.0000

28.4409

84.3869

98.0000

46.9224

17.3900

99.0000

6.4781

17.0793

100.0000

98.8335

99.4295

表2障碍区域1必须要覆盖的点的坐标:

顶点序号

顶点的横坐标

顶点的纵坐标

1

3.2060

12.9166

2

17.4571

19.3377

3

4.7576

20

表3障碍区域2必须要覆盖的点的坐标:

顶点序号

顶点的横坐标

顶点的纵坐标

1

50

30

2

53.7465

48.4490

3

46.9222

57.1195

4

33.3207

39.8050

5

43.1123

56.3187

表4障碍区域3必须要覆盖的点的坐标:

顶点序号

顶点的横坐标

顶点的纵坐标

1

54.6982

70

2

53.7465

90

3

46.9222

80

表5障碍区域4必须要覆盖的点的坐标:

顶点序号

顶点的横坐标

顶点的纵坐标

1

90

75

2

80

95

3

70

80

二.问题分析:

根据题目可知,主要根据所给不同障碍区域的数据对用户点进行检测,判断其是否为有效用户。

并在此基础上将所有用户连接起来,使得路径不经过障碍区

如果用户点位于障碍区域之外,则为有效用户,否则,为无效用户。

通过用户点与障碍区域各个顶点的连线,并按顺时针计算用户点与障碍区域两相邻顶点的面积。

若所得面积中有一个与障碍区域面积相等,则说明当前用户点在障碍区域内,即无效用户点。

若所得面积均与障碍区域面积不相等,则说明当前用户点在障碍区域外,即有效用户。

三.模型基本假设:

3.1假设题目所给的数据真实可靠;

3.2假设任意两个用户之间以直线连接;

四.Matlab程序中变量说明:

Sign

Meaning

A

记录100个用户点的坐标

B

障碍区1的各顶点坐标

C

障碍区2的各顶点坐标

D

障碍区3的各顶点坐标

E

障碍区4的各顶点坐标

FLAG_ZP

表示各用户点是否在障碍区,若在,对应位置为1;若不在,为0

OUTFLAG_ZP

表示有效用户点的序号

AVAILABLE

表示有效用户点的个数

五.模型的建立与求解:

由问题分析可知,本问题的关键有二个:

一是求确定各障碍区的面积以及用户点与各障碍区任意两个定点构成的三角形的面积之和;二是比较上面两个面积,若相等,则该用户点在障碍区内为无效用户,否则,其为有效用户。

5.1运用向量的方法求解障碍区面积

若障碍区是三角形,对应各顶点坐标分别为(x1,y1),(x2,y2),(x3,y3)。

则a=(x2-x1,y2-y1),b=(x3-x1,y3-y1)。

由于三角形面积S=|a|*|b|*sin/2,向量a,b外积的模长|a×b|=|a|*|b|*sin;则有S=|a×b|/2;

若障碍区为五边形,对应点为(x1,y1),(x2,y2),(x3,y3),(x4,y4),(x5,y5)。

则划分成三个三角形,各三角形的顶点分别为(x1,y1),(x2,y2),(x3,y3);(x3,y3),(x4,y4),(x5,y5);(x1,y1),(x3,y3),(x5,y5)。

再用求三角形面积的方法求解即可。

5.2求用户点与任意两个同一障碍区的顶点构成三角形的面积之和

同5.1。

5.3判断有效用户

如果S=S1,则该用户在障碍区内,为无效用户。

反之,为有效用户。

筛选完毕的结果如下:

在障碍区的点的序号为:

OUTFLAG_ZP=4,23,36,99。

无效用户的信息为:

(4.0000,48.5982,33.3951);(23.0000,81.3166,87.4367);(36.0000,41.8649,41.1953);(99.0000,6.4781,17.0793)。

有效用户的个数是:

AVAILABLE=96。

100个点的分布情况如图1:

图1100个点的分布情况

100个点是否在障碍区的情况如图2:

图2100个点是否在障碍区的情况

六.Matlab求解程序:

>>A=[1.000095.012958.2792;

2.000023.113942.3496;

3.000060.684351.5512;

4.000048.598233.3951;

5.000089.129943.2907;

6.000076.209722.5950;

7.000045.646857.9807;

8.00001.850476.0365;

9.000082.140752.9823;

10.000044.470364.0526;

11.000061.543220.9069;

12.000079.193737.9818;

13.000092.181378.3329;

14.000073.820768.0846;

15.000017.626646.1095;

16.000040.570656.7829;

17.000093.547079.4211;

18.000091.69045.9183;

19.000041.027060.2869;

20.000089.36505.0269;

21.00005.789141.5375;

22.000035.286830.4999;

23.000081.316687.4367;

24.00000.98611.5009;

25.000013.889176.7950;

26.000020.276597.0845;

27.000019.872299.0083;

28.000060.379278.8862;

29.000027.218843.8659;

30.000019.881449.8311;

31.00001.527421.3963;

32.000074.678664.3492;

33.000044.509632.0036;

34.000093.181596.0099;

35.000046.599472.6632;

36.000041.864941.1953;

37.000084.622174.4566;

38.000052.515226.7947;

39.000020.264743.9924;

40.000067.213793.3380;

41.000083.811868.3332;

42.00001.964021.2560;

43.000068.127783.9238;

44.000037.948162.8785;

45.000083.179613.3773;

46.000050.281320.7133;

47.000070.947160.7199;

48.000042.889262.9888;

49.000030.461737.0477;

50.000018.965457.5148;

51.000019.343145.1425;

52.000068.22234.3895;

53.000030.27642.7185;

54.000054.167431.2685;

55.000015.08731.2863;

56.000069.789838.3967;

57.000037.837368.3116;

58.000086.00129.2842;

59.000085.36553.5338;

60.000059.356361.2395;

61.000049.655260.8540;

62.000089.97691.5760;

63.000082.16291.6355;

64.000064.491019.0075;

65.000081.797458.6918;

66.000066.02285.7581;

67.000034.197136.7568;

68.000028.972663.1451;

69.000034.119471.7634;

70.000053.407969.2669;

71.000072.71138.4079;

72.000030.929045.4355;

73.000083.849644.1828;

74.000056.807235.3250;

75.000037.041415.3606;

76.000070.274067.5645;

77.000054.657169.9213;

78.000044.488072.7509;

79.000069.456747.8384;

80.000062.131055.4842;

81.000079.482112.1047;

82.000095.684345.0754;

83.000052.259071.5883;

84.000088.014289.2842;

85.000017.295627.3102;

86.000097.974725.4769;

87.000027.144786.5603;

88.000025.232923.2350;

89.000087.574280.4872;

90.000073.730690.8398;

91.000013.651923.1894;

92.00001.175723.9313;

93.000089.38984.9754;

94.000019.91387.8384;

95.000029.872364.0815;

96.000066.144319.0887;

97.000028.440984.3869;

98.000046.922417.3900;

99.00006.478117.0793;

100.000098.833599.4295

];

>>holdon;

fori=1:

100

x=A(i,2);

y=A(i,3);

plot(x,y,'.')

end

>>holdon;

title('用户与障碍区的图像20130920zp')

>>B=[13.206012.9166;

217.457119.3377;

34.757620

];

C=[15030;

253.746548.4490;

346.922257.1195;

543.112356.3187;

433.320739.8050

];

D=[154.698270;

253.746590;

346.922280

];

E=[19075;

28095;

37080

]

fori=1:

3

x1=B(i,2);

y1=B(i,3);

x2=B(mod(i,3)+1,2);

y2=B(mod(i,3)+1,3);

X=[x1,x2];

Y=[y1,y2];

plot(X,Y,'r')

end

fori=1:

5

x1=C(i,2);

y1=C(i,3);

x2=C(mod(i,5)+1,2);

y2=C(mod(i,5)+1,3);

X=[x1,x2];

Y=[y1,y2];

plot(X,Y,'r')

end

fori=1:

3

x1=D(i,2);

y1=D(i,3);

x2=D(mod(i,3)+1,2);

y2=D(mod(i,3)+1,3);

X=[x1,x2];

Y=[y1,y2];

plot(X,Y,'r')

end

fori=1:

3

x1=E(i,2);

y1=E(i,3);

x2=E(mod(i,3)+1,2);

y2=E(mod(i,3)+1,3);

X=[x1,x2];

Y=[y1,y2];

plot(X,Y,'r')

end

>>FLAG_ZP=zeros(1,100);

forn=1:

100

a1=[B(2,2)-B(1,2),B(2,3)-B(1,3),0];

a2=[B(3,2)-B(2,2),B(3,3)-B(2,3),0];

a3=[B(1,2)-B(3,2),B(1,3)-B(3,3),0];

S=norm(cross(a1,a2))/2;

x=A(n,2);

y=A(n,3);

z1=[x-B(1,2),y-B(1,3),0];

z2=[x-B(2,2),y-B(2,3),0];

z3=[x-B(3,2),y-B(3,3),0];

s1=norm(cross(z1,a1))/2;

s2=norm(cross(z2,a2))/2;

s3=norm(cross(z3,a3))/2;

S1=s1+s2+s3;

if(S1==S)flag1=0;

elseflag1=1;

end

b1=[C(2,2)-C(1,2),C(2,3)-C(1,3),0];

b2=[C(3,2)-C(2,2),C(3,3)-C(2,3),0];

b3=[C(4,2)-C(3,2),C(4,3)-C(3,3),0];

b4=[C(5,2)-C(4,2),C(5,3)-C(4,3),0];

b5=[C(1,2)-C(5,2),C(1,3)-C(5,3),0];

s1=norm(cross(b1,b2))/2;

s2=norm(cross(b3,b4))/2;

s3=norm(cross(b1+b2,b3+b4))/2;

S=s1+s2+s3;

x=A(n,2);

y=A(n,3);

z1=[x-C(1,2),y-C(1,3),0];

z2=[x-C(2,2),y-C(2,3),0];

z3=[x-C(3,2),y-C(3,3),0];

z4=[x-C(4,2),y-C(4,3),0];

z5=[x-C(5,2),y-C(5,3),0];

s1=norm(cross(z1,b1))/2;

s2=norm(cross(z2,b2))/2;

s3=norm(cross(z3,b3))/2;

s4=norm(cross(z4,b4))/2;

s5=norm(cross(z5,b5))/2;

S1=s1+s2+s3+s4+s5;

if(S1==S)flag2=0;

elseflag2=1;

end

c1=[D(2,2)-D(1,2),D(2,3)-D(1,3),0];

c2=[D(3,2)-D(2,2),D(3,3)-D(2,3),0];

c3=[D(1,2)-D(3,2),D(1,3)-D(3,3),0];

S=norm(cross(c1,c2))/2;

x=A(n,2);

y=A(n,3);

z1=[x-D(1,2),y-D(1,3),0];

z2=[x-D(2,2),y-D(2,3),0];

z3=[x-D(3,2),y-D(3,3),0];

s1=norm(cross(c1,z1))/2;

s2=norm(cross(c2,z2))/2;

s3=norm(cross(c3,z3))/2;

S1=s1+s2+s3;

if(S1==S)flag3=0;

elseflag3=1;

end

d1=[E(2,2)-E(1,2),E(2,3)-E(1,3),0];

d2=[E(3,2)-E(2,2),E(3,3)-E(2,3),0];

d3=[E(1,2)-E(3,2),E(1,3)-E(3,3

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1