建立数学建模案例分析
数学建模竞赛案例分析

数学建模竞赛案例分析数学建模竞赛是一项旨在培养学生创新思维、动手能力和团队合作精神的活动。
参与竞赛的学生需要运用数学理论和方法解决实际问题,并通过建立模型、分析数据和验证结果等步骤,最终得出科学可行的结论。
本文将从一个具体的数学建模竞赛案例出发,进行深入分析。
案例介绍该案例是关于城市交通流量优化的问题。
某城市的交通拥堵问题日益严重,市政府决定通过优化交通信号灯的配时方案来减轻拥堵程度。
但是,在使用传统方式设置配时方案时,往往难以真实反映实际交通状况,造成传统方式不够准确和高效的问题。
因此,这个案例要求参赛队伍通过建模分析,给出一种更科学、更精确的交通信号灯优化方案。
建模分析团队成员首先分析了交通拥堵问题的原因,确定了车流量和信号灯配时之间的关系。
然后,他们在分析的基础上建立了一个数学模型,将交通信号灯的配时问题转化为优化问题。
针对所建模型,他们设计了相应的算法,并利用计算机进行模拟实验。
结果验证为了验证模型的准确性和有效性,他们选择了某主干道进行实地测试。
对于测试数据的采集,他们设计了专门的采样方案并进行了多次采样。
通过对数据的统计分析,他们得出了不同交通流量下的最优配时方案,并与之前的传统方案进行了对比。
结果表明,他们提出的优化方案在减轻拥堵程度、提高道路通行效率方面效果明显,证明了所建模型的准确性和可行性。
问题讨论在结果验证过程中,团队成员对模型的局限性和可扩展性进行了深入讨论。
他们提出了一些可能改进的方案,如增加交通流量的动态性、考虑多种车辆类型等。
同时,他们还针对模型的实用性进行了讨论,提出了一些具体的应用建议。
同时,他们也意识到建模过程中的一些假设和限制条件,比如忽略行人的影响等,需要在实际应用中进行进一步研究。
结论通过这个案例的分析,团队成员不仅提高了数学建模的能力,还学会了如何团队合作和实际应用建模成果。
同时,他们也发现了数学建模在实际问题解决中的潜力和局限性。
这个案例为他们提供了一个宝贵的学习机会,使他们的数学建模水平得到全面提升。
初中数学建模案例

初中数学建模案例数学建模案例:城市交通拥堵问题的优化摘要:城市交通拥堵是大城市所面临的普遍问题,本案例将通过建立数学模型对城市交通拥堵问题进行优化分析,以求解最佳车辆通行路线,提高交通运行效率。
通过引入实时的交通流数据,通过数学建模和优化算法,对现有的交通流模型进行改进。
1.引言城市交通拥堵严重影响到居民的出行效率和生活质量,同时还造成大量的汽车尾气排放,给环境带来巨大的负面影响。
因此,对城市交通拥堵问题进行优化分析,以提高交通运行效率和减少交通污染,具有重要的现实意义。
2.问题建模2.1基本假设我们对城市交通拥堵问题进行以下基本假设:1)假设城市交通网络是一个有向图,交叉口为节点,道路为边。
2)假设车辆的行驶速度在不同道路上是相同的。
3)假设车辆在交叉口处按照指定的交通规则进行行驶。
4)假设车辆的目的地是已知的。
2.2确定目标我们的目标是通过优化交通流模型,使得车辆在城市交通网络中的行驶时间最短。
2.3建立数学模型我们将采用最短路径算法求解车辆行驶的最佳路径。
首先,我们需要对城市交通网络进行建模。
假设城市交通网络中交叉口数量为N,那么可以用一个N×N的矩阵A来表示交通网络的连通关系,其中A[i][j]表示从节点i到节点j的道路长度。
如果节点i和节点j之间不存在直接的道路连接,则取A[i][j]为无穷大。
然后,我们可以采用Dijkstra算法来求解最短路径。
Dijkstra算法是一种贪心算法,它通过不断更新起点到所有其他节点的最短路径长度,从而找到起点到终点的最短路径。
具体步骤如下:1)初始化起点到所有其他节点的最短路径长度为无穷大。
2)将起点到起点的最短路径长度设为0。
3)将起点标记为已访问。
4)对于起点直接相连的节点,更新起点到这些节点的最短路径长度。
5)选择一个未访问的节点中最短路径长度最小的节点,将其标记为已访问。
6)更新这个节点直接相连的节点的最短路径长度。
7)重复步骤5和步骤6,直到所有节点都被标记为已访问。
数学建模经典案例分析以葡萄酒质量评价为例

数学建模经典案例分析以葡萄酒质量评价为例一、本文概述本文旨在通过深入剖析数学建模在葡萄酒质量评价中的应用,展示数学建模的经典案例。
我们将首先简要介绍数学建模的基本概念及其在各个领域的应用,然后聚焦葡萄酒质量评价这一具体问题,阐述如何通过数学建模对其进行科学、客观的分析。
文章将详细分析数据的收集与处理、模型的建立与求解、模型的验证与优化等关键环节,并探讨不同数学模型在葡萄酒质量评价中的优缺点。
我们将总结数学建模在葡萄酒质量评价中的实际应用效果,展望其在未来葡萄酒产业中的发展前景。
通过阅读本文,读者将能够了解数学建模在葡萄酒质量评价中的重要作用,掌握相关数学建模方法和技术,为类似问题的解决提供有益的参考和借鉴。
本文也将促进数学建模在葡萄酒产业中的应用与发展,推动葡萄酒产业的科技进步和产业升级。
二、数学建模基础数学建模是一种将实际问题抽象化、量化的过程,通过数学工具和方法来求解问题的近似解。
在葡萄酒质量评价这一案例中,数学建模提供了从复杂的实际生产环境中提取关键信息,并建立预测模型的可能。
这需要我们具备一定的数学基础,如统计学、线性代数、微积分等,同时也需要理解并掌握数据处理的基本技术,如数据清洗、特征提取和选择等。
在葡萄酒质量评价问题中,我们首先需要收集大量的葡萄酒样本数据,这些数据可能包括葡萄品种、产地、气候、土壤、酿造工艺、化学成分等多个方面的信息。
然后,我们需要对这些数据进行预处理,如去除缺失值、异常值,进行数据标准化等,以提高模型的稳定性和准确性。
接下来,我们可以选择适合的模型进行训练。
在这个案例中,我们可以选择线性回归、决策树、随机森林、神经网络等模型进行尝试。
我们需要根据数据的特性和问题的需求,选择最合适的模型。
同时,我们还需要进行模型的训练和验证,通过调整模型的参数,提高模型的预测能力。
我们需要对模型进行评估和优化。
这可以通过交叉验证、ROC曲线、AUC值等评估指标来进行。
如果模型的预测能力不足,我们需要对模型进行优化,如改进模型的结构、增加更多的特征等。
数学建模 第四篇 典型案例分析

