实验设计四交通事故分析Word格式.docx

上传人:b****2 文档编号:15385957 上传时间:2022-10-29 格式:DOCX 页数:12 大小:85.92KB
下载 相关 举报
实验设计四交通事故分析Word格式.docx_第1页
第1页 / 共12页
实验设计四交通事故分析Word格式.docx_第2页
第2页 / 共12页
实验设计四交通事故分析Word格式.docx_第3页
第3页 / 共12页
实验设计四交通事故分析Word格式.docx_第4页
第4页 / 共12页
实验设计四交通事故分析Word格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

实验设计四交通事故分析Word格式.docx

《实验设计四交通事故分析Word格式.docx》由会员分享,可在线阅读,更多相关《实验设计四交通事故分析Word格式.docx(12页珍藏版)》请在冰豆网上搜索。

实验设计四交通事故分析Word格式.docx

直线1的截距(b1)

直线2的斜率(m2)

直线2的截距(b2)

事。

故。

数。

车辆密度(每100m的车辆数量)

图4-1事故数量与车辆密度的关系

3.课程设计要求:

(1)问题描述

对于特定长度的高速公路,公路上的车辆密度(每100米车辆的数目)与事故发生的数量有关。

一般认为,事故的数量随某一点的车辆密度的增加而增加。

然而,当车辆密度超过某一特定值时,由于拥挤,车辆平均速度下降,事故的数量也随之下降。

为了预测事故发生频率,并帮助改进高速公路设计,我们希望由观测数据来推导车辆密度及事故数量之间的关系。

(2)解决方案

在此给出最佳直线的斜率及截距的方程。

n=numberofpoints

c=∑i=1nxi

d=∑i=1nyi

e=∑i=1nxi2

f=∑i=1nyixi

注意,c为所有数据点的x坐标值的和,d为所有数据点的y坐标值的和。

变量e为x坐标值的平方和,f为数据点的xy积的和。

最佳直线的斜率(m)和截距(b)为:

m=(nf-cd)/(ne-c2)

b=(de-cf)/(ne-c2)

(3)具体示例

12月份数据如表4-1所示。

利用该数据进行计算。

表4-112月份的数据

数据点

车辆密度(x)

事故数量(y)

1.4

3

1

2.0

6

2

2.3

4

4.5

7

6.2

10

5

6.7

15

7.0

11

8.5

18

8

9.0

13

9

12.7

17

13.1

17.7

16

12

18.5

20.3

注意,事故数量的最大值为18(在第7个点)。

因此,我们用点0-7来创建第一条直线,用点7-13来创建另一条直线。

对于第一条直线:

c=sumofthexvalue=1.4+2.0+…+7.0+8.5=38.6

d=sumoftheyvalue=3+6+…+11+18=74

为获取e的值,将x值的平方求和:

e=1.42+2.02+…+7.02+8.52=236.08

为了获取f的值,首先求每x,y的积,然后求和:

f=1.4(3)+2.0(6)+…7.0(11)+8.5(18)=449.4

对于第二条直线:

c=8.5+9.0+…+18.5+20.3=99.8

d=18+13+…+11+5

e=8.52+9.02+…+18.52+20.32=1553.78

f=8.5(18)+9.0(13)+…18.5(11)+20.3(5)=1270.6

将这些值带入给出的求m及b的方程:

m1=1.853

b1=0.3087

m2=-0.6403

b2=22.70

这样,最佳直线y=mx+b的方程为:

直线1:

y=1.853x+0.3087从x=1.4到x=8.5

直线2:

y=-0.6403x+22.70从x=8.5到x=20.3

(4)类及对象

程序分析:

首先,在交通事故分析中,分为事故数据(Traffic)的计算类及线形衰减(Linear_regress)类两部分。

其次,类应该由什么组成。

如:

Traffic类由数据点组成。

另外,我们需要事故数量最大值的数组下标及数据点的数量。

函数成员应能通过读输入文件来初始化这些数据、

