数学建模案例分析.docx
《数学建模案例分析.docx》由会员分享,可在线阅读,更多相关《数学建模案例分析.docx(25页珍藏版)》请在冰豆网上搜索。
![数学建模案例分析.docx](https://file1.bdocx.com/fileroot1/2023-4/2/974911a3-59c2-48ea-aacb-7d0ed1cd7556/974911a3-59c2-48ea-aacb-7d0ed1cd75561.gif)
数学建模案例分析
线性代数建模案例汇编
法正系,思想政治教育13-1
汗克孜·亚森
2015年6月
这里收集了二十个容易理解的案例.和各类数学建模竞赛的题目相比,这些案例确实显得过于简单.但如果学生能通过这些案例加深对线性代数基本概念、理论和方法的理解,培养数学建模的意识,那么我们初步的目的也就达到了.
案例一.交通网络流量分析问题
城市道路网中每条道路、每个交叉路口的车流量调查,是分析、评价及改善城市交通状况的基础。
根据实际车流量信息可以设计流量控制方案,必要时设置单行线,以免大量车辆长时间拥堵。
图1某地交通实况
图2某城市单行线示意图
【模型准备】某城市单行线如下图所示,其中的数字表示该路段每小时按箭头方向行驶的车流量(单位:
辆).
图3某城市单行线车流量
(1)建立确定每条道路流量的线性方程组.
(2)为了唯一确定未知流量,还需要增添哪几条道路的流量统计?
(3)当x4=350时,确定x1,x2,x3的值.
(4)若x4=200,则单行线应该如何改动才合理?
【模型假设】
(1)每条道路都是单行线.
(2)每个交叉路口进入和离开的车辆数目相等.
【模型建立】根据图3和上述假设,在
四个路口进出车辆数目分别满足
500=x1+x2
400+x1=x4+300
x2+x3=100+200
x4=x3+300
【模型求解】根据上述等式可得如下线性方程组
其增广矩阵
(A,b)=
由此可得
即
.
为了唯一确定未知流量,只要增添x4统计的值即可.
当x4=350时,确定x1=250,x2=250,x3=50.
若x4=200,则x1=100,x2=400,x3=100<0.这表明单行线“
”应该改为“
”才合理.
【模型分析】
(1)由(A,b)的行最简形可见,上述方程组中的最后一个方程是多余的.这意味着最后一个方程中的数据“300”可以不用统计.
(2)由
可得
这就是说x1,x2,x3,x4这四个未知量中,任意一个未知量的值统计出来之后都可以确定出其他三个未知量的值.
参考文献
陈怀琛,高淑萍,杨威,工程线性代数,北京:
电子工业出版社,2007.页码:
16-17.
Matlab实验题
某城市有下图所示的交通图,每条道路都是单行线,需要调查每条道路每小时的车流量.图中的数字表示该条路段的车流数.如果每个交叉路口进入和离开的车数相等,整个图中进入和离开的车数相等.
图4某城市单行线车流量
(1)建立确定每条道路流量的线性方程组.
(2)分析哪些流量数据是多余的.
(3)为了唯一确定未知流量,需要增添哪几条道路的流量统计.
案例二.配方问题
在化工、医药、日常膳食等方面都经常涉及到配方问题.在不考虑各种成分之间可能发生某些化学反应时,配方问题可以用向量和线性方程组来建模.
图5日常膳食搭配图6几种常见的作料
【模型准备】一种佐料由四种原料A、B、C、D混合而成.这种佐料现有两种规格,这两种规格的佐料中,四种原料的比例分别为2:
3:
1:
1和1:
2:
1:
2.现在需要四种原料的比例为4:
7:
3:
5的第三种规格的佐料.问:
第三种规格的佐料能否由前两种规格的佐料按一定比例配制而成?
【模型假设】
(1)假设四种原料混合在一起时不发生化学变化.
(2)假设四种原料的比例是按重量计算的.(3)假设前两种规格的佐料分装成袋,比如说第一种规格的佐料每袋净重7克(其中A、B、C、D四种原料分别为2克,3克,1克,1克),第二种规格的佐料每袋净重6克(其中A、B、C、D四种原料分别为1克,2克,1克,2克).
【模型建立】根据已知数据和上述假设,可以进一步假设将x袋第一种规格的佐料与y袋第二种规格的佐料混合在一起,得到的混合物中A、B、C、D四种原料分别为4克,7克,3克,5克,则有以下线性方程组
【模型求解】上述线性方程组的增广矩阵
(A,b)=
可见
又因为第一种规格的佐料每袋净重7克,第二种规格的佐料每袋净重6克,所以第三种规格的佐料能由前两种规格的佐料按7:
12的比例配制而成.
【模型分析】
(1)若令1=(2,3,1,1)T,2=(1,2,1,1)T,=(4,7,5,3)T,则原问题等价于“线性方程组Ax=b是否有解”,也等价于“能否由1,2线性表示”.
(2)若四种原料的比例是按体积计算的,则还要考虑混合前后体积的关系(未必是简单的叠加),因而最好还是先根据具体情况将体积比转换为重量比,然后再按上述方法处理.
(3)上面的模型假设中的第三个假设只是起到简化运算的作用.如果直接设x克第一种规格的佐料与y克第二种规格的佐料混合得第三种规格的佐料,则有下表
表1混合后四种原料的含量
原料
佐料规格
A
B
C
D
第一种
x
x
x
x
第二种
y
y
y
y
第三种
(x+y)
(x+y)
(x+y)
(x+y)
因而有如下线性方程组
()
【模型检验】把x=7,y=12代入上述方程组(),则各等式都成立.可见模型假设中的第三个假设不影响解的正确性.
Matlab实验题
蛋白质、碳水化合物和脂肪是人体每日必须的三种营养,但过量的脂肪摄入不利于健康.人们可以通过适量的运动来消耗多余的脂肪.设三种食物(脱脂牛奶、大豆面粉、乳清)每100克中蛋白质、碳水化合物和脂肪的含量以及慢跑5分钟消耗蛋白质、碳水化合物和脂肪的量如下表.
表2三种食物的营养成分和慢跑的消耗情况
营养
每100克食物所含营养(克)
慢跑5分钟消耗量(克)
每日需要的营养量(克)
牛奶
大豆面粉
乳清
蛋白质
36
51
13
10
33
碳水化合物
52
34
74
20
45
脂肪
10
7
1
15
3
问怎样安排饮食和运动才能实现每日的营养需求?
案例三.投入产出问题
在研究多个经济部门之间的投入产出关系时,W.Leontief提出了投入产出模型.这为经济学研究提供了强有力的手段.W.Leontief因此获得了1973年的Nobel经济学奖.
图7三个经济部门
这里暂时只讨论一个简单的情形.
【模型准备】某地有一座煤矿,一个发电厂和一条铁路.经成本核算,每生产价值1元钱的煤需消耗0.3元的电;为了把这1元钱的煤运出去需花费0.2元的运费;每生产1元的电需0.6元的煤作燃料;为了运行电厂的辅助设备需消耗本身0.1元的电,还需要花费0.1元的运费;作为铁路局,每提供1元运费的运输需消耗0.5元的煤,辅助设备要消耗0.1元的电.现煤矿接到外地6万元煤的订货,电厂有10万元电的外地需求,问:
煤矿和电厂各生产多少才能满足需求?
【模型假设】假设不考虑价格变动等其他因素.
【模型建立】设煤矿,电厂,铁路分别产出x元,y元,z元刚好满足需求.则有下表
表3消耗与产出情况
产出(1元)
产出
消耗
订单
煤
电
运
消耗
煤
0
0.6
0.5
x
0.6y+0.5z
60000
电
0.3
0.1
0.1
y
0.3x+0.1y+0.1z
100000
运
0.2
0.1
0
z
0.2x+0.1y
0
根据需求,应该有
即
【模型求解】在Matlab命令窗口输入以下命令
>>A=[1,-0.6,-0.5;-0.3,0.9,-0.1;-0.2,-0.1,1];b=[60000;100000;0];
>>x=A\b
Matlab执行后得
x=
1.0e+005*
1.9966
1.8415
0.5835
可见煤矿要生产1.9966105元的煤,电厂要生产1.8415105元的电恰好满足需求.
【模型分析】令x=
A=
b=
其中x称为总产值列向量,A称为消耗系数矩阵,b称为最终产品向量,则
Ax=
=
根据需求,应该有xAx=b,即(EA)x=b.故x=(EA)1b.
Matlab实验题
某乡镇有甲、乙、丙三个企业.甲企业每生产1元的产品要消耗0.25元乙企业的产品和0.25元丙企业的产品.乙企业每生产1元的产品要消耗0.65元甲企业的产品,0.05元自产的产品和0.05元丙企业的产品.丙企业每生产1元的产品要消耗0.5元甲企业的产品和0.1元乙企业的产品.在一个生产周期内,甲、乙、丙三个企业生产的产品价值分别为100万元,120万元,60万元,同时各自的固定资产折旧分别为20万元,5万元和5万元.
(1)求一个生产周期内这三个企业扣除消耗和折旧后的新创价值.
(2)如果这三个企业接到外来订单分别为50万元,60万元,40万元,那么他们各生产多少才能满足需求?
案例四.平板的稳态温度分布问题
在热传导的研究中,一个重要的问题是确定一块平板的稳态温度分布.根据…定律,只要测定一块矩形平板四周的温度就可以确定平板上各点的温度.
图8一块平板的温度分布图
【模型准备】如图9所示的平板代表一条金属梁的截面.已知四周8个节点处的温度(单位°C),求中间4个点处的温度T1,T2,T3,T4.
图9一块平板的温度分布图
【模型假设】假设忽略垂直于该截面方向上的热传导,并且每个节点的温度等于与它相邻的四个节点温度的平均值.
【模型建立】根据已知条件和上述假设,有如下线性方程组
【模型求解】将上述线性方程组整理得
.
在Matlab命令窗口输入以下命令
>>A=[4,-1,-1,0;-1,4,0,-1;-1,0,4,-1;0,-1,-1,4];b=[190;140;140;100];
>>x=A\b;x’
Matlab执行后得
ans=
82.916770.833370.833360.4167
可见T1=82.9167,T2=70.8333,T3=70.8333,T4=60.4167.
参考文献
陈怀琛,高淑萍,杨威,工程线性代数,北京:
电子工业出版社,2007.页码:
15-16.
Matlab实验题
假定下图中的平板代表一条金属梁的截面,并忽略垂直于该截面方向上的热传导.已知平板内部有30个节点,每个节点的温度近似等于与它相邻的四个节点温度的平均值.设4条边界上的温度分别等于每位同学学号的后四位的5倍,例如学号为16308209的同学计算本题时,选择Tl=40,Tu=10,Tr=0,Td=45.
图10一块平板的温度分布图
(1)建立可以确定平板内节点温度的线性方程组.
(2)用Matlab软件求解该线性方程组.
(3)用Matlab中的函数mesh绘制三维平板温度分布图.
案例五.CT图像的代数重建问题
X射线透视可以得到3维对象在2维平面上的投影,CT则通过不同角度的X射线得到3维对象的多个2维投影,并以此重建对象内部的3维图像.代数重建方法就是从这些2维投影出发,通过求解超定线性方程组,获得对象内部3维图像的方法.
图11双层螺旋CT图12CT图像
这里我们考虑一个更简单的模型,从2维图像的1维投影重建原先的2维图像.一个长方形图像可以用一个横竖均匀划分的离散网格来覆盖,每个网格对应一个像素,它是该网格上各点像素的均值.这样一个图像就可以用一个矩阵表示,其元素就是图像在一点的灰度值(黑白图像).下面我们以33图像为例来说明.
表4消耗与产出情况
33图像
各点的灰度值
水平方向上
的叠加值
x1=1
x2=0
x3=0
x1+x2+x3=1
x4=0
x5=0.5
x6=0.5
x4+x5+x6=1
x7=0.5
x8=0
x9=1
x7+x8+x9=1.5
竖直方向上的叠加值
x1+x4+x7
=1.5
x2+x5+x8
=0.5
x3+x6+x9
=1.5
每个网格中的数字xi代表其灰度值,范围在[0,1]内.0表示白色,1表示黑色,0.5表示灰色.如果我们不知道网格中的数值,只知道沿竖直方向和水平方向的叠加值,为了确定网格中的灰度值,可以建立线性方程组(含有6个方程,9个未知数)
显然该方程组的解是不唯一的,为了重建图像,必须增加叠加值.如我们增加从右上方到左下方的叠加值,则方程组将增加5个方程
x1=1,
x2+x4=0,
x3+x5+x7=1,
x6+x8=0.5,
x9=1,
和上面的6个方程放在一起构成一个含有11个方程,9个未知数的线性方程组.
【模型准备】设33图像中第一行3个点的灰度值依次为x1,x2,x3,第二行3个点的灰度值依次为x4,x5,x6,第三行3个点的灰度值依次为x7,x8,x9.沿竖直方向的叠加值依次为1.5,0.5,1.5,沿水平方向的叠加值依次为1,1,1.5,沿右上方到左下方的叠加值依次为1,0,1,0.5,1.确定x1,x2,…,x9的值.
【模型建立】由已知条件可得(含有11个方程,9个未知数的)线性方程组
【模型求解】在Matlab命令窗口输入以下命令
>>A=[1,1,1,0,0,0,0,0,0;0,0,0,1,1,1,0,0,0;0,0,0,0,0,0,1,1,1;
1,0,0,1,0,0,1,0,0;0,1,0,0,1,0,0,1,0;0,0,1,0,0,1,0,0,1;
1,0,0,0,0,0,0,0,0;0,1,0,1,0,0,0,0,0;0,0,1,0,1,0,1,0,0;
0,0,0,0,0,1,0,1,0;0,0,0,0,0,0,0,0,1];
>>b=[1;1;1.5;1.5;0.5;1.5;1;0;1;0.5;1];
>>x=A\b;x’
Matlab执行后得
Warning:
Rankdeficient,rank=8tol=4.2305e-015.
ans=
1.00000.00000-0.00000.50000.50000.5000-0.00001.0000
可见上述方程组的解不唯一.其中的一个特解为
x1=1,x2=0,x3=0,x4=0,x5=0.5,x6=0.5,x7=0.5,x8=0,x9=1.
【模型分析】上述结果表明,仅有三个方向上的叠加值还不够.可以再增加从左上方到右下方的叠加值.在实际情况下,由于测量误差,上述线性方程组可能是超定的.这时可以将超定方程组的近似解作为重建的图像数据.
Matlab实验题
给定一个33图像的2个方向上的灰度叠加值:
沿左上方到右下方的灰度叠加值依次为0.8,1.2,1.7,0.2,0.3;沿右上方到左下方的灰度叠加值依次为0.6,0.2,1.6,1.2,0.6.
(1)建立可以确定网格数据的线性方程组,并用Matlab求解.
(2)将网格数据乘以256,再取整,用Matlab绘制该灰度图像.
案例六.平衡结构的梁受力计算
在桥梁、房顶、铁塔等建筑结构中,涉及到各种各样的梁.对这些梁进行受力分析是设计师、工程师经常做的事情.
图13埃菲尔铁塔全景图14埃菲尔铁塔局部
下面以双杆系统的受力分析为例,说明如何研究梁上各铰接点处的受力情况.
【模型准备】在图15所示的双杆系统中,已知杆1重G1=200牛顿,长L1=2米,与水平方向的夹角为1=/6,杆2重G2=100牛顿,长L2=
米,与水平方向的夹角为2=/4.三个铰接点A,B,C所在平面垂直于水平面.求杆1,杆2在铰接点处所受到的力.
图15双杆系统
【模型假设】假设两杆都是均匀的.在铰接点处的受力情况如图16所示.
【模型建立】对于杆1:
水平方向受到的合力为零,故N1=N3,
竖直方向受到的合力为零,故N2+N4=G1,
以点A为支点的合力矩为零,故(L1sin1)N3+(L1cos1)N4=(
L1cos1)G1.
图16两杆受力情况
对于杆2类似地有
N5=N7,N6=N8+G2,(L2sin2)N7=(L2cos2)N8+(
L2cos2)G2.
此外还有N3=N7,N4=N8.于是将上述8个等式联立起来得到关于N1,N2,…,N8的线性方程组:
【模型求解】在Matlab命令窗口输入以下命令
>>G1=200;L1=2;theta1=pi/6;G2=100;L2=sqrt
(2);theta2=pi/4;
>>A=[1,0,-1,0,0,0,0,0;0,1,0,1,0,0,0,0;
0,0,L1*sin(theta1),L1*cos(theta1),0,0,0,0;0,0,0,0,1,0,-1,0;
0,0,0,0,0,1,0,-1;0,0,0,0,0,0,L2*sin(theta2),-L2*cos(theta2);
0,0,1,0,0,0,-1,0;0,0,0,1,0,0,0,-1];
>>b=[0;G1;0.5*L1*cos(theta1)*G1;0;G2;0.5*L2*cos(theta2)*G2;0;0];
>>x=A\b;x’
Matlab执行后得
ans=
95.0962154.903895.096245.096295.0962145.096295.096245.0962
【模型分析】最后的结果没有出现负值,说明图16中假设的各个力的方向与事实一致.如果结果中出现负值,则说明该力的方向与假设的方向相反.
参考文献
陈怀琛,高淑萍,杨威,工程线性代数,北京:
电子工业出版社,2007.页码:
157-158.
Matlab实验题
有一个平面结构如下所示,有13条梁(图中标号的线段)和8个铰接点(图中标号的圈)联结在一起.其中1号铰接点完全固定,8号铰接点竖直方向固定,并在2号,5号和6号铰接点上,分别有图示的10吨,15吨和20吨的负载.在静平衡的条件下,任何一个铰接点上水平和竖直方向受力都是平衡的.已知每条斜梁的角度都是45º.
(1)列出由各铰接点处受力平衡方程构成的线性方程组.
(2)用Matlab软件求解该线性方程组,确定每条梁受力情况.
图17一个平面结构的梁
案例七.化学方程式配平问题
在用化学方法处理污水过程中,有时会涉及到复杂的化学反应.这些反应的化学方程式是分析计算和工艺设计的重要依据.在定性地检测出反应物和生成物之后,可以通过求解线性方程组配平化学方程式.
图18污水处理
【模型准备】某厂废水中含KCN,其浓度为650mg/L.现用氯氧化法处理,发生如下反应:
KCN+2KOH+Cl2=KOCN+2KCl+H2O.
投入过量液氯,可将氰酸盐进一步氧化为氮气.请配平下列化学方程式:
KOCN+KOH+Cl2===CO2+N2+KCl+H2O.
(注:
题目摘自福建省厦门外国语学校2008-2009学年高三第三次月考化学试卷)
【模型建立】设
x1KOCN+x2KOH+x3Cl2===x4CO2+x5N2+x6KCl+x7H2O,
则
即
【模型求解】在Matlab命令窗口输入以下命令
>>A=[1,1,0,0,0,-1,0;1,1,0,-2,0,0,-1;1,0,0,-1,0,0,0;
1,0,0,0,-2,0,0;0,1,0,0,0,0,-2;0,0,2,0,0,-1,0];
>>x=null(A,’r’);formatrat,x’
Matlab执行后得
ans=
123/211/231
可见上述齐次线性方程组的通解为
x=k(1,2,3/2,1,1/2,3,1)T.
取k=2得x=(2,4,3,2,1,6,2)T.可见配平后的化学方程式如下
2KOCN+4KOH+3Cl2===2CO2+N2+6KCl+2H2O.
【模型分析】利用线性方程组配平化学方程式是一种待定系数法.关键是根据化学方程式两边所涉及到的各种元素的量相等的原则列出方程.所得到的齐次线性方程组Ax=中所含方程的个数等于化学方程式中元素的种数s,未知数的个数就是化学方程式中的项数n.
当r(A)=n1时,Ax=的基础解系中含有1个(线性无关的)解向量.这时在通解中取常数k为各分量分母的最小公倍数即可.例如本例中
1,2,3/2,1,1/2,3,1
分母的最小公倍数为2,故取k=2.
当r(A)n2时,Ax=的基础解系中含有2个以上的线性无关的解向量.这时可以根据化学方程式中元素的化合价的上升与下降的情况,在原线性方程组中添加新的方程.
参考文献
陈怀琛,高淑萍,杨威,工程线性代数,北京:
电子工业出版社,2007.页码:
84-85.
Matlab实验题
配平下列反应式
(1)FeS+KMnO4+H2SO4——K2SO4+MnSO4+Fe2(SO4)3+H2O+S↓
(2)Al2(SO4)3+Na2CO3+H2O——Al(OH)3↓+CO2↑+Na2SO4
案例八.互付工资问题
互付工资问题是多方合作相互提供劳动过程中产生的.比如农忙季节,多户农民组成互助组,共同完成各户的耕、种、收等农活.又如木工,电工,油漆工等组成互助组,共同完成各家的装潢工作.由于不同工种的劳动量有所不同,为了均衡各方的利益,就要计算互付工资的标准.
图19农忙互助图20装修互助
【模型准备】现有一个木工,电工,油漆工.相互装修他们的房子,他们有如下协议:
(1)每人工作10天(包括在自己家的日子),
(2)每人的