0
5
10
15
20
25
32 30 28 26 24 22 20 18
n=(5,6)的拟合流量曲线
16 14
0
5
10
15
20
25
§2.6 计算结果
各时段和一天总用水量 及两个供水时段水泵的功率
(n1,n2) y1 (3,4)
(5,6)
y2
y12
y3
y 1263.4
1252.5
p1
p2
146.18 258.10 48.50 78.50
§2
§2.1 问题的提出
水塔流量估计
圆柱形水塔 :高12.2、直径17.4米
水位降至约8.2米升到约10.8米时,水泵工作.
水泵每天供水一两次,每次约两小时.
已知一天水位测量记录. 估计任何时刻流水量、一天总用水量.
时刻(h) 水位(cm) 时刻(h) 水位(cm) 时刻(h) 水位(cm) 0 0.92 1.84 2.95 3.87 4.98 5.90 7.01 7.93 8.97 968 948 931 913 898 881 869 852 839 822 9.98 10.92 10.95 12.03 12.95 13.88 14.98 15.90 16.83 // // 1082 1050 1021 994 965 941 918 17.93 19.04 19.96 20.84 22.014 22.96 23.88 24.99 25.91 892 866 843 822 // // 1059 1035 1018
§1.2
问题的分析
球心偏前
0 △x D
d
0 D
d
数学案例分析报告范文6篇

数学案例分析报告范文6篇篇一:利用数学建模分析消费者行为在本篇案例中,我们将利用数学建模的方法分析消费者在特定市场环境下的购买行为。
通过收集大量的数据,并运用数学模型对这些数据进行分析,我们可以找出消费者的偏好、购买意向以及其他相关因素,从而帮助企业更好地制定营销策略。
篇二:基于数学模型的财务风险评估本文将以一个实际的财务风险案例为例,探讨如何通过建立数学模型对公司的财务状况进行评估,并提出相应的预警措施。
借助数学的工具和方法,我们可以更准确地分析公司的财务数据,并给出科学的建议,以降低财务风险。
篇三:数学模型在供应链管理中的应用本文将介绍数学模型在供应链管理中的应用。
通过对供应链各环节的数据分析,建立数学模型,我们可以优化供应链的运作效率,降低运营成本,并实现更好的供应链规划和管理。
篇四:利用数学建模分析社会网络结构在这篇案例中,我们将利用数学建模方法分析社会网络的结构,探讨不同个体之间的关系、影响力和传播效应。
通过建立数学模型,我们可以更好地理解社会网络的特点,为社会研究提供新的视角。
篇五:基于数据分析的股市预测模型本文将介绍一个基于数据分析的股市预测模型案例。
通过对历史股市数据的分析和建模,我们可以预测股市未来的走势,帮助投资者做出更明智的投资决策。
数学模型的应用将使股市预测更加科学和可靠。
篇六:数学模型在医学诊断中的应用最后一篇案例将介绍数学模型在医学诊断中的应用。
通过分析患者的医疗数据和病情,建立数学模型可以辅助医生做出更准确的诊断和治疗方案,提高医疗效率,帮助患者早日康复。
以上就是六个数学案例分析报告范文,通过这些案例的介绍,我们可以看到数学在各个领域的应用,为问题的解决提供了新的思路和方法。
愿本文对您有所启发和帮助。
常微分方程数学建模案例分析

常微分方程数学建模案例分析常微分方程是运用微积分中的概念与理论研究变化率的方程。
它是数学建模中常用的方法之一,可用于描述各种实际问题,如经济增长、生物扩散、化学反应等。
本文将通过一个关于人群传染病的数学建模案例,分析常微分方程在实际问题中的应用。
假设地有一种传染病,病毒的传播速度与感染者的接触频率有关。
现在我们要研究传染病的传播速度以及控制措施对传染病传播的影响。
为此,我们可以建立如下的数学模型:设N(t)表示时间t时刻的总人口数,而I(t)表示感染者的人口数,S(t)表示易感者的人口数。
根据该模型,易感者的人数随时间的变化率可表示为:dS/dt = -βSI其中,β表示感染率,即感染者每接触到一个易感者,会使其发病的概率。
感染者的人数随时间的变化率可表示为:dI/dt = βSI - γI其中,γ表示恢复率,即感染者每天被治愈的人数。
总人口数随时间的变化率可以通过易感者和感染者的变化率求和得到:dN/dt = dS/dt + dI/dt通过对该方程进行求解,我们可以得到感染者和易感者的人数随时间变化的解析解。
进一步,我们可以通过调节β和γ来研究不同的传播速度和控制措施对传染病传播的影响。
例如,如果β较大,表示感染率较高,此时传染速度会加快,可能导致传染病扩散的速度加快。
反之,如果β较小,表示感染率较低,传染病传播的速度会减慢。
另外,如果γ较大,表示恢复率较高,此时感染者的人数会快速减少,传染病传播的速度会减慢。
相反,如果γ较小,传染病传播的速度会加快。
通过对这些参数的调节,我们可以研究不同的控制措施对传染病传播的影响。
例如,我们可以通过降低感染率β或增加恢复率γ来减缓传染病传播的速度,从而控制疫情的爆发。
在实际应用中,常微分方程数学建模方法可以用于预测传染病的传播趋势,评估各种干预措施的效果。
此外,还可以通过引入更多的变量和参数,建立更复杂的模型,以更好地解释实际问题。
总之,常微分方程是数学建模中常用的方法之一,可以用于描述各种实际问题,如传染病的传播、经济增长等。
数学建模案例分析--线性代数建模案例20例

