1饮酒驾车问题的数学模型【摘要】本问题是生活中的饮酒驾车问题,酒精对人体的作用过程实际上类似于生物医学中的药用过程,针对饮酒方式的不同,本文将饮酒过程分成快速饮酒、某时间段内匀速饮酒和周期饮酒三种形式来讨论。并分别建立了一室快速饮酒、二室匀速饮酒以及周期饮酒三种系统动力学模型,并运用非线性最小二乘法进行数据拟合得到相关参数,从而得到了血液中酒精含量与时间的函数关系。结合模型Ⅰ,运用MATLAB工具得到了快速饮用三瓶啤酒时的违规时间分布,t:0.065—0.24小时内饮酒驾车;t:0.24—4.5小时内醉酒驾车;t:4.5—12小时内饮酒驾车。结合模型Ⅱ,得到了在2个小时内均匀饮用三瓶啤酒的违规时间分布,t:2—4.5小时内为醉酒驾车;当t为4.5---12小时为饮酒驾车。模型Ⅲ的建立,使问题一以及问题三得到了较为确切的解释。【关键词】动力学吸收速率消除速率模型一、问题重述在2003年全国道路交通事故死亡人数中,饮酒驾车造成的占有相当比例,为此,国家发布了新的《车辆驾驶人员血液、呼气酒精含量阈值与检验》国家标准。在新标准下,大李在中午12点喝了一瓶啤酒,下午6点检查时符合标准,接着晚上又喝了一瓶,但凌晨2点检查时却被定为饮酒驾车,为什么喝同样多的酒,两次检查结果不一样?建立饮酒时人体内酒精含量与时间关系的数学模型,并讨论快速或慢速饮3瓶啤酒在多长时间内驾车就会违反新标准,估计血液中的酒精含量在什么时间最高,如果某人天天喝酒,是否还能开车,并根据你所做的结合新国家标准写一篇短文,给想喝一点酒的司机如何驾车提出忠告。二、符号说明及模型假设22.1符号说明0x---------人体饮入酒精总量t----------饮用酒的时间)(tx-------t时刻血液中的酒精量)(1tx------t时刻人体吸收的酒精量M----------人的体重λ---------人的体液占人的体重的百分含量μ----------人的血液占人体重的百分含量1k----------酒精在人体中的吸收速率常数[1]k----------酒精在人体中的消除速率常数[1]tc--------t时刻血液中的酒精浓度F-------------酒精在人体中的吸收度V-------------人体的血液体积V酒-----------喝酒的体积ρ-------------酒中的酒精含量τ-------------饮酒持续时间2.2基本假设1.酒精在血液中的含量与在体液中的含量大至相同;2.每瓶啤酒的酒精含量、体积基本相同;3.酒精进入人体后,不考虑其他因素对酒精的分解作用;4.如果在很短时间内饮酒,认为是一次性饮入,中间的时间差不计;5.确定是否饮酒驾车或醉酒驾车以新的国家标准为界;6.不管喝的是什么酒,只以涉入的酒精总量纳入计算;7.酒精按一级吸收过程进入体内;8.正常情况下,酒精在各人体中的吸收和消除速率基本相同;9.将慢速饮酒看作是一个匀速过程。三、问题分析与模型建立3.1模型Ⅰ(快速饮酒模型)同药物一样,酒精进入机体后,作用于机体而影响某些器官组织的功能;另一方面酒精在机体的影响下,可以发生一系列的运动和体内过程:自用药部位被吸收进入血液循环;然后分布于各器官组织、组织间隙或细胞内;有部分酒精则在血浆、组织中与蛋白质结合;或在各组织(主要是肝脏)发生化学反应而被代谢;最后,酒精可通过各种途径离开机体(排泄);即吸收、分布、代谢和排泄过程。它们可归纳为两大方面:一是酒精在体内位置的变化,即酒精的转运,如吸收、分布、排泄;二是酒精的化学结构的改变,即酒精的转化亦即狭义的代谢。由于转运和转化以致形成酒精在体内的量或浓度(血浆内、组织内)的变化,而且这一变化可随时间推移而发生动态变化。又因为酒精有促进血液循环的作用[2]。而药物动力学模型中的一室模型[3]是指给药后,药物一经3进入血液循环,即均匀分布至全身,故快速饮酒情况可通过建立一室模型求解。虽然酒精在体内的分布状况复杂,但酒精的吸收、分解等则都在系统内部进行,酒精进入人体后,经一段时间进入血液,进入血液后,当在血液中达最高浓度时,随后开始消除[3],把酒精在体内的代谢过程看为进与出的过程,这样便会使问题得到简化。用indtdx和outdtdx分别表示酒精输入速率和输出速率。由于单位时间内血液中酒精的改变即变化率dtdx就等于输入与输出速率之差,所以其动力学模型为:dtdx=indtdx-outdtdx(1)又因为酒精在血液中的消除速率与当时血液内的药量成正比,所以outdtdx=kt,代入(1)式得:dtdx=indtdx-kt(2)则由(2)式可知x(t)的变化规律由饮酒速率而定。而酒精在人体内的代谢可简单的由图一表示:1k(图一)则t时刻吸收室的药量为x1(t),又药物是按一级吸收过程进入体内的,对于吸收室有:dtdx=-k1x1(3)对于房室,indtdx=11xk,于是(2)式变为:kxxkdtdx111(4)(3)、(4)两式构成一阶线性方程组,当t=0时,01)0(Fxx,x(0)=0,解(2)式得:tkeFxx101,将其代入(4)式得一阶线性非齐次方程:tkeFxkkxdtdx101解之得:tkkteekkFxktx1101)(从而,人体内酒精含量为:tkkteekkVFxktC1)()(101吸收室x1(t)x(t)VFx0k4在这种情况下,酒精含量最大值出现的时间:使0dtdc时t的值。一般情况下,又因为酒精在血液中的含量与在体液中的含量大至相同。则有:MFxMx00F(F为常数且0F1)X0=ρV酒则人体内酒精含量与时间函数关系为:)()()(111tkkteeKKVVktC酒(一般情况)3.1.1模型的求解根据图一中酒精含量实测数据拟合,显然它无法化为线性最小二乘,我们直接作非线性最小二乘拟合[4]。用MATLAB优化工具箱的Leastsq[5]计算,拟合参数),,(01VFxkkx程序见:JM2004C1.m。拟合得:1k=2.0079mg·ml-1·h-1,k=0.1855mg·ml-1·h-1,VFx0=11.2423(毫克/毫升),又由FVx2423.110,得到问题中隐含的一瓶啤酒的酒精量约为:27543.635毫克。3.1.2问题一的解答虽然大李喝等量的酒,并且相隔的时间也相同的情况下,两次检查的结果不一样是因为第一次喝下去的酒,在6小时内并没有完全分解,还残留有相当一部分在血液中,并且这一部分在较长时间内不能完全分解。由图(二)喝一瓶啤酒的酒精含量随时间变化的函数图像可知,6小时后,第一次喝的酒的酒精含量约19.5毫克/百毫升。也就是说此时血液中已有一定的酒精量,这样虽然第二次喝的是同样多的酒,由于第一次残留部分的存在,相当于涉入的酒精量已增大了,使其同样再过6小时,酒精含将会大于20毫克/百毫升。这样大李碰到的情况也就很自然的解释了5(图二)现通过实际计算证明:设A为第一次喝酒在六个小时后,残留在血液中的酒精量。则第二次喝酒时,酒精含量C(t)与时间t的函数关系为:)()()()(1101tkkteekkVAFxktC代值用MATLAB计算(程序见JM2004C5.LOG),此时再过6小时酒精含量为:27.4毫克/百毫升。这就大于了第一次的值。3.1.3问题二第一问的求解当一个人在很短时间内喝3瓶啤酒时,相当于在瞬间使其吸收室的酒精浓度达最大值,运用模型Ⅰ并用计算机拟合得其函数图象如(图三)(程序见JM20004C2.LOG),(图三)6由图可得:t:0.065—0.24小时内饮酒驾车;t:0.34—4.5小时内醉酒驾车;t:4.5—12小时内饮酒驾车。3.2模型Ⅱ(匀速饮酒二室模型)3.2.1模型的建立及求解由于在两小时内慢速喝酒有多种方式,为了便于计算我们考虑为匀速饮入等量酒精,即在时间τ内匀速吸收酒精。若体内酒精含量不超过一级消除动力学范围,假设人的酒精含量未达到平衡状态,随着人体吸收次数增多,血液中酒精浓度逐渐升高,当在τ时间内饮完后,由于τ时刻前一小段时间内饮入的酒精在短时刻内没有被吸收,故在τ时刻后一段时间内,酒精浓度将继续升高,某一时刻将达到最大值。这一时刻后,酒精含量就会逐渐减小。考虑到一室模型在求慢速喝酒情况下的局限性,我们采用建立二室模型[6]。对二室模型我们将建立两个关于酒精浓度的动力系统模型来描述其动态特性。3.2.1.1模型二假设:1、机体分为中心室和周边室,两个室的容积在过程中保持不变。2、药物从一室向另一室的转移速率,及向体外的排除速率,与该室的酒精浓度成正比。3、只在中心室一体外有酒精交换,即酒精从体外进入中心室,最后又从中心室排出体外,与转移和排除的数量相比,酒精的吸收可以忽略。3.2.1.2模型建立二室模型的示意图如(图四)所示:tf0饮酒(图四)两个房室中酒精量)(),(21txtx满足的微分方程。)(1tx的变化率由一室向二室的转移112xk,一室向体外排除113xk,二室向一室的转移221xk及酒精)(0tf组成;)(2tx的变化率由一室向二室的转移112xk及二室向一室的转移221xk组成,于是有:)(02211131121tfxkxkxkdtdx2211122xkxkdtdx(1))(txi与血液中酒精含量)(tci、房室容积iV显然有关系式2,1.................................),........()(itcVtxiii(2)将(2)式代入(1)式可得:中心室c1(t),x1(t)V1周边室c2(t),x2(t)V2K12K2172211122121022112113121)()(ckckVVdtdcVtfckVVckkdtdc(3)喝酒相当于在酒精进入中心室之前先有一个将酒精吸收入血液的过程,可以简化为有一个吸收室,如下图,)(0tx为吸收室的酒精,酒精由吸收室进入中心室的转移速率系数为01k,于是)(0tx满足:000010)0(Dxxkdtdx(4)当0)0(,)0(,0)(21010cVDctf时,(3)可以化为:ttBeAetc)(1(5)(图四)酒精经吸收室进入中心室0D是饮入的酒精量,而酒精进入中心室的速率为:)()(0010txktf(6)将方程(5)式代入(6)式得:tkekDtf010100)((7)在这种情况下方程(3)的解的一般形式为:tktatEeBeAetc01)(1(8)此时,这种情况下,酒精含量最大值出现的时间为:使01dtdc时的时间。1321132112kkkkk(9)其中010kDE吸收室)(0tx中心室0010xkf83.2.1.3参数估计不妨设,于是当t充分大时)(1tc可近似为:tAetc)(1对于适当大的it和相应的)(1itc,用最小二乘法估计出A和的值。然后计算tAetctc)()(11(10)再利用(5)式得:tBtcln)(ln1对于较小的it和(10)式算出的)(1itc,仍用最小二乘法可得到B和。由上可得参数值:BA,,,3.2.1.4模型Ⅱ的求解将题中所给参考数据代入,运用MATLAB工具,对前参数估计进行代值计算得:程序见JM2004C6---C8A=69.4908;a=0.3234;B=-48.0251;b=2.77;将所求得的参数代入(8)当中可得,并用MATABT画出匀速喝三瓶啤酒的酒精含量-时间曲线图如图(五)程序见JM2004C9.M(图五)由上函数图象可知:当t为2—4.5小时内为醉酒驾车;当t为4.5---12小时为饮酒驾车。3.3模型Ⅲ(周期饮酒模型)3.3.1模型Ⅲ假设1、每次喝酒相隔时间相同,且为常量。2、每次喝酒量相同93.3.2模型建立设)(ty表式t时刻酒精在人体