这是一个简单的数学建模,但是我不会,哪位大神帮下忙,只要程序和目标函数就可以了,题在下面

这是一个简单的数学建模,但是我不会,哪位大神帮下忙,只要程序和目标函数就可以了,题在下面,第1张

这个是简单的线性规划问题,那些步骤就不给你写了,你可以参照下历年优秀论文来写,现在来写解题过程: 设生产甲产品x,生产乙产品y。 max 20x+30y x+2y<=20 5x+4y<=70 以上就是该问题的模型,下面用LINGO来求解(LINGO是用来求线性规划问题的软件,此题可以用LINDO来解,但是我没有LINDO,所以用LINGO) 程序: model: max=20*x+30*yx+2*y<205*x+4*y<70程序运行求得的结果是: Global optimal solution found at iteration: 0 Objective value: 350.0000Variable ValueReduced Cost X10.000000.000000 Y5.0000000.000000RowSlack or Surplus Dual Price 1350.00001.000000 20.00000011.66667 30.0000001.666667此题较简单,用LINDO求解是比较好的选择,可以直接查看影子价格之类的东西。 若要按照数学建模论文格式写的话,你去数学中国找优秀论文来参考,再者此题跟姜启源《数学模型》第三版的第4章的4.1节奶制品的生产与销售类似,可以找来看看。

饮酒驾车

一 、摘要

本文建立了一个为确定司机酒后驾车时酒精含量是否超标提供参考的数学模型。首先,将酒精含量视为血药浓度,借用药物动力学的房室模型,将酒精在肠胃的吸收过程和在血液中的分解过程抽象为吸收室和中心室里所发生的作用,运用微分方程理论推导出了吸收速率和分解速率随时间变化的规律(,),并用回归分析方法结合题述经验数据具体导出一人在未喝过酒的情况下,饮入2瓶啤酒的血液中酒精含量与时间的关系模型(),以此为基础回答题述的五个问题。

本文的最大特点是将房室模型灵活运用于司机各种不同的饮酒方式,使模型的应用范围和解释力都得到了加强。

二、问题的重述

据报载,2003年全国道路交通事故死亡人数为10.4372万,其中因饮酒驾车造成的占有相当的比例。

针对这种严重的道路交通情况,国家质量监督检验检疫局2004年5月31日发布了新的《车辆驾驶人员血液、呼气酒精含量阈值与检验》国家标准,新标准规定,车辆驾驶人员血液中的酒精含量大于或等于20毫克/百毫升,小于80毫克/百毫升为饮酒驾车(原标准是小于100毫克/百毫升),血液中的酒精含量大于或等于80毫克/百毫升为醉酒驾车(原标准是大于或等于100毫克/百毫升)。

大李在中午12点喝了一瓶啤酒,下午6点检查时符合新的驾车标准,紧接着他在吃晚饭时又喝了一瓶啤酒,为了保险起见他呆到凌晨2点才驾车回家,又一次遭遇检查时却被定为饮酒驾车,这让他既懊恼又困惑,为什么喝同样多的酒,两次检查结果会不一样呢?

请你参考下面给出的数据(或自己收集资料)建立饮酒后血液中酒精含量的数学模型,并讨论以下问题:

1. 对大李碰到的情况做出解释;

2. 在喝了3瓶啤酒或者半斤低度白酒后多长时间内驾车就会违反上述标准,在以下情况下回答:

酒是在很短时间内喝的;

酒是在较长一段时间(比如2小时)内喝的。

3. 怎样估计血液中的酒精含量在什么时间最高。

4. 根据你的模型论证:如果天天喝酒,是否还能开车?

5. 根据你做的模型并结合新的国家标准写一篇短文,给想喝一点酒的司机如何驾车提出忠告。

参考数据

1. 人的体液占人的体重的65%至70%,其中血液只占体重的7%左右;而药物(包括酒精)在血液中的含量与在体液中的含量大体是一样的。

2. 体重约70kg的某人在短时间内喝下2瓶啤酒后,隔一定时间测量他的血液中酒精含量(毫克/百毫升),得到数据如下:

