- 2022-04-09 发布 |
- 37.5 KB |
- 17页
申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
文档介绍
数学建模论文编辑资料范文样板
''饮酒驾车的优化模型摘要酒后驾车发生事故给人身安全造成极大的伤害,在全世界引起了广泛的关注。本文通过分析啤酒中酒精在人体体内胃肠(含肝脏)与体液(含血液)之间的交换机理,分别建立了在短时间内喝酒和长时间喝酒两种情况下,胃肠和体液(含血液)中的酒精含量的微分方程。对给出的数据,利用非线性最小二乘数据拟合及高斯-牛顿算法,确定了一瓶啤酒中的酒精含量以及酒精从胃肠进入血液的速度系数和酒精从血液渗透出体外的速度系数。继而,对不同喝酒方式下,血液中酒精浓度进行分析。该模型不仅能很好地解释大李在中午12:00时喝了一瓶啤酒后,在下午6:00时检查时符合驾车标准,紧接着再喝一瓶啤酒后,在次日凌晨2:00时检查却被判为饮酒驾车这一现象,而且可以预测喝酒后任一时刻血液中的酒精浓度.利用所建立的模型,我们可得到以下结果:1.大李在第一次检查时血液酒精浓度为19.9616毫克/百毫升。第二次检查时血液酒精浓度为20.2448毫克/百毫升,这是由于第一次喝酒在体液中残留的酒精所导致。2.在短时间内,喝三瓶啤酒或喝半斤低度白酒分别在12.25小时和13.6小时内驾车会违反驾车新标准规定;在2小时间内喝3瓶啤酒或喝半斤低度白酒分别在13.28小时和14.63小时内驾车会违反驾车新标准规定。3.短时间喝酒,无论喝多少酒,血液中的酒精含量达到最高所用时间均为1.3255小时。长时间也与所喝酒精的量无关,只与喝酒所持续时间有关,我们得到喝酒持续时间与酒精含量到达最高点的时间的关系如下:喝酒所用的时间(单位:小时)12345678酒精含量到达最高点的时间1.91392.65103.48354.37135.29176.23297.08808.15304.如果天天喝酒,只要适当控制好喝酒量与喝酒以后到开车的间隔时间还是可以开车的。比如:一个70公斤,喝2瓶啤酒需间隔10小时以上。该模型能较精确的预测时间与血液中酒精浓度的关系,其解具有较好的稳定性,为定量研究饮酒与驾车的关系提供了科学的依据。同时,它具有很好的推广和应用价值,模型可推广到医学,化学等方面。n''一、问题的重述酒后驾车引起的死亡事故占全国交通事故相当大的比例。酒后驾车的认定是以血液中酒精含量为判罚标准。全国新的《车辆驾驶人员血液、呼吸酒精含量阀值与检验》中规定:驾驶人员血液中的酒精含量大于或等于20毫克/百毫升,小于等于80毫克/百毫升为饮酒驾车,血液中的酒精含量大于或等于80毫克/百毫升为醉酒驾车。大李在一天中喝了2次啤酒。第一次是在中午12点喝了一瓶,下午6点检查时符合驾车标准,紧接着他吃饭时又喝了一瓶,到凌晨两点驾车回家又被检查却被判定为饮酒驾车,要求建立饮酒后血液中酒精含量的数学模型,并对以下问题进行分析:1.对大李碰到的情况作出解释。2.在喝了三瓶啤酒或者半斤低度白酒后至少要多长时间加车才不会违反上述标准,分两种情况讨论:(1)酒是在短时间内喝的;(2)酒是在很长一段时间(如2小时)内喝的。3.血液中酒精含量的最高值是什么时间。4.论证:如果天天喝酒,还能否开车?根据模型结合国家的有关标准写一篇短文,给喝酒的司机提出忠告。二、模型假设1.假设喝啤酒后,啤酒中的酒精全部进入胃肠(含肝脏),然后经过胃肠渗透到体液中。2.假设酒精从胃肠向体液的转移速度,与胃肠中的酒精浓度(或含量)成正比。3.假设体液中的酒精消耗(向外排出、分解或吸收)的速度,与体液中的酒精浓度(或含量)成正比。4.对问题一,假设大李在下午6点接受检查,之后由于停车、等待等原因耽误了一定时间(这里不妨小时),即大李从第一次检验到第二次喝酒之间间隔为半个小时。5.假设大李在两次喝酒时都是将酒瞬时喝下去并立即进入胃肠中,没有时间耽搁。(针对问题一)6.假设酒在很短的时间内喝完即将酒瞬时喝下去并立即进入胃肠中,没有时间耽搁。7.假设酒在较长一段时间内喝时是匀速喝下去,即每个时间段喝的酒是相等的。8.假设酒精在血液中的含量与体液中的含量相同。(题中参考数据)9.假设不考虑个体差异(即对于每个人,酒精由胃肠向体外排的速度系数及向体液渗透的速度系数,体液中酒精向体外排除的速度系数是不变的。)10.假设人体不会产生酒精。11.假设题目中所给的数据真实可靠。12.假设体液的密度为1千克/升。13.假设不考虑体外进入体内的水。n''三、变量说明:酒精进入胃肠的速率;:在第次喝酒后t时刻胃肠中的酒精质量;:在第次喝酒后t时刻体液中的酒精质量;:酒精从胃肠渗透到(除体液外)其它地方的速率系数;:酒精从胃肠进入体液的速率系数;:酒精在体液中消耗(向外排除或分解或吸收)的速率系数;:一瓶酒中的酒精质量(单位:毫克);:喝酒的瓶数;:大李第i+1次喝酒距第i次喝酒的时间间隔;:一次喝酒持续的总时间;:体液中的酒精含量;:人体体液的体积(单位:百毫升)。四、模型建立一个人的血中酒精含量取决于他喝了多少酒、他体内原有的酒精含量以及喝酒方式等。由科普知识知道,酒精是经胃肠(主要是肝脏)的吸收与分解进体液的。因此本文把酒精的从胃肠(含肝脏)向体液转移情况用如下简图(图一)直观地表示:胃肠体液(图一)其中为酒精从胃肠渗透到(除体液外)其它地方的速率系数;为酒精从胃肠进入体液的速率系数;n''为酒精在体液中消耗(向外排除或分解或吸收)的速率系数;为酒精进入胃肠的速率。问题一:要解释大李碰到的情况,就要证明大李在中午12点喝一瓶啤酒后在下午6点时体内血液中的酒精含量小于20,在晚饭时再喝一瓶啤酒后在凌晨2点时体内血液中的酒精含量大于或等于20。由于酒精在血液中的含量与在体液中的含量相同,下面讨论人喝酒后胃肠与体液中的酒精含量。根据假设的条件及图一可以看出:的变化率由从胃肠进入体液的酒精和从胃肠渗透到(除体液外)其它地方的酒精组成;的变化率是由从胃肠进入体液的酒精与在体液中消耗(向外排出、分解或吸收)的酒精组成。所以,可以建立如下的微分方程:(1)大李在中午12点喝一瓶啤酒时,即在t=0时,胃肠中的酒精量为一瓶酒中的酒精与饮酒瓶数的乘积,而此时体液中的酒精量为零。因此初始条件为体液(或血液)中酒精的浓度为根据以上建立的微分方程模型,求出当时的值,并判定(毫克/百毫升)是否成立,若成立,则说明大李在中午12点喝一瓶啤酒后在下午6点时符合驾车标准。(2)大李第二次喝酒时胃肠和体液中已经有酒精,所以在第二次喝酒即t=0时胃肠中的酒精量为N瓶酒中的酒精质量与第一次喝酒后残留在胃肠中的酒精质量之和,而此时体液中的酒精质量为第一次喝酒后残留在胃肠中的酒精质量n''。因此大李第二次喝酒的模型如下:根据题意,判断是否成立。问题二:(1)问题二的第一问与问题一中大李第一次喝酒的情况大致相同,模型如下:(2)对于第二问,的变化率由从胃肠进入体液的酒精,从胃肠渗透到(除体液外)其它地方的酒精以及酒精进入胃肠的速率组成。的变化率由从胃肠进入体液的酒精与在体液中消耗(向外排出、分解或吸收)的酒精组成。在饮酒期间(),假设酒精进入胃肠的速度是匀速的,则酒精进入胃肠的速率为,饮酒后,无酒精进入胃肠,所以,因此,建立微分方程模型如下:其中下面讨论初始条件,因在t=0时胃肠中的酒精质量和体液中的酒精质量都为零。故初始条件为n''体液(或血液)中酒精的浓度为问题二即求满足的时间范围。问题三:问题三分为两种情况:第一种情况是酒在很短的时间内喝的,第二种情况是酒在较长一段时间内喝的。第一种情况:酒在很短的时间内喝的,要求血液中酒精含量最高的时间,即求体液中酒精含量函数的最值点。用极值与最值的关系,因最值存在,且可验证驻点唯一,故可通过求解驻点得到。即求满足的时间。其中满足以下微分方程第二种情况为:酒在较长一段时间内喝完,同理为求满足的时间。其中满足以下微分方程n''问题四:如果天天喝酒,设每天喝瓶,第次饮酒与第次饮酒的间隔时间为,每日饮酒量为,按照与问题一同样的思路,得第一天体液中酒精含量满足的微分方程为:第二天体液中酒精含量满足的微分方程为:…第n天体液中酒精含量满足的微分方程为:五、模型求解问题一的求解:微分方程(1)是可分离变量的,(2)是一阶线形非齐次方程,所以很容易可以得到它满足初始条件的特解为n''令,,解可转化为根据题目中所给的饮两瓶啤酒的数据,此时。对于利用非线性最小二乘法拟合及高斯-牛顿算法可得:拟合图形如下:图中圆圈表示的点是根据题中参考数据画出的图形,曲线为拟合后的图形。将以上数据代入问题一的模型中,可求得大李在中午12点饮一瓶啤酒,即时,到下午6点第一次检查时体液中的酒精含量(即血液中的酒精含量)所以大李通过了第一次检查。n''大李第二次喝酒模型的方程解为:考虑到大李在下午6点接受检查,之后由于停车等待等原因耽误了大约半个小时,假设大李从第一次检验到第二次喝酒之间间隔0.5小时,代入数据计算可得第二次检验时,大李血液中酒精含量为:20.2448(毫克/百毫升)。这就解释了大李在第一次喝酒通过检查,第二次喝同样的酒且经过更长的时间检查却被定为饮酒驾车的情况,因为第二次喝酒时有第一次喝酒的残留量。问题二的求解:我们分别考虑喝了3瓶啤酒和半斤低度白酒在短时间和2小时内喝下的情况。短时间内喝下的模型的解(已在问题一求解中解得到)为:在一个较长时间内喝下的微分方程中,是个分段函数,所以需要分段求解,我们将其转化为两个微分方程:(1)(2)微分方程组(1)的解为:微分方程组(2)的解为:n''在代入具体参数值进行计算可得:多少时间内驾车违反新规定3瓶啤酒(500ml,5°)半斤白酒(38°)短时间内喝完12.25小时13.6小时2小时内喝完13.28小时14.63小时问题三的求解:第一种情况是酒在很短的时间内喝下的,我们在问题一中已求得令可得可见无论喝多少酒,体液中酒精的含量达到最高所用的时间均为1.3255小时,如下图:n''图中曲线分别表示喝1瓶,2瓶……5瓶啤酒体液中酒精含量的走势图。第二种情况是酒在较长一段时间内喝的,其体液中酒精含量的表达式为分段函数,并可证明其高值在后半段到达。令,可得喝酒所用的时间(单位:小时)12345678酒精含量达到最高点所用的时间(单位:小时)1.91392.65103.48354.37135.29176.23297.08808.1530此图为一瓶啤酒在不同的时间内喝完的图形,8条曲线从左到右分别为1-8个小时内喝完酒体液中酒精含量走势图。其中每条曲线的最高点为体液中酒精含量的最高值。图中点组成的图形表示持续喝酒时体液中酒精含量的变化,曲线表示喝完酒后体液中的酒精含量变化。对于其它的情况也可用同样的方法估计血液中的酒精含量在什么时间最高。问题四的求解:先求出和的表达式,它们都是等比数列,再求极限。n''通过带入数值计算,如果一个70kg的人天天喝酒,(每天喝酒一次,每次喝酒时间固定,且短时间内喝完),每天喝的酒量一致,喝酒以后6小时后再开车,则每天最多喝1瓶啤酒;如果喝酒以后10小时以后再开车,则每天最多喝2瓶啤酒。喝啤酒瓶数多少小时以后可以开车16210313414516短文合理饮酒安全驾车—珍爱生命影星牛振华醉酒驾车,在北京西外大街发生事故,当场身亡。此事凸显了酒后驾车的高度危害性。据了解,我国每天在车轮下丧生者达200余人,约50%-60%的车祸与饮酒有关。面对血的事实,我们很想知道饮酒对驾车的影响有多大?专家指出,当血液中酒精超过0.1%即进入醉态。酒精对驾驶员的危害很大,有专家指出,酒精进入人体后无论多少都会对神经系统造成损害,使人对事物的判断出现偏差。驾驶员在没有饮酒的情况下,发现前方有危险情况,从视觉感知到踩制动器的动作中间的反应时间为0.75秒,饮酒后尚能驾车的情况下反应时间要减慢2-3倍,这大大增加了出事的可能性。驾车前即使只喝了一小杯酒,都会不同程度地影响驾驶员的反应能力。人呈微醉状开车,其发生事故的可能性为没有饮酒情况下的16倍。n''国家于2004年5月31日颁布了新的《车辆驾驶人员血液、呼气酒精含量阀值与检验》。一般人喝1-2瓶容量为640毫升、酒精含量约5%的啤酒,100毫升血液内酒精含量为0.5克-0.7克时,事故率为55%;饮用3瓶啤酒,酒精含量为1.2克时,事故率为65%;饮用5瓶啤酒,酒精含量为1.8克时,事故率为90%。驾驶员要掌握好喝酒与驾车的关系才能保证自己和他人的安全。通过对酒精在人体内变化情况的分析,我们提醒司机朋友:少饮酒,更不能连续饮酒。我们喝酒越多,需要等待驾车的时间越长,喝酒的方式不同,需要等待的时间也不同。以喝啤酒为例:在短时间内,喝一瓶啤酒,至少需要等待6个小时;喝2瓶啤酒则要等待10小时;喝3瓶啤酒则至少需要等待12小时才能驾车。在长时间内(如2小时)喝3瓶啤酒则需要等待13小时才能驾车。如果你想天天喝点啤酒,则在饮酒后必须等待足够长的时间才能驾车。例如:天天喝酒,喝完酒想在6小时后开车,则每天最多喝1瓶啤酒;如果喝完酒想在10小时后开车,则每天最多喝2瓶啤酒;如果喝完酒想在13小时后开车,则每天最多喝3瓶啤酒等等。要科学的处理好饮酒与驾车的关系才能保证你和他人的安全。人的生命只有一次,请不要因为一时的喜好而放弃宝贵的生命。我们再次提醒爱喝酒的司机朋友,驾车的前一天尽量不喝酒。六、模型的分析与检验本文分别建立了在短时间内喝酒和长时间喝酒两种情况下体液(含血液)中的酒精含量的模型,对给出的数据,利用非线性最小二乘数据拟合及高斯-牛顿算法,确定了一瓶啤酒中的酒精含量以及酒精从胃肠进入血液的速度系数和酒精从血液渗透出体外的速度系数。根据模型得到的结果基本符合实际。模型具有较好的稳定性,能够根据每天喝的酒量来算出可安全驾车的时间限定。七、模型的评价与推广模型很好的描述了酒精在体内的变化规律,在酒精摄入的不同(即喝不同量的酒)时能够较为准确的预测出不同时间的血液酒精浓度。对司机安排喝酒与开车的关系有指导性作用。能够有效的防止酒后驾车的发生。模型的优点:1.本模型简明易懂,具有较好的通用性。2.模型把复杂的生理循环问题转化为胃肠与体液之间的简单变化。模型的缺点:1.本模型存在近似误差,是通过拟合产生的;2.本模型未考虑不同的人对酒精的消耗速率可能存在差异。模型的推广1.模型稍作修改可以用于药物动力学,对药物在体内的浓度的变化进行研究。模型可以推广到化学方面。八、参考文献[1]姜启源、谢金星、叶俊,《数学模型》第三版,高等数学出版社,2003年8月。n''[2]同济数学研究室,《高等数学》,北京,高等数学出版社,2002年6月。[3]飞思科技产品研发中心,《MATLAB6.5辅助优化计算与设计》,电子工业出版社,2003年4月。[4]苏金明、张莲花、刘波等,《MATLAB工具箱应用》,电子工业出版社,2004年1月。[5]王灵儿、周汉桥,人体酒精含量与交通事故率密切相关网址:http://www.cnhubei.com/200406/ca481390.htm访问时间(2004年9月17日)。[6]梁静平、董少广,酒成为第二大健康杀手警惕慢性酒精中毒网址:http://finance.sina.com.cn/o/20020730/1508238349.html访问时间(2004年9月17日)。八、附录附录一:(题中所给的参考数据)时间(小时)0.250.50.7511.522.533.544.55酒精含量306875828277686858515041时间(小时)678910111213141516酒精含量3835282518151210774附录二:MATLAB源程序主函数:%C2004_02clear%体液的容积。tizhong=700*0.68;%样本数据。x=[0.250.50.7511.522.533.544.55678910111213141516];y=[3068758282776868585150413835282518151210774]*tizhong;plot(x,y,'r')%非线性曲线拟合;beta0=[101-100*tizhong];betafit=nlinfit(x,y,'C_01',beta0);holdont=0.1:0.1:16;%plot(t,C_01(betafit,t),'b')betafit(1)=betafit(1)+0.01;betafit(2)=betafit(2)-0.01;n''plot(t,C_01(betafit,t),'k');y=sym('-27234.2(exp(-2.0180*t)-exp(-0.1754*t))');xlabel('t(0>=0)','FontWeight','bold');ylabel(char(y),'FontWeight','bold');a=25000;b=38*250*10;num=1;%nlintool(x,y,'C_01',beta0)%保存数据m(1)=betafit(1);m(2)=betafit(2);m(3)=-betafit(3)*(m(1)-m(2))/2;k12=(betafit(3)*(m(2)-m(1)))/(2*a)k11=m(1)-k12k21=m(2)m(4)=a;m(5)=k12;holdoff%时间相同,酒量不同的比较。fori=1:5plot(t,Cbj01(i,a,k11,k12,k21,t),'b')holdonendholdofffortt=1:8t=0.1:0.1:tt;plot(t,Cz01(num,tt,m,t),'k')holdont=tt:0.1:16;plot(t,Cz02(num,tt,m,t),'b')maxtt(tt)=maxt2(num,tt,m);endholdoffdisp('大李短时间喝一瓶5度的啤酒,6个小时后的酒精含量为');n''Cy01(num,m,6)/tizhongdisp('大李间隔6小时后短时间喝一瓶5度的啤酒,8个小时后的酒精含量为');T1=6;T2=8;tempT=0.5;Cy02(num,m,T1+tempT,T2-tempT)/tizhongnum=3;tt=2;disp('短时间喝3瓶5度的啤酒,12.25个小时后的酒精含量为');Cy01(num,m,12.25)/tizhongxx0=Cx01(num,tt,m,tt);yy0=Cz01(num,tt,m,tt);xx0/tizhong;yy0/tizhong;disp('2个小时喝3瓶5度的啤酒,13.28个小时后的酒精含量为');Cz02(num,tt,m,13.28)/tizhongdisp('短时间喝一瓶38度的白酒,13.6个小时后的酒精含量为');Cbj01(1,b,k11,k12,k21,13.6)/tizhongdisp('2个小时喝一瓶38度的白酒,14.63个小时后的酒精含量为');Cbj02(1,2,b,k11,k12,k21,14.63)/tizhong辅函数:functionzz=Cbj01(num,a,k11,k12,k21,t)zz=num*a*k12*(exp(-(k11+k12)*t)-exp(-k21*t))/(k21-k11-k12);functionzz=Cbj02(num,tt,a,k11,k12,k21,t)t=t-tt;x0=num*a*(1-exp(-(k11+k12)*tt))/(tt*(k11+k12));y0=num*a*k12*exp(-k21*tt)*(exp(k21*tt)/k21-exp((k21-k11-k12)*tt)/(k21-k11-k12)+1/(k21-k11-k12)-1/k21)/(tt*(k11+k12));zz=k12*x0*(exp(-(k11+k12)*t)-exp(-k21*t))/(k21-k11-k12)+y0*exp(-k21*t);functionxx=Cx01(num,tt,m,t)xx=((num*m(4))/(tt*m(1)))*(1-exp(-m(1)*t));n''functionyy=Cy01(num,m,t)yy=(-num*m(3)*(exp(-m(1)*t)-exp(-m(2)*t)))/(m(1)-m(2));functionyy=Cy02(num,m,T1,t)yy=num*((1+exp(-T1*m(1)))*exp(-m(1)*t)-(1+exp(-T1*m(2)))*exp(-m(2)*t))*m(3)/(m(2)-m(1));functionzz=Cz01(num,tt,m,t)zz=((num.*m(3))/(tt.*m(1))).*exp(-m(2).*t).*...((exp(m(2).*t)/m(2))-(exp((m(2)-m(1)).*t)/(m(2)-m(1)))+(1/(m(2)-m(1)))-(1/m(2)));functionzz=Cz02(num,tt,m,t)x0=Cx01(num,tt,m,tt);y0=Cz01(num,tt,m,tt);t=t-tt;zz=((m(5).*x0)/(m(2)-m(1))).*(exp(-m(1).*t)-exp(-m(2).*t))+y0.*exp(-m(2)*t);functionzz=maxt2(num,tt,m)x0=Cx01(num,tt,m,tt);y0=Cz01(num,tt,m,tt);a1=log(y0-(m(5)*x0)/(m(2)-m(1)));a2=log(m(2));a3=log((-m(1)*m(5)*x0)/(m(2)-m(1)));zz=(a1+a2-a3)/(m(2)-m(1))+tt;查看更多