matlab交通问题求解,交通流量问题MATLAB求解.doc

交通流量问题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 ?

? ?

72 . 程序和计算结果

在 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 和

1c 使特解为非

2负数,即得一组满足问题条件的解。例如,取 1 0, 2 200

c ? c ? ,得

x ? [200 200 500 200 0 0 200]T

将对应数据填写,得下图

显然,这一问题的解是不唯一的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值