求解车流量之线性方程组
目录
【问题描述】
【问题要求】
【背景补充】
【问题解答】
【衍生问题】
【python代码展示】
【模型总结】
【问题描述】
图1 中的网络是,某市区一些单行道在一个下午,早些时候(以每小时车辆数目计算)的交通流量.
图1
【问题要求】
计算该网络的车流量
【背景补充】
什么是网络?
答:一个网络包含一组称为结合点或节点的点集,并由称为分支的线或弧连接部分或全部节点,留的方向在每个分支上有标示,流量(或速度)也有显示或用变量标记。
网络流的基本假设是什么?
答:网格总流入量等于总流出量,且流经一个节点的总输入等于总输出。
【例】
如图2示,x1和x2标记该节点经过其他分支的流出,因为流量在每个节点中是守恒的,我们有
x1 + x2 = 30 ,类似地,每个节点的流量可以用一个方程描述,网络分析的问题就是确定当局部信息(如网络的输入和输出) 已知时,每一分支的流量。
图2
【问题解答】
写出该流量的方程组,并求其通解。
如图3所示,标记道路交叉口(节点)和末知的分支流量。在每个交叉口,令其车辆驶入数目等于车辆驶出数目。
图3
并且,网络中的总流入量(500+300+100+400)等于总流出量(300+x,+600),经简化得
x3 = 400
该方程与上面四个方程联立并重排后得到下面的方程组:
图4
行化简相应的增广矩阵得到:
图5
该网络的车流量为:
图6
【衍生问题】
负流量代表什么?
答:网络分支中的一个负流量,对应于模型中显示方向相反的流量。
问什么不用编程求解方程组?
答:此方程系数矩阵是奇异矩阵,运行代码会报错。
【python代码展示】
# 导入所需包
from scipy import linalg
import numpy as np# 线性方程组求解# x1 + x2 + x3 + x4 + x5 = 800
# x1 + x2 + x3 + x4 + x5 = 300
# x1 + x2 + x3 + x4 + x5 = 500
# x1 + x2 + x3 + x4 + x5 = 600
# x1 + x2 + x3 + x4 + x5 = 400# A表示系数矩阵A = np.array([[1, 1, 0, 0, 0],[0, 1, -1, 1, 0],[0, 0, 0, 1, 1, ],[1, 0, 0, 0, 1],[0, 0, 1, 0, 0]])# b表示常数列b = np.array([800, 300, 500, 600, 400])
x = linalg.solve(A, b)
print(x)
【模型总结】
由于本问题中的道路的单行线,因此这里不允许有负值变量。
该模型仅用于解决单行线问题,在实际中应用范围窄。
求解车流量之线性方程组相关推荐
- Java黑皮书课后题第1章:1.13(代数:求解2*2线性方程组)编写程序,求解以下方程组并显示x和y的值 3.4x+50.2y=44.5 2.1x+0.55y=5.9
Java黑皮书课后题第1章:(代数:求解2*2线性方程组) 题目 题目描述 破题 代码块 方法评析 赘述 修改日志 题目 题目描述 求x和y值: 3.4x+50.2y=44.5 2.1x+0.55y= ...
- 第一章第十三题(代数:求解2 × 2线性方程组)(Algebra: solve 2 × 2 linear equations)
*1.13(代数:求解2 × 2线性方程组)可以使用Cramer法则解下面的2 × 2线性方程组,假定ad-bc不为0: ax + by = e cx + dy = f x = (ed-bf)÷(ad ...
- 中国剩余定理求解同余线性方程组(模数互素和非互素的情况)
参考:http://yzmduncan.iteye.com/blog/1323599 中国剩余定理 中国剩余定理是中国古代求解一次同余方程组的方法,是数论中的一个重要定理. 设m1,m2,m3,... ...
- Gauss-Seidel迭代求解线性方程组
高斯-赛德尔迭代法考试比较多,所以考虑再三,还是单独提取出来独立一篇,方便查阅,突出重点. 首先举例引入: 通过手动求解下面的线性方程组得到精确解: 再用高斯-赛德尔迭代法求解比较: 本人拙见,将每一 ...
- matlab 病态方程组,数值分析(Hilbert矩阵)病态线性方程组的求解Matlab程序
(Hilbert 矩阵)病态线性方程组的求解 理论分析表明,数值求解病态线性方程组很困难.考虑求解如下的线性方程组的求解Hx = b ,期中H 是Hilbert 矩阵,()ij n n H h ?=, ...
- Lapack求解线性方程组
可参见这两个页面: 1. http://www.culatools.com/dense/lapack/ 2. http://www.netlib.org/lapack/lug/node1.html 根 ...
- 三十分钟理解:矩阵Cholesky分解,及其在求解线性方程组、矩阵逆的应用
写一篇关于Cholesky分解的文章,作为学习笔记,尽量一文看懂矩阵Cholesky分解,以及用Cholesky分解来求解对称正定线性方程组,以及求对称正定矩阵的逆的应用. 文章目录 直接Choles ...
- 高等工程数学 —— 第四章 (1)线性方程组的直接解法与广义逆矩阵求解矛盾方程组
高等工程数学 -- 第四章 (1)线性方程组的直接解法与广义逆矩阵求解矛盾方程组 文章目录 高等工程数学 -- 第四章 (1)线性方程组的直接解法与广义逆矩阵求解矛盾方程组 线性方程组的直接解法 Ga ...
- MATLAB求解线性方程组的八种方法
MATLAB求解线性方程组的八种方法 求解线性方程分为两种方法–直接法和迭代法 常见的方法一共有8种 直接法 Gauss消去法 Cholesky分解法 迭代法 Jacobi迭代法 Gauss-Seid ...
最新文章
- 偏心率e用于描述某一轨道与圆轨道的区别
- 三角函数公式、诱导公式
- 设计模式的理解:命令模式 (Command)
- 从理念到实践跳跃式演进!云的原生“免疫系统”如何有机作战?
- PHP实现各种经典算法
- 李代数(Lie algebra)有哪些应用
- ab 服务器压力测试工具 使用详解
- LuaStudio 9.27 去10分钟退出暗桩板
- 读《第十一根手指》奏明第三本
- linux定时启动python脚本,linux定时执行python脚本
- python 中的 Fraction 模块
- 外卖返利系统H5公众号小程序cps返利淘宝客流量主分销app开发源码
- 方舟服务器显示mod不符,方舟生存进化mod不符怎么办
- oracle_java.exe,系统找不到C:\ProgramData\Oracle\Java\javapath\java.exe问题及解决方案
- 剪辑师的基本素养--了解四种特写类型
- python forward函数_PyTorch之前向传播函数自动调用forward
- dns配置异常怎么修复_dns异常怎么修复【详细介绍】
- 滴滴巨亏背后,打江山容易,守江山难?
- K8S环境快速部署Kafka(K8S外部可访问)
- javascript组合模式创建对象