时间(小时) 0.25 0.5 0.75 1 1.5 2 2.5 3 3.5 4 4.5 5

酒精含量 30 68 75 82 82 77 68 68 58 51 50 41

时间(小时) 6 7 8 9 10 11 12 13 14 15 16

酒精含量 38 35 28 25 18 15 12 10 7 7 4

三、问题分析.

该部分包含于 五、模型的建立与分析 中.

四、模型假设与符号约定

假设人体密度是均匀的,而且酒精进入体液的时候马上均匀分布,且血液和体液的酒精浓度是一样的,都以c2 表示。

为了方便计算,保守计啤酒的酒精浓度为5%(g/ml)。

机体分为吸收室和中心室,两个室的的容积(v1,v2),即肠胃容积和体液(血液是其中的一部分)的体积在过程中保持不变。两室的酒精总量分别为x1, x2 。两室的酒精含量分别以浓度c1,c2表示。

酒精从一室向另一室的转移速率(速率系数k1),及中心室分解酒精的速率(速率系数k2),与该室的酒精浓度成正比。

吸收室从外界补给酒精,并将其吸收和散布在体液中;中心室把体液中的酒精分解并将其产物排出中心室外的环境。两室某一时刻的酒精吸收速率或酒精的分解速率分别为,。

g0为酒精的补给速率,是啤酒补给量对时间的导数。

7、喝入2瓶啤酒的酒精总量为D0 。

在这些假设下的一种二室模型示意图如图所示。

中心室(2室)

x2 (t) ,c2(t),v2

吸收室(1室)

x1 (t) ,c1 (t),v1

K2

K1

G0

五、模型的建立与分析

5.1. 下面建立一人在未喝过酒的情况下,短时间内饮入2瓶啤酒的酒精含量与时间的关系模型。

由假设条件与上图,可以写出两个房室中酒精量所满足的微分方程。

的变化率由1室向2室的转移, 1室的酒精补给速率组成;的变化率由由1室向2室的转移及2室向体液外的转移组成。于是有

-------------------------------------------(1)

--------------------------------------------(2)

-------------------------------------------------(3)

由 (1)、(2)、(3)式,得

---------------------------(4)

-----------------------------(5)

(4)、(5)两式构成线性常系数非齐次微分方程,

一人在未喝过酒的情况下,短时间内饮入2瓶啤酒,g0=0,即一下子喝完啤酒,(4)式可化为

=------------------------------------(6)

同时,有c1(0)= ,c2(0)=0 , 由(5)、(6)联合,通过MATLAB可解得

c1(t)=---------------------------------(7)

c2(t)= ---------------(8)

令A =,则(8)可化为

c2(t)= A—A-----------------------------(9)

不妨设<,

第一、当t很大时,(9)可看成是

c2(t)= A ------------------------------- (10)

两边取对数,使得(10)变为线性,得

ln c2(t)=lnA-k2t-------------------------------(11)

通过运用MATLAB进行线性回归分析, 得

lnA=4.9078

A=135.34

k2=0.20507

第二、由(9)得A= A—c2(t) ,在第一步的基础上代入k2,A,t可得出A—c2(t)的一系列具体的值,所以

ln(A)=lnA-k1t=ln(A—c2(t))

就可以通过MATLAB做线性回归分析得出k1=1.4976 ,lnA=4.9425 ,A=140.1201

由第一步和第二步的出的lnA有点误差,但从它们的线性残差分析可见,这两个结果都可用,把上面得出的结果代入(9)式,得

c2(t)= ---------------(12)

这是一人在未喝过酒的情况下,短时间内饮入2瓶啤酒的酒精含量与时间的关系模型,(12)式作图如下:

下面是题目给出的数据作出的散点图,对比一下上图,可见上图拟合的结果是比较精确的。

5. 2 下面建立一人在未喝过酒的情况下,短时间内饮入n 瓶啤酒的酒精含量与时间的关系模型.

---------------------------(6)

-----------------------------(5)

c1(0)= ,c2(0)=0

