- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
交通流量问题MATLAB求解
交通流量问题 MATLAB
下图给出了某城市部分单行街道的交通流量(每小时通过的车辆数)
图 1 中有 6 个路口,已有 9 条街道记录了当天的平均车流量。另
有 7 处的平均车流量未知,试利用每个路口的进出车流量相等关系推
算这 7 处的平均车流量。
问题分析与数学模型
在图 1 中的任何一个路口(十字路口或丁字路口)处,都有车辆
流进和流出。当一天结束后,流进的车辆数和流出的车辆数应该相等
以达到平衡。在图中有的街道车流量有数据记录,而有的没有数据记
录。我们可以理解为有数据记录的街道有专人(或设备)记录了当天
的车流量情况,而没有记录的街道是由于人力不足(或设备的经费还
没到位)造成的。为了填补空白,在没有数据记录的街道处假设车流
量是未知数。在每一个路口处可根据进出的车流量相等关系,建立一
个线性代数方程。图 1 中有六个路口,可建立含六个方程的线性方程
组。问题的答案应该是在所列的线性方程组
? ? ?
x x 700
1 3
? ? ? ?
x x x 200
?
1 2 4
? ? ?
?x x 200
2 5
? ? ?
x x 500
?
3 6
? ? ? ?
x x x 0
?
4 6 7
?x ? x ? ?200
?
5 7
的通解中去寻找。将方程组写成矩阵向量形式为 AX = b,其中
A ?1 0 1 0 0 0 0 ?
? ? ?
1 1 0 1 0 0 0
? ?
? ? ?
0 1 0 0 1 0 0
? ? ?
0 0 1 0 0 1 0
? ?
? ? ?
0 0 0 1 0 1 1
? ?
0 0 0 0 1 0 ?1
? ? ,
b ?700 ?
? ?
200
? ?
? ?
200
? ? ?
500
? ?
? ?
0
? ?
?200
? ? , x ? ?x ?
1
? ?
x
? ?
2
? ?
? ?
?x ?
? ?
7 2 . 程序和计算结果
在 MATLAB 环境中,首先输入方程组的系数矩阵 A 和方程组
右端向量 b,
A=[1 0 1 0 0 0 0;1 –1 0 1 0 0 0;0 1 0 0 –1 0 0;0 0 1 0 0 1 0;0 0 0 1
0 1 –1;0 0 0 0 1 0 -1]
b = [700;200;200;500;0;-200]
然后用命令
r1=rank(A);r2=rank([A b])
计算系数矩阵的秩 r1,和增广矩阵[A b]的秩 r2,得
r1= 5;r2 = 5
这说明系数矩阵和增广矩阵的秩相等。最后,用命令
[R,ID]=rref([A b])
将增广矩阵化为最简行阶梯形矩阵,得数据
R =
1 0 0 0 0 -1 0 200
0 1 0 0 0 0 -1 0
0 0 1 0 0 1 0 500
0 0 0 1 0 1 -1 0
0 0 0 0 1 0 -1 -200
0 0 0 0 0 0 0 0
ID = 1 2 3 4 5
由此可确定对应的齐次方程组的基础解系以及非齐次方程组的
通解。取 x6 , x7 为自由未知数,直接可得原方程组的通解形式
? ? ? ? ? ? ? ?
x
1 0 200
1
? ? ? ? ? ? ? ?
x 0 1 0
? ? ? ? ? ? ? ?
2
? ? ?? ? ? ? ? ?
x 1 0 500
? ? ? ? ? ? ? ?
3
?x ? c ? ? c ? ? ? ?
? ?1 ? 1 ? 0
4 1 2
? ? ? ? ? ? ?? ?
x 0 1 200
? ? ? ? ? ? ? ?
5
? ? ? ? ? ? ? ?
x 1 0 0
6
? ? ? ? ? ? ? ?
0 1 0
x ? ? ? ? ? ?
? ?
7
3 .问题解答
由上面所得的方程组通解表达式,取适当的 c 和
1 c 使特解为非
2 负数,即得一组满足问题条件的解。例如,取 1 0, 2 200
c ? c ? ,得
x ? [200 200 500 200 0 0 200]T
将对应数据填写,得下图
显然,这一问题的解是不唯一的。
文档评论(0)