饮酒驾车PB09000811张珏慧摘要本文针对当今较为热门的饮酒驾车问题,建立了一个有关饮酒后血液中酒精含量与时间的关系的数学模型,从而对饮酒后是否应该以及什么时候可以驾车进行了判断。在对模型的求解过程中,多次用到了Mathematica软件的拟合计算功能。在建立模型之后又对有关饮酒驾车的一些问题进行了回答。最后得出了无论是否要开车都应适度饮酒,珍爱生命的结论。关键词饮酒驾车、血液酒精含量、微分方程、Mathematica、数学建模一、提出问题每年,我国有许多人因为交通事故而丧生。据报载,2003年全国道路交通事故死亡人数达到了10.4372万。在这些交通事故中,因饮酒驾车而造成的灾难占有相当的比例。酒后驾车越来越变得屡见不鲜的,尤其是经常发生在夜间,成为交通肇事的重大原因。针对这一严重的道路交通情况,国家质量监督检验检疫局2004年5月31日发布了新的《车辆驾驶人员血液、呼气酒精含量阈值与检验》国家标准,新标准规定:车辆驾驶人员血液中的酒精含量大于或等于20毫克/百毫升,小于80毫克/百毫升为饮酒驾车(原标准是小于100毫克/百毫升),血液中的酒精含量大于或等于80毫克/百毫升为醉酒驾车(原标准是大于或等于100毫克/百毫升)。现有一名司机师傅大李在中午12点喝了一瓶啤酒,下午6点检查时符合新的驾车标准,紧接着他在吃晚饭时又喝了一瓶啤酒,为了保险起见他呆到凌晨2点才驾车回家,又一次遭遇检查时却被定为饮酒驾车,这让他既懊恼又困惑,为什么喝同样多的酒,两次检查结果会不一样呢?参考下面给出的数据(或自己收集资料)建立饮酒后血液中酒精含量的数学模型,并讨论以下问题:1.对大李碰到的情况做出解释。2.在喝了3瓶啤酒或者半斤低度白酒后多长时间内驾车就会违反上述标准,在以下情况下回答:(1)酒是在很短时间内喝的;(2)酒是在较长一段时间(比如2小时)内喝的。3.怎样估计血液中的酒精含量在什么时间最高。4.根据你的模型论证:如果天天喝酒,是否还能开车?5.根据所做的模型并结合新的国家标准写一篇短文,给想喝一点酒的司机如何驾车提出忠告。参考数据1.人的体液占人的体重的65%至70%,其中血液只占体重的7%左右;而药物(包括酒精)在血液中的含量与在体液中的含量大体是一样的。2.体重约70kg的某人在短时间内喝下2瓶啤酒后,隔一定时间测量他的血液中酒精含量(毫克/百毫升),得到数据如下:时间(小时)0.250.50.7511.522.533.544.55酒精含量306875828277686858515041时间(小时)678910111213141516酒精含量3835282518151210774二、问题分析根据常识及高中生物课所学知识,我们知道酒精无需经过消化系统即可被胃部直接吸收,进入血管。在这个过程中,吸收和代谢过程是同时进行的。由此易知血液中酒精浓度同时受吸收和代谢影响。于是在下面的建模过程中我们可以分别对吸收过程和代谢过程作分析和讨论:(1)吸收过程在这个过程中我们考虑的是胃吸收酒精进入体液所引起的酒精量的增加,其中我们最关注的是各个时刻酒精由胃部进入人体体液的速率。又由于喝下的酒精在时间无穷长时总会被胃部全部吸收(并不会有残留),因此我们还可以得到一个重要结论:吸收速率关于时间从0到无穷的积分等于初始时体液中的酒精含量。(2)代谢过程这里我们不妨认为酒精的代谢速率与当前体液中含有的酒精量成正比关系,则结合两个过程及酒精量得守恒就可以得到一个关于时间的微分方程,只要在一定条件下解出这个微分方程问题就迎刃而解了。三、基本假设由以上分析,根据实际情况及求解方便综合考虑,不妨做出如下的基本假设:(其中带*号为重要假设)1.假设人体的血液和体液中酒精浓度相等,酒精进入血液后瞬间混合均匀;2.假设整体过程中人没有摄入任何影响代谢的药类物质和作剧烈性运动;3.假设喝啤酒后啤酒中的酒精全部进入胃部,然后经过胃吸收渗透到体液中;4.人体自身由于新陈代谢而产生的酒精量忽略不计;5.*人对酒精的代谢速率与当前血液中酒精浓度成正比;6.*人体体液对酒精吸收速率与当前肠胃中酒精含量成正比;7.人的吸收速率和代谢速率保持恒定的。以下的各种讨论都是基于以上基本假设的。四、符号说明以下的分析过程中各个字母(符号)所代表的变量如下表:变量含义单位说明a吸收能力系数h-1人体体液对酒精吸收速率与当前肠胃中酒精含量的比例系数b代谢能力系数h-1人体对酒精的代谢速率与当前血液中酒精浓度的比例系数C0初始酒精浓度mg/100mL人还未喝酒时血液中酒精的浓度Q0酒精总量mg人喝酒时喝下的酒中所含酒精的量V0体液总体积100mL人体中体液所占体积t时间h研究过程中所用到得时间变量T喝酒持续时间h问题二中长时间饮酒过程中喝酒持续的时间v(t)酒精吸收速率mg/ht时刻酒精由肠胃进入体液的速率X(t)体液中酒精量mgt时刻体液中酒精的总量C(t)体液酒精浓度mg/100mLt时刻体液中酒精的浓度Y(t)肠胃中酒精量mgt时刻肠胃中酒精的总量V(t)喝酒速率mg/h问题二长时间饮酒酒精由口进入肠胃的速率五、模型的建立由上面的分析过程及基本假设,不难初步列出如下关系式:吸收过程有:∫𝑣(t)∞0𝑑𝑡=𝑄0结合代谢过程由酒精量守恒有:𝑑X(t)𝑑𝑡=𝑣(𝑡)−𝑏𝑋(𝑡)带入C(t)=𝑋(𝑡)𝑉0可得:𝑑C(t)𝑑𝑡=𝑣(𝑡)𝑉0−𝑏𝐶(𝑡)故可列出方程组:∫𝑣(t)∞0𝑑𝑡=𝑄0𝑑C(t)𝑑𝑡=𝑣(𝑡)𝑉0−𝑏𝐶(𝑡)C(0)=𝐶0同时跟据实际上的两种不同情况,还可以补充部分条件:(一)在短时间内饮酒此时有肠胃对酒精的吸收速率v(t)与肠胃中酒精的量Y(t)成正比:v(t)=aY(t)又由v(t)=−𝑑𝑌(𝑡)𝑑𝑡,方程组可扩充为:∫𝑣(t)∞0𝑑𝑡=𝑄0𝑑C(t)𝑑𝑡=𝑣(𝑡)𝑉0−𝑏𝐶(𝑡)v(t)=aY(t)𝑑𝑌(𝑡)𝑑𝑡=−aY(t)C(0)=𝐶0,Y(0)=𝑄0(二)在较长一段时间内饮酒在这种情况下可以近似认为酒(精)是匀速进入肠胃的,则有在整个过程中,肠胃中酒精的改变量等于喝入肠胃的酒精量减去肠胃对酒精的吸收量,即𝑑𝑌(𝑡)𝑑𝑡={𝑄0𝑇−𝑎𝑌(𝑡)0𝑡𝑇−𝑎𝑌(𝑡)𝑡≥𝑇因此此时方程组可以扩充为:∫𝑣(t)∞0𝑑𝑡=𝑄0𝑑C(t)𝑑𝑡=𝑣(𝑡)𝑉0−𝑏𝐶(𝑡)v(t)=aY(t)𝑑𝑌(𝑡)𝑑𝑡={𝑄0𝑇−𝑎𝑌(𝑡)0𝑡𝑇−𝑎𝑌(𝑡)𝑡≥𝑇C(0)=𝐶0,Y(0)=0六、模型的求解以上模型的求解过程即为微分方程的求解过程:两个模型所满足的共性方程为:∫𝑣(t)∞0𝑑𝑡=𝑄0𝑑C(t)𝑑𝑡=𝑣(𝑡)𝑉0−𝑏𝐶(𝑡)C(0)=𝐶0利用常数变异法可以解得:C(t)=𝐶0𝑡𝑉0∫𝑣()𝑑𝑡0(*)对于模型一:𝑑𝑌(𝑡)𝑑𝑡=−aY(t),Y(0)=𝑄0利用Mathematica数学软件求解如下:DSolve[{Y'[t]+aY[t]0,Y[0]Q0},Y[t],t]{{Y[t]-atQ0}}即Y(t)=𝑄0𝑡v(t)=aY(t),代入(*)式有:C(t)=𝐶0𝑡𝑡𝑉0∫𝑎()𝑑𝑡0=𝐶0𝑡𝑎𝑄0(𝑎−𝑏)𝑉0(𝑡−𝑡)对于模型二,取T=2:𝑑𝑌(𝑡)𝑑𝑡={𝑄02−𝑎𝑌(𝑡)0𝑡2−𝑎𝑌(𝑡)𝑡≥2利用Mathematica数学软件求解如下:DSolve[{Y'[t]+aY[t]-Q0/20,Y[0]0},Y[t],t]{{Y[t](-at(-1+at)Q0)/(2a)}}即Y(t)={𝑄02(1−𝑡)0𝑡≤2𝑌(2)𝑡𝑡2v(t)=aY(t),代入(*)式及特殊值化简有:C(t)={𝑄0(1)+𝑄0(𝑎1)2()𝑉00𝑡≤2(10𝑎()(𝑎1)(𝑎𝑎)𝑄0+203()𝑉0)20()𝑉0𝑡≥2现在根据给出的具体数值需要确定a,b的值:现设𝑄0=40000𝑚𝑔,𝑉0=420百毫升,𝐶0≈0对于模型一,在Mathematica中拟合有:DATA={{0.25,30},{0.5,68},{0.75,75},{1,82},{1.5,82},{2,77},{2.5,68},{3,68},{3.5,58},{4,51},{4.5,50},{5,41},{6,38},{7,35},{8,28},{9,25},{10,18},{11,15},{12,12},{13,10},{14,7},{15,7},{16,4}};FindFit[DATA,{a*40000/420/(a+b)*(E^(bt)-E^(-at))},{a,b},t]{a2.33564,b-0.164695}即a=2.33564,b=0.164695可以在Mathematica中做出图像如下:,t,40000420⁄23356382931488535(2335638293148853501646954309259567)⁄((−01646954309259567𝑡)−(−23356382931488535𝑡)),*𝑡,0,20+-,tt,,ttt,002---对于模型二,拟合得函数图像为:七、问题解释(一)问题1的解答大李第一次饮酒与接受检查之间间隔了6小时,代入模型的方程中解得C(6)=1882mg/100m,没有超过20mg/100m,故检查合格。而若第二次饮酒后再接受检查,第一次饮的酒还没有完全代谢掉,加上第二次饮的酒,此时体液中酒精含量应为C(6)C(14)=2313mg/100m,超过了20mg/100m,因此不合格是正常的。(二)问题2的解答(1)酒是短时间内喝的,此时符合模型一,因此求解该问题等价于求解方程C(t)=20mg/100m使用Mathematica求解可得到:F[t_]:=60000/420*2.3356382931488535`/(2.3356382931488535`+0.1646954309259567`)*(E^(-0.1646954309259567`t)-E^(-2.3356382931488535`t))FindRoot[F[t]20,{t,10}]{t11.5241}即t=1152()时,C(t)恰为20mg/100m。也就是说,喝完啤酒后1152()以内驾车都会违反规定(2)酒是在一段时间(2小时)内喝的,此时符合模型二,同模型一的求解过程𝑡(10(2+𝑡)(2−1)(2+𝑡−2+𝑡)𝑄02053(𝑎−𝑏)2𝑉0)20(𝑎−𝑏)𝑉0=20带入系数的值即可解得t=1263()。即,在这种情况下从开始喝酒算起,12.63小时以内不可以驾车。(三)问题3的解答法Ⅰ图像法我们可以利用Mathematica的功能,从图像上读出最大值:(1)短时间饮酒可以看到,是在t=124()左右会达到最大值,即饮酒后t=124()时血液中酒精含量最高。(2)在一段时间内饮酒可以看到,是在t=2619()左右会达到最大值,即饮酒开始以后t=2619()时血液中酒精含量最高。法Ⅱ求导法利用导数为0处会取到极大值。以短时间饮酒为例:在Mathematica中求解如下方程:FindRoot[D[F[t],t]0,{t,2}]{t1.22156}即得到t=122()时会达到极大值(最大值)即饮酒开始以后t=2619()时血液中酒精含量最高。这与图像法结果相近。(四)问题4的解答若每天都喝酒,设一天喝1瓶啤酒,则由之前的结论:F[t_]:=20000/420*2.3356382931488535`/(2.3356382931488535`+0.1646954309259567`)*(E^(-0.1646954309259567`t)-E^(-2.33563