数学建模案例分析--线性代数建模案例(20例) 下载本文

内容发布更新时间 : 2024/5/22 5:39:13星期一 下面是文章的全部内容请认真阅读。

案例六. 平衡结构的梁受力计算

在桥梁、房顶、铁塔等建筑结构中, 涉及到各种各样的梁. 对这些梁进行受力分析是设计师、工程师经常做的事情.

图14 埃菲尔铁塔局部

下面以双杆系统的受力分析为例, 说明如何研究梁上各铰接点处的受力情况. 【模型准备】在图15所示的双杆系统中, 已知杆1重G1 = 200牛顿, 长L1 = 2米, 与水平方向的夹角为?1 = ?/6, 杆2重G2 = 100牛顿, 长L2 = 2米, 与水平方向的夹角为?2 = ?/4. 三个铰接点A, B, C所在平面垂直于水平面. 求杆1, 杆2在铰接点处所受到的力.

C 杆1 A 杆2 ?/6 ?/4 B

图15双杆系统

【模型假设】假设两杆都是均匀的. 在铰接点处的受力情况如图16所示. 【模型建立】对于杆1:

水平方向受到的合力为零, 故N1 = N3,

竖直方向受到的合力为零, 故N2 + N4 = G1,

1以点A为支点的合力矩为零, 故(L1sin?1)N3 + (L1cos?1)N4 = (L1cos?1)G1.

2N4 N3 N2 A 杆1 N1 G1 图16 两杆受力情况

对于杆2类似地有

1N5 = N7, N6 = N8 + G2, (L2sin?2)N7 = (L2cos?2)N8 + (L2cos?2)G2.

2

10

C C N8 N7 杆2 G2 N5 N6 B

此外还有N3 = N7, N4 = N8. 于是将上述8个等式联立起来得到关于N1, N2, …, N8的线性方程组:

?N1?N3?0?N?N?G?241 ????N4?N8?0【模型求解】在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.0962 154.9038 95.0962 45.0962 95.0962 145.0962 95.0962 45.0962

【模型分析】最后的结果没有出现负值, 说明图16中假设的各个力的方向与事实一致. 如果结果中出现负值, 则说明该力的方向与假设的方向相反.

参考文献

陈怀琛, 高淑萍, 杨威, 工程线性代数, 北京: 电子工业出版社, 2007. 页码: 157- 158.

Matlab实验题

有一个平面结构如下所示, 有13条梁(图中标号的线段)和8个铰接点(图中标号的圈)联结在一起. 其中1号铰接点完全固定, 8号铰接点竖直方向固定, 并在2号, 5号和6号铰接点上, 分别有图示的10吨, 15吨和20吨的负载. 在静平衡的条件下,任何一个铰接点上水平和竖直方向受力都是平衡的. 已知每条斜梁的角度都是45o.

(1) 列出由各铰接点处受力平衡方程构成的线性方程组. (2) 用Matlab软件求解该线性方程组, 确定每条梁受力情况.

图17 一个平面结构的梁

11

案例七. 化学方程式配平问题

在用化学方法处理污水过程中, 有时会涉及到复杂的化学反应. 这些反应的化学方程式是分析计算和工艺设计的重要依据. 在定性地检测出反应物和生成物之后,可以通过求解线性方程组配平化学方程式.

【模型准备】某厂废水中含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, 则

?x1?x2?x6?x1?x2?x6?0?x?x?2x?x?x?x?2x?x?04747?12?12???x1?x4?x1?x4?0, 即? ?x?2xx?2x?055?1?1?x2?2x7?x2?2x7?0?????2x3?x6?2x3?x6?0【模型求解】在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’); format rat, x’

Matlab执行后得 ans =

1 2 3/2 1 1/2 3 1 可见上述齐次线性方程组的通解为

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) = n ?1时, Ax = ?的基础解系中含有1个(线性无关的)解向量. 这时在通解中取常数k为各分量分母的最小公倍数即可. 例如本例中

1, 2, 3/2, 1, 1/2, 3, 1

分母的最小公倍数为2, 故取k = 2.

当r(A) ? n ?2时, Ax = ?的基础解系中含有2个以上的线性无关的解向量. 这时

12

可以根据化学方程式中元素的化合价的上升与下降的情况, 在原线性方程组中添加新的方程.