找出事故数量最大值的数组下标,并且与Linear_regress类交互以获得两条直线。

Linear_regress类需知道它使用的点的数量,它需访问这些被计算的点,它需要通过这些点的线的数据。

所以,其数据成员应为数据点(或数据点数组的起始地址)、数据点的数据及创建的直线的斜率和截距。

在此,Linear_regress类仅需要由数据创建最佳直线,为简单起见,我们仅使用一个函数成员。

注意,这些数据使用了点和直线。

在程序application4.cpp中,我们描述了简单的仅包含数据成员的Point及Line结构。

在这个程序中,我们将其用作类,这意味Point及Line对象可作为Linear_regress及Traffic的数据成员。

第三,这些数据应如何交互?

Linear_regress类包含类型为Line的普通数据成员,及可被Traffic用来执行衰减的成员函数。

Traffic包含Point类型的数组,及指向Linear_regress类对象的指针。

4.实验条件:

(1)主要设备:

586或更高机型,256MB或更高的内存,40G或更大的硬盘。

(2)主要软件:

①操作系统可为Windows9X、WinMe、Win2000或更高版本等;

②开发环境为VC++6.0或者TC++3.0。

(3)参考书目:

①C++课堂教学与编程演练作者:

(美)奥瑞兹(DOrazio,T.B)著,侯普秀译清华大学出版社

②《数据结构及应用算法教程》严蔚敏等编著清华大学出版社2001年2月第1版

5.实验方法与步骤:

实验界面:

(1)使用内置的数据:

课设中提供的数据

显示如上图;

(2)使用手动输入:

结果为:

6.实验总结:

通过这次课设的实验,学会了cout中的精度的控制,并且对于c++stl中的vector容器的概念有了一定的了解,并且对于面向对象的操作有了很深的领悟!

附录:

代码如下:

#include<

iostream>

string>

#include<

algorithm>

vector>

cmath>

iomanip>

usingnamespacestd;

structpoint//点的结构体

{

floatx;

inty;

};

boolcmp(pointa,pointb)//判断函数

returna.x<

b.x;

}

boolcmp1(pointa,pointb)//判断函数

returna.y<

b.y;

structlr//直线的结构体

floatm,b;

classtraf//具体的分析类

private:

vector<

point>

pp;

intn,d;

floatc,e,f;

lr>

linder;

public:

traf(vector<

p)

{

pp=p;

}

voiddeal()

d=0;

c=0;

e=0;

f=0;

n=0;

sort(pp.begin(),pp.end(),cmp);

//排序函数

vector<

:

iteratorir=max_element(pp.begin(),pp.end(),cmp1);

//找出最大值的点

cout<

<

"

最大点:

(*ir).x<

"

(*ir).y<

endl;

----------------------------------------"

for(vector<

iteratorip=pp.begin();

ip!

=ir+1;

ip++)

{

n++;

c+=(*ip).x;

d+=(*ip).y;

e+=pow((*ip).x,2);

f+=((*ip).x*(*ip).y);

}

lrlr1;

lr1.m=(n*f-c*d)/(n*e-c*c);

lr1.b=(d*e-c*f)/(n*e-c*c);

linder.push_back(lr1);

iteratorip=ir;

=pp.end();

voiddisplay()

iteratorio=linder.begin();

io!

=linder.end();

io++)

cout<

斜率:

fixed<

setprecision(4)<

(*io).m<

截距:

(*io).b<

直线方程为:

y="

x+"

------------------------------"

classoperate

pt;

operate(vector<

xx)

pt=xx;

voidprint()

inty,k,i,o;

floatx;

pointpn;

/*vector<

*/

boolmybool=true;

pointpi[14]={1.4,3,2.0,6,2.3,4,4.5,7,6.2,10,6.7,15,7.0,11,8.5,18,9.0,13,12.7,17,13.1,15,17.7,16,18.5,11,20.3,5};

do

pt.clear();

co

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

当前位置:首页 > 自然科学 > 物理

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

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