c1(t)=-------------------------------------(13)

c2(t)= ---------------------------(14)

其中, A=135.34 , k2=0.20507 , k1=1.4976

5. 3. 当一人喝酒前肠胃(吸收室)里没有酒精或酒精已被吸收完了,而体液里(中心室)的酒精仍有残余,这时他立即在短时间内喝完n瓶酒,吸收室酒精总量为nD0/2 ,此时体液酒精浓度(设为初始浓度)c2(0)=a ,吸收室酒精初始浓度为c1(0)= nD0/2/v1,结合以下两式

---------------------(5)

=-----------------------(6)

c2(0)=a , c1(0)= nD0/2/v1

用MATLAB解之并化简得

-------------------------------(13)

---------------(15)

其中, A=135.34 , k2=0.20507 , k1=1.4976

5. 4 当一人吸收室酒精含量为0,中心室亦为0的时候,先用2小时持续地以均匀速率给酒n瓶,在2小时后给酒停住.在这种情况下,c1(0)=0, c2(0)=0 。率为g0= nD0/4.

此时的微分方程组的形式为:

-----------------------------(5)

---------------------------(16)

c1(0)=0, c2(0)=0

用MATLAB解之并化简得到:

-----------------------------------(17)

---------------(18)

其中, A=135.34 , k2=0.20507 , k1=1.4976

六、问题的解答

6.1. 对大李碰到的情况做出解释

大李在中午12点喝了一瓶啤酒,下午6点检查时符合新的驾车标准。因此符合5.1.的模型的条件。运用5.2.的模型,代入t=6,n=1

c2(6)=19.763<20,

符合大李在中午12点喝了一瓶啤酒,下午6点检查时符合新的驾车标准。

紧接着他在吃晚饭时又喝了一瓶啤酒,为了保险起见他呆到凌晨2点才驾车回家,又一次遭遇检查时却被定为饮酒驾车。根据5.1.的模型

c1(t)=-------------------------------------(7)

代入k1=1.4976, =25

(根据经验,可假设大李开始喝酒那一刻的吸收室酒精含量为普通啤酒酒精浓度的一半)

得c1(6)=0.003130

忽略不记。因此他的情况是下午6点吃饭时吸收室酒精浓度为0。按正常情况,大李可能属于5.3 模型,但计算 5.3 模型的 c2(8 )=16.950<20,不符合超标的实际情况。

所以,大李的情况必然是晚饭时酒非一饮而尽,且其体液(即中心室)中有酒精残余。

但这种情况不包含在第五点所建立的四种情况的模型中。设他喝2小时酒,我们可以忽略着两个小时体液内的酒精消耗,设他从第8个小时开始一下子喝完,用5. 3.得 c2(6)=23.5955〉20

所以超标

6.2在喝了3瓶啤酒或者半斤低度白酒后多长时间内驾车就会违反上述标准,在以下情况下回答:

(1)酒是在很短时间内喝的

(2)酒是在较长一段时间(比如2小时)内喝的。

对(1),运用5.2.的模型,代入n=3,

c2(t)= ---------------------------(14)

其中, A=135.34 , k2=0.20507 , k1=1.4976

解不等式

同理,解不等式

因此,若酒是在很短时间内喝的,以开始喝酒那一时刻计时间,

内驾车就会违反上述“80mg”标准, 内驾车就会违反上述“20mg”标准。

对(2),运用5.4的模型,代入n=3,

----------------(18)

其中, A=135.34 , k2=0.20507 , k1=1.4976

解不等式

同理,解不等式

因此,若酒是在较长一段时间(比如2小时)内喝的,以开始喝酒那一时刻计时间,内驾车就会违反上述“80mg”标准,内驾车就会违反上述“20mg”标准。

6. 3 估计血液中的酒精含量在什么时间最高,需要对各种具体的饮酒方式的

血液中酒精含量与时间的关系模型()求最植,下面列举一些简单的结果。

对符合5。1 模型的情况,时候酒精含量最高;

对符合5。2模型的情况,时候酒精含量最高;