线性代数建模案例汇编目录案例一. 交通网络流量分析问题1案例二. 配方问题4案例三. 投入产出问题6案例四. 平板的稳态温度分布问题7案例五. CT图像的代数重建问题11案例六. 平衡结构的梁受力计算13案例七. 化学方程式配平问题16案例八. 互付工资问题17案例九. 平衡价格问题19案例十. 电路设计问题20案例十一. 平面图形的几何变换22案例十二. 太空探测器轨道数据问题24案例十三. 应用矩阵编制Hill密码25案例十四. 显示器色彩制式转换问题27案例十五. 人员流动问题29案例十六. 金融公司支付基金的流动31案例十七. 选举问题33案例十八. 简单的种群增长问题34案例十九. 一阶常系数线性齐次微分方程组的求解36 案例二十. 最值问题38附录数学实验报告模板错误!未定义书签。
案例一. 交通网络流量分析问题城市道路网中每条道路、每个交叉路口的车流量调查,是分析、评价及改善城市交通状况的基础。
根据实际车流量信息可以设计流量控制方案,必要时设置单行线,以免大量车辆长时间拥堵。
【模型准备】 某城市单行线如下图所示, 其中的数字表示该路段每小时按箭头方向行驶的车流量(单位: 辆).图3 某城市单行线车流量(1) 建立确定每条道路流量的线性方程组.(2) 为了唯一确定未知流量, 还需要增添哪几条道路的流量统计? (3) 当x 4 = 350时, 确定x 1, x 2, x 3的值.(4) 若x 4 = 200, 则单行线应该如何改动才合理?【模型假设】 (1) 每条道路都是单行线. (2) 每个交叉路口进入和离开的车辆数目相等.【模型建立】 根据图3和上述假设, 在①, ②, ③, ④四个路口进出车辆数目分别满足500 = x 1 + x 2① 400 + x 1 = x 4 + 300 ② x 2 + x 3 = 100 + 200 ③ x 4 = x 3 + 300 ④ 【模型求解】根据上述等式可得如下线性方程组12142334500100300300x x x x x x x x +=⎧⎪-=-⎪⎨+=⎪⎪-+=⎩其增广矩阵(A , b ) =1100500100110001103000011300⎛⎫ ⎪--⎪ ⎪ ⎪-⎝⎭−−−−→初等行变换10011000101600001130000000--⎛⎫ ⎪⎪-- ⎪⎪⎝⎭由此可得142434100600300x x x x x x -=-⎧⎪+=⎨⎪-=-⎩ 即142434100600300x x x x x x =-⎧⎪=-+⎨⎪=-⎩. 为了唯一确定未知流量, 只要增添x 4统计的值即可. 当x 4 = 350时, 确定x 1 = 250, x 2 = 250, x 3 = 50.若x 4 = 200, 则x 1 = 100, x 2 = 400, x 3 = -100 < 0. 这表明单行线“③←④”应该改为“③→④”才合理.【模型分析】(1) 由(A , b )的行最简形可见, 上述方程组中的最后一个方程是多余的. 这意味着最后一个方程中的数据“300”可以不用统计.(2) 由142434100600300x x x x x x =-⎧⎪=-+⎨⎪=-⎩可得213141500200100x x x x x x =-+⎧⎪=-⎨⎪=+⎩, 123242500300600x x x x x x =-+⎧⎪=-+⎨⎪=-+⎩, 132343200300300x x x x x x =+⎧⎪=-+⎨⎪=+⎩, 这就是说x 1, x 2, x 3, x 4这四个未知量中, 任意一个未知量的值统计出来之后都可以确定出其他三个未知量的值.Matlab 实验题某城市有下图所示的交通图, 每条道路都是单行线, 需要调查每条道路每小时的车流量. 图中的数字表示该条路段的车流数. 如果每个交叉路口进入和离开的车数相等, 整个图中进入和离开的车数相等.图4 某城市单行线车流量(1)建立确定每条道路流量的线性方程组.(2)分析哪些流量数据是多余的.(3)为了唯一确定未知流量, 需要增添哪几条道路的流量统计.案例二. 配方问题在化工、医药、日常膳食等方面都经常涉及到配方问题. 在不考虑各种成分之间可能发生某些化学反应时, 配方问题可以用向量和线性方程组来建模. 【模型准备】一种佐料由四种原料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克, 则有以下线性方程组24,327,3,2 5.x y x y x y x y +=⎧⎪+=⎨+=⎪+=⎩ 【模型求解】上述线性方程组的增广矩阵(A , b ) =214327113125⎛⎫ ⎪ ⎪ ⎪ ⎪⎝⎭−−−−→初等行变换101012000000⎛⎫ ⎪⎪ ⎪ ⎪⎝⎭,可见{1,2.x y == 又因为第一种规格的佐料每袋净重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 克第二种规格的佐料混合得第三种规格的佐料, 则有下表因而有如下线性方程组214(),7619327(),7619113(),7619125().7619x y x y x y x y x y x y x y x y ⎧+=+⎪⎪⎪+=+⎪⎨⎪+=+⎪⎪⎪+=+⎪⎩(*) 【模型检验】把x = 7, y = 12代入上述方程组(*), 则各等式都成立. 可见模型假设中的第三个假设不影响解的正确性.Matlab 实验题蛋白质、碳水化合物和脂肪是人体每日必须的三种营养, 但过量的脂肪摄入不利于健康.人们可以通过适量的运动来消耗多余的脂肪. 设三种食物(脱脂牛奶、大豆面粉、乳清)每100克中蛋白质、碳水化合物和脂肪的含量以及慢跑5分钟消耗蛋白质、碳水化合物和脂肪的量如下表.问怎样安排饮食和运动才能实现每日的营养需求?案例三. 投入产出问题在研究多个经济部门之间的投入产出关系时, W. Leontief 提出了投入产出模型. 这为经济学研究提供了强有力的手段. W. Leontief 因此获得了1973年的Nobel 经济学奖.【模型准备】某地有一座煤矿, 一个发电厂和一条铁路. 经成本核算, 每生产价值1元钱的煤需消耗0.3元的电; 为了把这1元钱的煤运出去需花费0.2元的运费; 每生产1元的电需0.6元的煤作燃料; 为了运行电厂的辅助设备需消耗本身0.1元的电, 还需要花费0.1元的运费; 作为铁路局, 每提供1元运费的运输需消耗0.5元的煤, 辅助设备要消耗0.1元的电. 现煤矿接到外地6万元煤的订货, 电厂有10万元电的外地需求, 问: 煤矿和电厂各生产多少才能满足需求? 【模型假设】假设不考虑价格变动等其他因素.【模型建立】设煤矿, 电厂, 铁路分别产出x 元, y 元, z 元刚好满足需求. 则有下表根据需求, 应该有(0.60.5)60000(0.30.10.1)100000(0.20.1)0x y z y x y z z x y -+=⎧⎪-++=⎨⎪-+=⎩, 即0.60.5600000.30.90.11000000.20.10x y z x y z x y z --=⎧⎪-+-=⎨⎪--+=⎩ 【模型求解】在Matlab 命令窗口输入以下命令>> A = [1,-0.6,-0.5;-0.3,0.9,-0.1;-0.2,-0.1,1]; b = [60000;100000;0]; >> x = A\bMatlab 执行后得 x =1.0e+005 *1.99661.84150.5835可见煤矿要生产1.9966⨯105元的煤, 电厂要生产1.8415⨯105元的电恰好满足需求.【模型分析】令x =xyz⎛⎫⎪⎪⎝⎭, A =00.60.50.30.10.10.20.10⎛⎫⎪⎪⎝⎭, b =60000100000⎛⎫⎪⎪⎝⎭, 其中x称为总产值列向量,A称为消耗系数矩阵, b称为最终产品向量, 则Ax =00.60.50.30.10.10.20.10⎛⎫⎪⎪⎝⎭xyz⎛⎫⎪⎪⎝⎭=0.60.50.30.10.10.20.1y zx y zx y+⎛⎫⎪++⎪+⎝⎭根据需求, 应该有x-Ax = b, 即(E-A)x = b. 故x = (E-A)-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个点处的温度T 1, T 2, T 3, T 4.图9 一块平板的温度分布图【模型假设】假设忽略垂直于该截面方向上的热传导, 并且每个节点的温度等于与它相邻的四个节点温度的平均值.【模型建立】根据已知条件和上述假设, 有如下线性方程组1232143144231(90100)41(8060)41(8060)41(5050)4T T T T T T T T T T T T ⎧=+++⎪⎪⎪=+++⎪⎨⎪=+++⎪⎪=+++⎪⎩ 【模型求解】将上述线性方程组整理得1231241342344190414041404100T T T T T T T T T T T T --=⎧⎪-+-=⎪⎨-+-=⎪--+=⎪⎩. 在Matlab 命令窗口输入以下命令T 1T 2 T 3 T 4 10080908060506050>> 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.9167 70.8333 70.8333 60.4167可见T1 = 82.9167, T2 = 70.8333, T3 = 70.8333, T4 = 60.4167.参考文献陈怀琛, 高淑萍, 杨威, 工程线性代数,: 电子工业, 2007. 页码: 15-16.Matlab实验题假定下图中的平板代表一条金属梁的截面, 并忽略垂直于该截面方向上的热传导. 已知平板内部有30个节点, 每个节点的温度近似等于与它相邻的四个节点温度的平均值. 设4条边界上的温度分别等于每位同学学号的后四位的5倍, 例如学号为16308209的同学计算本题时, 选择T l = 40, T u = 10, T r = 0, T d = 45.图10 一块平板的温度分布图(1) 建立可以确定平板内节点温度的线性方程组.(2) 用Matlab软件求解该线性方程组.(3) 用Matlab中的函数mesh绘制三维平板温度分布图.案例五. CT图像的代数重建问题X射线透视可以得到3维对象在2维平面上的投影, CT则通过不同角度的X射线得到3维对象的多个2维投影, 并以此重建对象内部的3维图像. 代数重建方法就是从这些2维投影出发, 通过求解超定线性方程组, 获得对象内部3维图像的方法.图11双层螺旋CT 图12 CT图像这里我们考虑一个更简单的模型, 从2维图像的1维投影重建原先的2维图像. 一个长方形图像可以用一个横竖均匀划分的离散网格来覆盖, 每个网格对应一个像素, 它是该网格上各点像素的均值. 这样一个图像就可以用一个矩阵表示,其元素就是图像在一点的灰度值(黑白图像). 下面我们以3⨯3图像为例来说明.3⨯3图像各点的灰度值水平方向上的叠加值x1 = 1 x2 = 0 x3 = 0 x1 + x2 + x3 = 1x4 = 0 x5 = 0.5 x6 = 0.5 x4 + x5 + x6 = 1x7 = 0.5 x8 = 0 x9 = 1 x7 + x8 + x9 = 1.5 竖直方向上的叠加值x1 + x4 + x7= 1.5x2 + x5 + x8= 0.5x3 + x6 + x9= 1.5i色. 如果我们不知道网格中的数值, 只知道沿竖直方向和水平方向的叠加值, 为了确定网格中的灰度值, 可以建立线性方程组(含有6个方程, 9个未知数)123456369111x x xx x xx x x++=⎧⎪++=⎪⎨⎪++=⎪⎩显然该方程组的解是不唯一的, 为了重建图像, 必须增加叠加值. 如我们增加从右上方到左下方的叠加值, 则方程组将增加5个方程x1 = 1,x2 + x4 = 0,x3 + x5 + x7 = 1,x 6 + x 8 = 0.5, x 9 = 1,和上面的6个方程放在一起构成一个含有11个方程, 9个未知数的线性方程组. 【模型准备】设3⨯3图像中第一行3个点的灰度值依次为x 1, x 2, x 3, 第二行3个点的灰度值依次为x 4, x 5,x 6, 第三行3个点的灰度值依次为x 7, x 8, x 9. 沿竖直方向的叠加值依次为1.5, 0.5, 1.5, 沿水平方向的叠加值依次为1, 1, 1.5, 沿右上方到左下方的叠加值依次为1, 0, 1, 0.5, 1. 确定x 1, x 2, …, x 9的值.【模型建立】由已知条件可得(含有11个方程, 9个未知数的)线性方程组1234569111x x x x x x x ++=⎧⎪++=⎪⎨⎪=⎪⎩ 【模型求解】在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: Rank deficient, rank = 8 tol =4.2305e-015. ans =1.0000 0.0000 0 -0.0000 0.5000 0.5000 0.5000 -0.0000 1.0000 可见上述方程组的解不唯一. 其中的一个特解为x 1 = 1, x 2 = 0, x 3 = 0, x 4 = 0, x 5 = 0.5, x 6 = 0.5, x 7 = 0.5, x 8 = 0, x 9 = 1.【模型分析】上述结果表明, 仅有三个方向上的叠加值还不够.可以再增加从左上方到右下方的叠加值. 在实际情况下, 由于测量误差, 上述线性方程组可能是超定的. 这时可以将超定方程组的近似解作为重建的图像数据.Matlab 实验题给定一个3⨯3图像的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 绘制该灰度图像.案例六. 平衡结构的梁受力计算在桥梁、房顶、铁塔等建筑结构中, 涉及到各种各样的梁. 对这些梁进行受力分析是设计师、工程师经常做的事情.图14 埃菲尔铁塔局部下面以双杆系统的受力分析为例, 说明如何研究梁上各铰接点处的受力情况. 【模型准备】在图15所示的双杆系统中, 已知杆1重G1 = 200牛顿, 长L1 = 2米, 与水平方向的夹角为θ1 = π/6, 杆2重G2 = 100牛顿, 长L2 = 2米, 与水平方向的夹角为θ2 = π/4. 三个铰接点A, B, C所在平面垂直于水平面. 求杆1, 杆2在铰接点处所受到的力.图15双杆系统【模型假设】假设两杆都是均匀的. 在铰接点处的受力情况如图16所示.【模型建立】对于杆1:水平方向受到的合力为零, 故N1 = N3,竖直方向受到的合力为零, 故N2 + N4 = G1,以点A为支点的合力矩为零, 故(L1sinθ1)N3 + (L1cosθ1)N4 = (12L1cosθ1)G1.图16 两杆受力情况对于杆2类似地有AC杆1杆2CN1N2N3N5N6G1G2A B杆1杆2π/6π/4N 5 = N 7, N 6 = N 8 + G 2, (L 2sin θ2)N 7 = (L 2cos θ2)N 8 + (12L 2cos θ2)G 2.此外还有N 3 = N 7, N 4 = N 8. 于是将上述8个等式联立起来得到关于N 1, N 2, …, N 8的线性方程组:132414800N N N N G N N -=⎧⎪+=⎪⎨⎪⎪-=⎩ 【模型求解】在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吨的负载. 在静平衡的条件下,任何一个铰接点上水平和竖直方向受力都是平衡的. 已知每条斜梁的角度都是45º.(1) 列出由各铰接点处受力平衡方程构成的线性方程组. (2) 用Matlab 软件求解该线性方程组, 确定每条梁受力情况.图17 一个平面结构的梁案例七. 化学方程式配平问题在用化学方法处理污水过程中, 有时会涉及到复杂的化学反应. 这些反应的化学方程式是分析计算和工艺设计的重要依据. 在定性地检测出反应物和生成物之后,可以通过求解线性方程组配平化学方程式.【模型准备】某厂废水中含K, 其浓度为650mg/L. 现用氯氧化法处理, 发生如下反应:K + 2KOH + Cl 2 = KO+ 2KCl + H 2O.投入过量液氯, 可将氰酸盐进一步氧化为氮气. 请配平下列化学方程式:KO +KOH +Cl 2 ===CO 2+N 2+KCl +H 2O.(注: 题目摘自XX 省XX 外国语学校2008-2009学年高三第三次月考化学试卷) 【模型建立】设x 1KO +x 2KOH +x 3Cl 2 === x 4CO 2 +x 5N 2 +x 6KCl +x 7H 2O,则1261247141527362222x x x x x x xx x x x x x x x +=⎧⎪+=+⎪⎪=⎪⎨=⎪⎪=⎪=⎪⎩, 即1261247141527360200202020x x x x x x x x x x x x x x x +-=⎧⎪+--=⎪⎪-=⎪⎨-=⎪⎪-=⎪-=⎪⎩ 【模型求解】在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 . 可见配平后的化学方程式如下2KO + 4KOH + 3Cl 2 ===2CO 2+ N 2+ 6KCl + 2H 2O.【模型分析】利用线性方程组配平化学方程式是一种待定系数法. 关键是根据化学方程式两边所涉及到的各种元素的量相等的原则列出方程. 所得到的齐次线性方程组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个以上的线性无关的解向量. 这时可以根据化学方程式中元素的化合价的上升与下降的情况, 在原线性方程组中添加新的方程. Matlab 实验题配平下列反应式(1) FeS + KMnO 4 + H 2SO 4—— K 2SO 4 + MnSO 4 + Fe 2(SO 4)3 + H 2O + S ↓ (2) Al 2(SO 4)3 + Na 2CO 3 + H 2O —— Al(OH)3↓+ CO 2↑+ Na 2SO 4案例八. 互付工资问题互付工资问题是多方合作相互提供劳动过程中产生的. 比如农忙季节, 多户农民组成互助组, 共同完成各户的耕、种、收等农活. 又如木工, 电工, 油漆工等组成互助组, 共同完成各家的装潢工作. 由于不同工种的劳动量有所不同, 为了均衡各方的利益, 就要计算互付工资的标准.【模型准备】现有一个木工, 电工, 油漆工. 相互装修他们的房子, 他们有如下协议:(1) 每人工作10天(包括在自己家的日子), (2) 每人的日工资一般的市价在60~80元之间, (3) 日工资数应使每人的总收入和总支出相等.求每人的日工资. 【模型假设】假设每人每天工作时间长度相同. 无论谁在谁家干活都按正常情况工作, 既不偷懒, 也不加班.【模型建立】设木工, 电工, 油漆工的日工资分别为x , y , z 元, 则由下表可得2610451044310x y z xx y z y x y z z++=⎧⎪++=⎨⎪++=⎩, 即8604504470x y z x y z x y z -++=⎧⎪-+=⎨⎪+-=⎩【模型求解】在Matlab 命令窗口输入以下命令>> A = [-8,1,6;4,-5,1;4,4,-7];>> x = null(A,’r ’); format rat, x ’ Matlab 执行后得ans =31/36 8/9 1可见上述齐次线性方程组的通解为x = k (31/36, 8/9, 1)T . 因而根据“每人的日工资一般的市价在60~80元之间”可知60 ≤3631k <98k < k ≤ 80, 即 312160≤k ≤ 80.也就是说, 木工, 电工, 油漆工的日工资分别为3631k 元, 98k 元, k 元, 其中312160≤k ≤ 80. 为了简便起见, 可取k = 72, 于是木工, 电工, 油漆工的日工资分别为62元, 64元, 72元.【模型分析】事实上各人都不必付自己工资, 这时各家应付工资和各人应得收入如下6845447y z x x z y x y z +=⎧⎪+=⎨⎪+=⎩, 即8604504470x y z x y z x y z -++=⎧⎪-+=⎨⎪+-=⎩ 可见这样得到的方程组与前面得到的方程组是一样的.Matlab 实验题甲, 乙, 丙三个农民组成互助组, 每人工作6天(包括为自己家干活的天数), 刚好完成他们三人家的农活, 其中甲在甲, 乙, 丙三家干活的天数依次为: 2, 2.5, 1.5; 乙在甲, 乙, 丙三家各干2天活, 丙在甲, 乙, 丙三家干活的天数依次为: 1.5, 2, 2.5. 根据三人干活的种类, 速度和时间, 他们确定三人不必相互支付工资刚好公平. 随后三人又合作到邻村帮忙干了2天(各人干活的种类和强度不变), 共获得工资500元.问他们应该怎样分配这500元工资才合理?案例九. 平衡价格问题为了协调多个相互依存的行业的平衡发展, 有关部门需要根据每个行业的产出在各个行业中的分配情况确定每个行业产品的指导价格, 使得每个行业的投入与产出都大致相等.【模型准备】假设一个经济系统由煤炭、电力、钢铁行业组成, 每个行业的产出在各个行业中的分配如下表所示:等的平衡价格.【模型假设】假设不考虑这个系统与外界的联系.【模型建立】把煤炭、电力、钢铁行业每年总产出的价格分别用x 1,x 2, x 3表示, 则123212331230.40.60.60.10.20.40.50.2x x x x x x x x x x x =+⎧⎪=++⎨⎪=++⎩, 即1231231230.40.600.60.90.200.40.50.80x x x x x x x x x --=⎧⎪-+-=⎨⎪--+=⎩. 【模型求解】在Matlab 命令窗口输入以下命令>> A = [1,-0.4,-0.6;-0.6,0.9,-0.2;-0.4,-0.5,0.8]; >> x = null(A,’r ’); format short, x ’ Matlab 执行后得ans =0.9394 0.8485 1.0000 可见上述齐次线性方程组的通解为x = k(0.9394, 0.8485, 1)T.这就是说, 如果煤炭、电力、钢铁行业每年总产出的价格分别0.9394亿元, 0.8485亿元, 1亿元, 那么每个行业的投入与产出都相等.【模型分析】实际上, 一个比较完整的经济系统不可能只涉及三个行业, 因此需要统计更多的行业间的分配数据.Matlab实验题假设一个经济系统由煤炭、石油、电力、钢铁、机械制造、运输行业组成, 每个行业的产出在各个行业中的分配如下表所示:产出分配购买者煤炭石油电力钢铁制造运输0 0 0.2 0.1 0.2 0.2 煤炭0 0 0.1 0.1 0.2 0.1 石油0.5 0.1 0.1 0.2 0.1 0.1 电力0.4 0.1 0.2 0 0.1 0.4 钢铁0 0.1 0.3 0.6 0 0.2 制造0.1 0.7 0.1 0 0.4 0 运输等的平衡价格.案例十. 电路设计问题电路是电子元件的神经系统. 参数的计算是电路设计的重要环节. 其依据来自两个方面: 一是客观需要, 二是物理学定律.图22 USB扩展板【模型准备】假设图23中的方框代表某类具有输入和输出终端的电路. 用11vi⎛⎫⎪⎝⎭记录输入电压和输入电流(电压v以伏特为单位, 电流i以安培为单位), 用22vi⎛⎫⎪⎝⎭记录输出电压和输入电流. 若22vi⎛⎫⎪⎝⎭= A11vi⎛⎫⎪⎝⎭,则称矩阵A为转移矩阵.图23 具有输入和输出终端的电子电路图图24给出了一个梯形网络, 左边的电路称为串联电路, 电阻为R 1(单位: 欧姆). 右边的电路是并联电路, 电路R 2. 利用欧姆定理和楚列斯基定律, 我们可以得到串联电路和并联电路的转移矩阵分别是1101R -⎛⎫ ⎪⎝⎭和2101/1R ⎛⎫ ⎪-⎝⎭串联电路 并联电路图24 梯形网络设计一个梯形网络, 其转移矩阵是180.55-⎛⎫⎪-⎝⎭. 【模型假设】假设导线的电阻为零.【模型建立】设A 1和A 2分别是串联电路和并联电路的转移矩阵, 则输入向量x 先变换成A 1x , 再变换到A 2(A 1x ). 其中A 2A 1 =2101/1R ⎛⎫ ⎪-⎝⎭1101R -⎛⎫ ⎪⎝⎭=121211/1/R R R R -⎛⎫ ⎪-+⎝⎭就是图22中梯形网络的转移矩阵.于是, 原问题转化为求R 1, R 2的值使得121211/1/R R R R -⎛⎫ ⎪-+⎝⎭=180.55-⎛⎫ ⎪-⎝⎭. 【模型求解】由121211/1/R R R R -⎛⎫ ⎪-+⎝⎭=180.55-⎛⎫ ⎪-⎝⎭可得121281/0.51/5R R R R -=-⎧⎪-=-⎨⎪+=⎩. 根据其中的前两个方程可得R 1 = 8, R 2 = 2. 把R 1 = 8, R 2 = 2代入上面的第三个方程确实能使等式成立. 这就是说在图22中梯形网络中取R 1 = 8, R 2 = 2即为所求.【模型分析】若要求的转移矩阵改为180.54-⎛⎫⎪-⎝⎭, 则上面的梯形网络无法实现. 因为v 2这时对应的方程组是121281/0.51/4R R R R -=-⎧⎪-=-⎨⎪+=⎩. 根据前两个方程依然得到R 1 = 8, R 2 = 2, 但把R 1= 8, R 2 = 2代入上第三个方程却不能使等式成立.练习题根据基尔霍夫回路电路定律(各节点处流入和流出的电流强度的代数和为零, 各回路中各支路的电压降之和为零), 列出下图所示电路中电流i 1, i 2, i 3所满足的线性方程组, 并用矩阵形式表示:图25简单的回路案例十一. 平面图形的几何变换随着计算机科学技术的发展, 计算机图形学的应用领域越来越广, 如仿真设计、效果图制作、动画片制作、电子游戏开发等.图形的几何变换, 包括图形的平移、旋转、放缩等, 是计算机图形学中经常遇到的问题. 这里暂时只讨论平面图形的几何变换.【模型准备】平面图形的旋转和放缩都很容易用矩阵乘法实现, 但是图形的平移并不是线性运算, 不能直接用矩阵乘法表示. 现在要求用一种方法使平移、旋转、放缩能统一用矩阵乘法来实现. 【模型假设】设平移变换为(x , y ) → (x +a , y +b )旋转变换(绕原点逆时针旋转θ角度)为(x , y ) → (x cos θ-y sin θ, x sin θ + y cos θ)放缩变换(沿x 轴方向放大s 倍, 沿y 轴方向放大t 倍)为(x , y ) → (sx , ty )【模型求解】R 2中的每个点(x , y )可以对应于R 3中的(x , y , 1). 它在xOy 平面上方1单E 12位的平面上. 我们称(x , y , 1)是(x , y )的齐次坐标. 在齐次坐标下, 平移变换(x , y ) → (x +a , y +b )可以用齐次坐标写成(x , y , 1) → (x +a , y +b , 1).于是可以用矩阵乘积1001001a b ⎛⎫ ⎪ ⎪⎝⎭1x y ⎛⎫ ⎪ ⎪⎝⎭=1x a y b +⎛⎫⎪+ ⎪⎝⎭实现.旋转变换(x , y ) → (x cos θ-y sin θ, x sin θ + y cos θ)可以用齐次坐标写成(x , y , 1) → (x cos θ-y sin θ, x sin θ + y cos θ, 1). 于是可以用矩阵乘积cos sin 0sin cos 0001θθθθ-⎛⎫ ⎪ ⎪⎝⎭1x y ⎛⎫ ⎪ ⎪⎝⎭=cos sin sin cos 1x y x y θθθθ-⎛⎫⎪+ ⎪⎝⎭实现.放缩变换(x , y ) → (sx , ty )可以用齐次坐标写成(x , y , 1) → (sx , ty , 1).于是可以用矩阵乘积0000001s t ⎛⎫ ⎪ ⎪⎝⎭1x y ⎛⎫ ⎪ ⎪⎝⎭=1sx ty ⎛⎫⎪ ⎪⎝⎭实现.【模型分析】由上述求解可以看出, R 2中的任何线性变换都可以用分块矩阵1⎛⎫⎪⎝⎭A O O 乘以齐次坐标实现, 其中A 是2阶方阵. 这样, 只要把平面图形上点的齐次坐标写成列向量, 平面图形的每一次几何变换, 都可通过左乘一个3阶变换矩阵来实现.参考文献David C. Lay, 线性代数及其应用, 沈复兴, 傅莺莺等译,: 人民邮电, 2009. 页码: 139-141.Matlab 实验题在Matlab 命令窗口输入以下命令 >>clear all , clc,>>t=[1,3,5,11,13,15]*pi/8; >>x=sin(t); y=cos(t); >>fill(x,y,'r'); >>grid on ;>>axis([-2.4, 2.4, -2, 2])运行后得图25.图26Matlab绘制的图形(1) 写出该图形每个顶点的齐次坐标;; 最后进行横(2) 编写Matlab程序, 先将上面图形放大0.9倍; 再逆时针旋转3坐标加0.8, 纵坐标减1的图形平移. 分别绘制上述变换后的图形.案例十二. 太空探测器轨道数据问题太空航天探测器发射以后, 可能需要调整以使探测器处在精确计算的轨道里. 雷达监测到一组列向量x1, …, x k,它们给出了不同时刻探测器的实际位置与预定轨道之间的偏差的信息.图28 火星探测器【模型准备】令X k = [x1, …, x k]. 在雷达进行数据分析时需要计算出矩阵G k = X k X k T. 一旦接收到数据向量x k+1,必须计算出新矩阵G k+1. 因为数据向量到达的速度非常快, 随着k的增加, 直接计算的负担会越来越重. 现需要给出一个算法, 使得计算G k的负担不会因为k的增加而加重.【模型求解】因为G k = X k X k T=[x 1, …, x k ]T 1T k⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦x x =T 1k i i i =∑x x ,G k +1 = X k +1T1k +X =[X k , x k +1]T T 1k k +⎡⎤⎢⎥⎣⎦X x = X k X k T +x k +1T 1k +x =G k +x k +1T 1k +x ,所以一旦接收到数据向量x k +1, 只要计算x k +1T1k +x , 然后把它与上一步计算得到的G k相加即可. 这样计算G k 的负担不会因为k 的增加而加重.【模型分析】计算机计算加法的时间与计算乘法的时间相比可以忽略不计. 因此在考虑计算矩阵乘积的负担时, 只要考察乘法的次数就可以了. 设x k 的维数是n , 则X k = [x 1, …, x k ]是n ⨯k 的矩阵, G k = X k X k T 是n ⨯n 的矩阵. 直接计算G k = X k X k T 需要做n 2k 次乘法. 因而计算的负担会随着k 的增加而增加. 但是对于每一个k , 计算x k Tk x 始终只要做n 2次乘法.Matlab 实验题用Matlab 编写一个程序用于处理这个问题.案例十三. 应用矩阵编制Hill 密码密码学在经济和军事方面起着极其重要的作用. 现代密码学涉及很多高深的数学知识. 这里无法展开介绍.图29 XX 通信的基本模型密码学中将信息代码称为密码, 尚未转换成密码的文字信息称为明文, 由密码表示的信息称为密文. 从明文到密文的过程称为加密, 反之为解密. 1929年, 希尔(Hill)通过线性变换对待传输信息进行加密处理, 提出了在密码史上有重要地位的希尔加密算法. 下面我们略去一些实际应用中的细节, 只介绍最基本的思想.【模型准备】若要发出信息action, 现需要利用矩阵乘法给出加密方法和加密后得到的密文, 并给出相应的解密方法.。
正负数的实际应用数学建模实践与分析案例解析

正负数的实际应用数学建模实践与分析案例解析数学建模是一种将实际问题抽象为数学模型并运用数学方法进行分析与解决的方法。
在实际应用中,正负数的概念经常被用于数学建模中。
本文将通过分析实际案例,探讨正负数在数学建模中的实际应用,以及建模过程的分析和解决方案。
案例一:地铁购票系统设计地铁购票系统是当代城市中重要的交通工具之一,如何设计一个高效的购票系统对于提升出行体验至关重要。
我们考虑以下情景:假设一张地铁车票的价格为10元,用户购票时可以选择单程票或者月票。
若用户选择购买月票,需要支付300元,且月票的有效期为30天。
如果用户购买单程票,则需要在每次乘车时支付10元,但月票可以在30天内无限次地乘坐地铁。
我们将这个问题抽象为一个数学模型。
首先,我们定义正数表示实际花费,负数表示实际收入。
根据用户购票的选择,我们可以得到以下数学模型:令x表示购买单程票的次数,y表示购买月票的次数,则总花费为10x+300y。
同时,我们要考虑用户是否能够通过购买月票来节省费用。
如果用户的地铁需求超过了7次(即超过了70元),那么购买月票将比购买单程票更划算;否则,购买单程票更合适。
通过对不同情况下的花费进行比较,我们可以得到最优解。
案例二:气温变化的数学模拟气温变化是一个经常被研究的话题,在防灾减灾、农业生产等方面都需要对气温进行准确预测和模拟。
我们考虑以下情景:假设某地区的一年中气温最低为-10℃,最高为30℃,温度的变化满足一定的函数关系。
我们可以使用数学模型来模拟气温变化。
令t表示某一天的气温,x 表示所处的日期(1表示一年中的第一天,365表示一年中的最后一天),则我们可以假设气温与日期的关系为t = a * sin(b * x + c) + d,其中a为振幅,b为周期,c为相位差,d为平均值。
通过对历史气温数据的分析,我们可以得到最佳的模型参数,并通过该模型进行气温的预测和模拟。
通过以上案例的分析可见,正负数在数学建模中有着广泛的应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
§15.4锁具装箱问题[学习目标]1.能表述锁具装箱问题的分析过程;2.能表述模型的建立方法;3.会利用排列组合来计算古典概型;4.会利用Mathematica求解锁具装箱问题。
一、问题某厂生产一种弹子锁具,每个锁具的钥匙有5个槽,每个槽的高度从{1,2,3,4,5,6}6个数(单位从略)中任取一数。
由于工艺及其它原因,制造锁具时对5个槽的高度有两个要求:一是至少有3个不同的数;二是相邻两槽的高度之差不能为5。
满足上述两个条件制造出来的所有互不相同的锁具称为一批。
销售部门在一批锁具中随意地抽取,每60个装一箱出售。
从顾客的利益出发,自然希望在每批锁具中不能互开(“一把钥匙开一把锁”)。
但是,在当前工艺条件下,对于同一批中两个锁具是否能够互开,有以下实验结果:若二者相对应的5个槽的高度中有4个相同,另一个槽的高度差为1,则可能互开;在其它情况下,不可能互开。
团体顾客往往购买几箱到几十箱,他们会抱怨购得的锁具中出现互开的情形。
现请回答以下问题:1.每批锁具有多少个,能装多少箱?2.按照原来的装箱方案,如何定量地衡量团体顾客抱怨互开的程度(试对购买一、二箱者给出具体结果)。
二、问题分析与建立模型因为弹子锁具的钥匙有5个槽,每个槽的高度从{1,2,3,4,5,6}这6个数中任取一数,且5个槽的高度必须满足两个条件:至少有3个不同的数;相邻两槽的高度之差不能为5。
所以我们在求一批锁具的总数时,应把问题化为三种情况,即5个槽的高度由5个不同数字组成、由4个不同数字组成、由3个不同数字组成,分别算出各种情况的锁具个数,然后相加便得到一批锁具的总个数。
在分别求这三种情况锁具个数的时候,先求出满足第1个条件的锁具个数再减去不满足第2个条件的锁具个数。
在求这三种情况锁具个数的时候,主要依靠排列组合的不尽相异元素的全排列公式。
下面用一个5元数组来表示一个锁具:Key=(h1,h2,h3,h4,h5)其中h i表示第i个槽的高度,i=1,2,3,4,5。
此5元数组表示一把锁,应满足下述条件:条件1:h i∈{1,2,3,4,5,6},i = 1,2,3,4,5。
条件2:对于任意一种槽高排列h 1,h 2,h 3,h 4,h 5,至少有3种不同的槽高。
条件3:对于任意一种槽高排列h 1,h 2,h 3,h 4,h 5,有| h i ,h i -1|≠5,i = 2,3,4,5。
而两个锁可以互开的条件为:两个锁的钥匙有四个槽高相同,其中一个槽高相差为1。
1.一批锁具个数的计算记一批锁具的集合为:K={(h 1,h 2,h 3,h 4,h 5)| h i ∈{1,2,3,4,5,6},i = 1,2,3,4,5,且(h 1,h 2,h 3,h 4,h 5)为一锁具},其个数小于65,可采用逐个检验条件1,2,3的方法,求一批中的所有锁具,当然也可计算出其个数。
2.抱怨程度的刻划在这里我们简单地用平均互开总对数来刻划抱怨程度,所以,关键是计算出顾客购买一箱或两箱时的平均互开总对数,这可以用计算机模拟去计算。
我们引入下面的记号:P={(h 1,h 2,h 3,h 4,h 5)|(h 1,h 2,h 3,h 4,h 5)∈K ,且∑=51i i h 为偶数}Q ={(h 1,h 2,h 3,h 4,h 5)|(h 1,h 2,h 3,h 4,h 5)∈K ,且∑=51i i h 为奇数}则可得到P 中的锁具不能互开,Q 中的锁具不能互开,P 中的锁具与Q 中的才能互开。
在计算中,判断互开时,我们将P 和Q 中的锁具分别标号为0,1,这样就减少了判断时的计算,大大提高了计算速度。
说明:直接用平均互开总对数来刻划抱怨程度有一定的不合理性。
因为这样来刻划,购买的箱数越多,抱怨程度就越大,而实际上,购买的越多,自然互开的可能性就越大,这是顾客意料之中的,不应有太多的抱怨,顾客所不能容忍的是在购买少量的锁具而出现互开现象。
因此应把购买箱数作为一个因素考虑到抱怨函数中。
理想的抱怨函数应该是,开始随购买量的增加而增加,到一定量后下降,这才合理。
在这里,我们的主要任务是模拟求解,而简单地用平均互开总对数来刻划抱怨程度。
三、 计算过程计算流程如下:1. 对(h 1,h 2,h 3,h 4,h 5)的所有排列逐个检验条件2、条件3,判断其是否为锁具,将锁具放在数组key 中,若∑=51i i h 为奇数,标号为1,若∑=51i i h 为偶数,标号为0,并计数count 。
2.输出一批锁具的总个数count 。
3.多次用随机数来模拟销售一箱的情况,计算平均互开总对数。
4.输出一箱平均互开总对数average 。
注意:以上流程略去了某些细节,具体的细节可参看下面的程序。
对上流程稍加修改,可用于研究2,3,4箱等的平均互开总对数。
程序对(h1,h2,h3,h4,h5)的所有排列逐个检验条件2、条件3时要进行两次判断,一次是判断(h1,h2,h3,h4,h5)是否有3个不同的数,另一次是相邻槽高之差是否为5。
在前一次判断时,采用了比较简捷的方法,请仔细考察。
找(h1,h2,h3,h4,h5)的所有排列,实际上可用五重循环来实现。
具体程序如下:Model[{h1,h2,h3,h4,h5,flag,cnt,key,flal,su,te,keel,i,aid,mnx,kebe,k,j,n},(*计算一批锁具的个数*)key=Table[Table[0,{5}],{5880}];keel=Table[0,{5}];flag=Table[-1,{5880}];cnt=0;For[h1=1,h1<=6,h1++,For[h2=1,h2<=6,h2++,For[h3=1,h3<=6,h3++,For[h4=1,h4<=6,h4++,For[h5=1,h5<=6,h5++,te=Table[0,{6}];te[[h1]]=1;te[[h2]]=1;Te=[[h3]]=1;te[[h4]]=1;te[[h5]]=1;su=te.Table[1,{6}];If[su>=3,keel[[1]]=h1;keel[[2]]=h2;keel[[3]]=h3;For[flal=1;i=2,i<=5,i++,If[Abs[keel[[i]]-keel[[i-1]]]>=5,flal=0,]];If[flal= =1,cnt++;key[[cnt]]=keel;flag[[cnt]]=If[Mod[keel.Table[1,{5}],2]= =0,0,1];,],]] ] ] ] ];Print[“count=”,cnt];(*计算顾客购买一箱时的平均互开总对数*)cnt=0;aid=Table[1,{5}];kebe=Table[0,{5}];For[n=1,n<=1000,n++,(*模拟1000次*)Mnx=Table[Rndom[Integer,{1,5880}],{60}];For[i=1,i<=60,i++,For[k=i+11,k<=60,k++,If[flag[[mnx[[i]]]! =flag[[mnx[[k]] ]],If[Abs[key[[mnx[[i]]]].aid-key[[mnx[[k]]]].aid]= =1,Keel=key[[mnx[[I]]]];kebe=key[[mnx[[k]]]];For[flal=0;j=1,j<=5,j++,If[keel[[j]]!=kebe[[j]],flal++,]];If[flal= =1,cnt++,],],];]]];Print[“Average=”,N[cnt/1000]];]运算结果:count=5880与Average=2.362,即得到一批锁具的个数为:5880,购买一箱的平均互开总对数大约为:2.362。
对程序稍加修改可得到买两箱时的平均互开总对数大约为:8.91,即得到如下结果:count=5880与Average=8.91。
习题15.41.请为销售部门提出一种方案,包括如何装箱(仍旧是60个锁具装一箱),如何给箱子以标志,出售时如何利用这些标志,使团体顾客不再抱怨或减少抱怨?2.有4位教师给5个班级授课,按教学要求教师X i给班级Y i上课的课时数如下表所示。
试排出课程表。
3.某些工业部门(如贵重石材加工等)采用截断切割的加工方式,从一个长方体中加工出一个已知尺寸、位置预定的长方体(这两个长方体的对应表面是平行的),通常要经过六次截断切割。
已知待加工长方体和成品长方体的长、宽、高分别为10、14.5、19和3、2、4,二者左侧面、正面、底面之间的距离分别为6、7、9(单位均为厘米)。
切割费用为每平方厘米1元,试求最佳切割方案。
复习题十五1.席位分配问题在n个单位的团体中,经常涉及到代表名额分配问题,每个单位都希望自己的代表名额多一些,以便在委员会中能更好地反映自己单位的意图。
试设计一种公平的代表名额分配方案,并针对下面三种情况就方案的公平与合理性进行说明。
(1)该团体有A、B、C三个单位,开始时A、B、C三个单位的人数分别是100、60、40,一年后三单位的人数是103、63、34。
就20名代表和21名代表名额给出分配方案。
(2)该团体有A、B、C、D、E五个单位,其人数分别为9061、7179、5259、3319、1182,给出26、27、28、29个代表名额的分配方案。
(3)该团体有A、B、C、D、E、F六个单位,其人数分别为9215、159、158、157、156、155,给出100名代表名额的分配方案。
2.实验数据分解组成生命蛋白质的若干种氨基酸可以形成不同的组合,通过质谱实验测定分子量来分析某个生命蛋白质分子的组成时,遇到的首要问题就是如何将它的分子量x分解为几个氨基酸的已知分子量a[i](i=1,2,…,n)之和,某实验室所研究的问题中:n=18,a[1:18]=57,71,87,97,99,101,103,113,114,115,128,129,131,147,156,163,186。
x为正整数小于等于1000。
要求针对该实验室拥有或不拥有计算机的情况,对上述问题提出相应解答,并就所讨论的数学模型与方法在一般情形下进行讨论。
3.加工顺序现有14件工件等待在一台机床上加工,某些工件的加工必须安排在另一些工件加工完工以后才能开始,第j号工件的加工时间t j及先期必须完工的工件号i由下表给出。
(1)若给出一个加工工序,则确定了每个工件的完工时间(包括等待与加工两个阶段)。
试设计一个满足条件的加工顺序,使各工件的完工时间之和最小。
(2)若第j号工件紧接着第i号工件完工后开工,机床需要花费的准备时间是:(3)假定工件的完工时间(包括等待与加工两个阶段)超过一确定时限u时,则需支付一定的补偿费用,其数值等于超过时间与费用率之积,各工件的补偿费用率ωi如下:u=100,t ij=0,安排一个加工顺序,使总补偿最小。