Matlab实验题

配平下列反应式

(1) FeS + KMnO4 + H2SO4 —— K2SO4 + MnSO4 + Fe2(SO4)3 + H2O + S↓ (2) Al2(SO4)3 + Na2CO3 + H2O —— Al(OH)3↓+ CO2↑+ Na2SO4

案例八. 互付工资问题

互付工资问题是多方合作相互提供劳动过程中产生的. 比如农忙季节, 多户农民组成互助组, 共同完成各户的耕、种、收等农活. 又如木工, 电工, 油漆工等组成互助组, 共同完成各家的装潢工作. 由于不同工种的劳动量有所不同, 为了均衡各方的利益, 就要计算互付工资的标准.

【模型准备】现有一个木工, 电工, 油漆工. 相互装修他们的房子, 他们有如下协议:

(1) 每人工作10天(包括在自己家的日子), (2) 每人的日工资一般的市价在60~80元之间, (3) 日工资数应使每人的总收入和总支出相等.

表5 工作天数 工人木工 电工 在谁家2 1 木工家 4 5 电工家 4 4 油漆工家 油漆工 6 1 3 求每人的日工资. 【模型假设】假设每人每天工作时间长度相同. 无论谁在谁家干活都按正常情况工作, 既不偷懒, 也不加班.

【模型建立】设木工, 电工, 油漆工的日工资分别为x, y, z元, 则由下表

表6 各家应付工资和各人应得收入 工人木工 电工 油漆工 各家应付工资 在谁家2x 1y 6z 2x + y + 6z 木工家 4x 5y 1z 4x + 5y + z 电工家 4x 4y 3z 4x + 4y + 3z 油漆工家 10x 10y 10z 各人应得收入 可得 ??8x?y?6z?0?2x?y?6z?10x??4x?5y?z?10y, 即?4x?5y?z?0 ????4x?4y?7z?0?4x?4y?3z?10z【模型求解】在Matlab命令窗口输入以下命令

>> A = [-8,1,6;4,-5,1;4,4,-7]; >> x = null(A,’r’); format rat, x’

13

Matlab执行后得

ans =

31/36 8/9 1

可见上述齐次线性方程组的通解为x = k(31/36, 8/9, 1)T. 因而根据“每人的日工资一般的市价在60~80元之间”可知

821603160 ?k

931368216031也就是说, 木工, 电工, 油漆工的日工资分别为k元, k元, k元, 其中?

93136k ? 80.

为了简便起见, 可取k = 72, 于是木工, 电工, 油漆工的日工资分别为62元, 64元, 72元.

【模型分析】事实上各人都不必付自己工资, 这时各家应付工资和各人应得收入如下

表7 各家应付工资和各人应得收入 在谁家木工家 电工家 油漆工家 个人应得收入 由此可得 ?y?6z?8x??8x?y?6z?0???4x?z?5y, 即?4x?5y?z?0 ???4x?4y?7z?4x?4y?7z?0可见这样得到的方程组与前面得到的方程组是一样的.

工人 木工 0 4x 4x 8x 电工 1y 0 4y 5y 油漆工 6z 1z 0 7z 各家应付工资 y + 6z 4x + z 4x + 4y Matlab实验题

甲, 乙, 丙三个农民组成互助组, 每人工作6天(包括为自己家干活的天数), 刚好完成他们三人家的农活, 其中甲在甲, 乙, 丙三家干活的天数依次为: 2, 2.5, 1.5; 乙在甲, 乙, 丙三家各干2天活, 丙在甲, 乙, 丙三家干活的天数依次为: 1.5, 2, 2.5. 根据三人干活的种类, 速度和时间, 他们确定三人不必相互支付工资刚好公平. 随后三人又合作到邻村帮忙干了2天(各人干活的种类和强度不变), 共获得工资500元.

问他们应该怎样分配这500元工资才合理?

案例九. 平衡价格问题

为了协调多个相互依存的行业的平衡发展, 有关部门需要根据每个行业的产出在各个行业中的分配情况确定每个行业产品的指导价格, 使得每个行业的投入与产出都大致相等.

【模型准备】假设一个经济系统由煤炭、电力、钢铁行业组成, 每个行业的产出在各个行业中的分配如下表所示:

14