对符合5。3模型的情况,何时酒精含量最高与喝酒前血液(中心室)中酒精残余含量有关。

对符合5。4模型的情况,时候酒精含量最高。

6. 4 随着生活的快节奏,我们假设酒都是一下子喝完的,利用5. 2

c2(t)= <20

代入t=12 得出n=4 即每天不得超过4瓶,否则不能开车。

可见,只要掌握好了饮酒的方式和驾车的时机, 天天喝酒还是能开车的.

6 .5短文:

掌握好了饮酒的方式和驾车的时机

------- 给想喝一点酒的司机如何驾车提出忠告

司机朋友们,

掌握好了饮酒的方式和驾车的时机,既有利于公民对国家法规的遵守,又有利于公民人身安全的有效保障.在此,我们向各位司机朋友门提出几点忠告.

若你想喝2瓶啤酒,并且是短时间喝, 我们劝您10小时后方驾车上路.

若你想喝1瓶啤酒,并且是短时间喝, 我们劝您6小时后方驾车上路.

为了您和他人的安全与幸福, 请您掌握好了科学的饮酒的方式和适当的驾车的时机.

七. 参考文献

[1] 梁炼 数学建模 广州: 华南理工大学出版社, 2003.

[2] 姜启源 谢金星 叶俊 数学模型 (第三版) 北京: 高等教育出版社, 2003

[3] 韩伯棠 管理运筹学 北京: 高等教育出版社, 2003

[4] WILLAM F. LUCAS主编 微分方程模型 湖南: 国防科技大学出版社,1988

八. 附录

MATLAB命令在建模中的使用

[b,bint,r,rint,stats]=regress(y,x,0.05)

用MATLAB Statistics Toolbox 中的regress命令完成求解,其格式为

[b,bint,r,rint,stats]=regress(y,x,0.05)

其中输入的y为模型中的因变量数据n维向量,x为对应于回归系数α

=(α0, α1)的数据矩阵[ 1,x1 ] (n*2矩阵,其中第一列为全一向量),0.05为置信水平;输出b为的估计值。bint为b的置信区间,r为残差向量,rint为r 的置信区间。Stats为回归模型的检验统计量,有3个值,第一是回归方程的决定系数R2(R是相关系数),第二是F统计量,第三个是与F统计量对应的概率值p。

例如得到模型的回归系数估计值及置信区间,检验统计量R2,,F,p的结果见下表。

参数 参数估计值 置信区间

α0 108.62 [103.64,113.6]

α1 5.2994 [4.9362,5.6626]

R2=0.9777 F=920.77 P=0.000

上表显示,R2=0.9777指因变量y的97.77%可由模型(1)来决定,F远远超过检验的临界值,P远小于0.05。因而该模型整体来看是可用的。

[x,y]=dsolve('Dx=-k1*x+1/v1*g','Dy=k1*v1/v2*x-k2*y','t')

用来求解微分方程(组)的命令,例如上式表示求解微分方程组

---------------------------(4)

-----------------------------(5)

其中t为自变量, 因变量c1(t), c2(t), 在命令中以x,y 表示.

Plot(x, y)

绘图命令,描绘的图象.

关于数学建模的话,一本比较经典的国内教材是姜启源出的那本《数学模型》,对于初学者可能有一定难度,不过确实比较经典,所以推荐。另外推荐的一本是国外的数学建模的教材,是机械工业出版社出的那本,已经是第四版了,这本书我看的虽然不是很多,不过身边的其他搞数模的同学认为比较好,所以推荐了。另外搞数模的话,一本matlab的相关书籍必不可少,基本数模的程序都由matlab完成了。

关于数学系的英文教材,我们的数学课基本都是双语教学,但是我个人不是数学系的,所以怕推荐的不是很正确,不过一般来说国外的教材都比较经典,个人比较过国内外的数学教材,觉得相比来说,国外的教材思路更加清晰,而国内的教材可能更适合考试,如果你希望对数学推导方面有较大了解,建议看国外教材,不过如果是仅仅参加各种考试,国内的教材很够用了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7942303.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存