酒后血液中酒精含量分析模型 下载本文

酒后血液中酒精含量分析模型

摘要:本文使用简单的微分方程组模型,对人们饮酒后人体血液中的酒精含量进行了分析。

首先,针对酒精在消化系统和血液系统中的吸收、分解和排除规律,建立了关于消化系统和血液中的酒精含量的微分方程模型(模型一),求出了血液中酒精含量

?k1m的解析解 c2(t)?(e?k1t?e?k2t),并利用题目给出的参考数据,针对不同的

V(k2?k1)啤酒瓶规格,使用非线性最小二乘法得到模型中的参数k1?2.9129和k2?0.1380;

然后,针对不同的饮酒方式建立了三个不同的描述消化系统和血液中的酒精含量的模型(模型二,模型三、模型四),

?dx1?dx1?dt??k1x1?dt?J?k1x1???dx2??kx?kx?1122?dt?dx模型二 ?模型三 ?2??k1x1?k2x2

?x1(T)?m2?m1e?k1T?dt???km?x1(0)?0,x2(0)?0?x(T)?11(e?k1T?e?k2T)?2??k?k21??dx1?J?k1x1?dt??dx模型四 ?2??k1x1?k2x2

dt???x1(T)?x1T,x2(T)?x2T?利用这些模型对大李的困惑,给出了合理、准确的解释,并分别求出了快速和慢速喝3瓶啤酒和半斤38度白酒后不能驾车的准确时间分别为13.7, 16.2,14.8,17.3小时;在模型应用3中详细分析了饮酒后血液中酒精含量的峰值问题,得到了几个十分重要的结论:

定理1:摄入同样容量酒精的前提下,瞬间喝酒比均匀喝酒酒精含量降到低水平的

时间更短。

定理2:饮酒后人体血液中的酒精含量曲线为单峰曲线,即只有一个极大值; 推论1:瞬间喝酒时,达到酒精含量最大值的时间与酒精摄入量无关,只与比例

常数k1和k2有关,且时间为t*?lnk1?lnk2;

k1?k2推论2:慢速喝酒时,达到酒精含量最大值的时间与酒精摄入量无关,只与比例常数

lnek2??1?lnek1??1; k1和k2及饮酒持续时间?有关,且时间为t*?k2?k1最后,我们分析了周期性喝酒的,通过分析,我们得到的结果是只要适当控制饮酒量和饮酒次数,完全可以还能开车。

作为结束,我们写了一篇短文,作为对想喝酒的司机的忠告。 关键字:非线性拟合的最小二乘法、微分方程组、峰值、酒精含量

1

????酒后血液中酒精含量分析模型

一、问题的重述

我国的汽车保有量只有世界的2%,道路交通事故中死亡的人数却占全世界的15%。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瓶啤酒后,隔一定时间测量他的血液中酒精含量(毫克/百毫升),得到数据如下:

表1 时间(小时) 0.25 0.5 0.75 1 酒精含量 酒精含量 30 38 68 7 35 75 8 28 时间(小时) 6 9 1.5 2 10 2.5 3 3.5 4 4.5 5 41 82 82 25 18 77 68 11 12 15 12 68 58 13 14 10 7 51 50 15 16 7 4 二、模型分析和假设

白酒和啤酒中都含有适量的酒精,人们在饮酒的同时也摄入了酒精,酒精在人体内的分解主要靠体内的两种酶:乙醇托氢酶和乙醛托氢酶,前者将乙醇分解为乙醛,而后者则将乙醛分解为二氧化碳和水。但分解是一个缓慢的过程,没有被分解

2

的乙醛就会影响人的中枢神经系统,使人产生恶心呕吐、神志不清、昏迷不适甚至死亡等现象。血液中酒精的含量越高,分解出的乙醛也就越多,对人的影响也就越大。根据问题给出的参考数据,人的体液占人的体重的65%至70%,其中血液只占体重的7%左右,而酒精在血液中的含量与在体液中的含量大体是一样的,因此我们认为,酒精通过消化系统吸收后在血液循环系统中是均匀分布的。一个体重约70kg的某人在短时间内喝下2瓶啤酒后,隔一定时间测量他的血液中酒精含量(毫克/百毫升),画出图形如图1:

图1 样本数据酒精含量图

从图形中可以发现,一个人在短时间内(可以认为是瞬间)喝下啤酒后,血液中的酒精含量将在较短时间内达到最高值,然后逐渐降低,如果在酒精没有分解完之前再喝酒,酒精含量会在短时间内升得更高!酒精在消化系统和血液系统中的含量随时间变化,因此,我们决定用微分方程模型来分析两个系统中的酒精含量。

根据本文的需要,我们对下列概念作简单说明:

酒精含量:消化系统或血液系统中的酒精总量(单位:毫克) 酒精浓度:单位体积血液中的酒精含量(单位:毫克/百毫升); 酒精度:酒精在酒中所占的百分比;

瞬间喝酒:在短时间内把酒喝完,喝酒时间忽略不计; 喝慢酒:在指定时间内均匀喝酒。

我们提出以下合理的假设:

1.在短时间内喝下若干酒,将被认为酒精在瞬间进入消化系统;

2.在较长时间内喝下若干酒,将被认为酒精在该时间段内均匀进入消化系统; 3.忽略人对酒精的敏感度以及对酒精的分解能力存在的个性化差异; 4.不考虑酒后人的活动对酒精分解产生的影响;

5.在酒精摄入和分解的过程中,人的体重、消化系统的容量、体液和血液系统的容量均不发生改变;

6.不考虑血液系统到消化系统中血液的回流对酒精浓度的影响;

7.人体中体液约占人体重量的65%至70%,血液含量占人体重量的7%,本文使用体液约占人体重量的65%,并不考虑个体的差异; 8.酒精均匀地分布于体液和血液系统中;

9.酒精从消化系统向体液的转移速率与消化系统中酒精含量成正比;

10.酒精从血液系统中向体外排除以及分解的速率与血液系统中的酒精含量成正比;

3

11.啤酒瓶的容量只有640毫升和500毫升两种规格,酒精度在3.5%至5%之间,其他规格不考虑;

12.题目中的参考数据具有一定代表性

三、符号说明

; t:时间(单位:小时)

?:每次喝酒的持续时间,??0为瞬间喝酒; T:两次喝酒的间隔时间;

; ?:酒精度(单位:体积/体积)

d:酒精的比重,d?0.8;

m:每次喝酒时酒精的摄入量;

V:人体内血液系统的容量(单位:100毫升); M:人的体重(单位:千克);

?:人体内血液的比重,一般为1.05~1.06之间,本文选用1.06;

J(t):消化系统中的酒精摄入速率,由喝酒方式和喝酒量决定;

x1(t):t时刻人的消化系统中的酒精含量(单位:毫克) ; ; x2(t):t时刻人的血液系统中的酒精含量(单位:毫克)

c1(t):t时刻人的消化系统中的酒精浓度(单位:毫克/100毫升) ; ; c2(t):t时刻人的血液系统中的酒精浓度(单位:毫克/100毫升)

k1:酒精从消化系统向体液转移的速率与消化系统中的酒精含量的比例系数;

k2:酒精从血液系统向体外排除的速率与血液系统中酒精含量的比例系数

?:人体中血液与体液质量的比值。

四、模型建立及求解

酒精进入机体后由消化系统扩散到体液和血液送入到全身,在这个过程中不断地发生被吸收、分布、代谢及排泄等一系列过程,最终排出体外。快速喝完后,浓度立即上升;然后由于吸收和分解逐渐下降。我们将人的机体分成三个部分,即消化系统、体液和血液系统,其中血液均匀地分布在体液中。酒精通过喝酒进入消化系统,部分经过分解化为二氧化碳和水,其他部分进入体液和血液,进入血液中的

7%酒精量与进入体液中的酒精量的比值与体液和血液容量比值相等,比值 ??,

65%消化系统中酒精含量的变化率由饮酒速率和向体液的排放速率构成,血液系统中酒精含量的变化率由酒精进入体液速率??和酒精从血液系统向外的排除和分解速率

4

构成,如图2所示。

消化系统

k1 ?k1 血液系统 体液 k2

图2 酒精的吸收、排除与分解图

根据问题的叙述,本文中我们将讨论短时间喝酒、较长时间喝酒、间隔一段时间后再次喝酒的情形,建立关于酒精含量的四个模型。 模型一、瞬间喝酒(??0)情形及k1,k2的估计

设t?0时刻酒精摄入量为m毫克,消化系统的酒精含量x1?t?变化率与x1?t?成正比,即

dx1??k1x1 dt (1)

初值为x1(0)?m,血液系统中的酒精含量x2?t?的变化率与k1x1?t?和x2(t)成正比,比例系数分别为?和?k2,根据假设可得

dx2??k1x1?k2x2 (2) dt其中?为血液与体液重量的比值。显然x2(0)?0,联合(1)式和(2)式,得微分方程组

?dx1??k1x1?dt??dx2??k1x1?k2x2 (3) ?dt???x1(0)?m,x2(0)?0?求出其解析解

??k1t??xt?me?1? (4) ??x(t)??k1m(e?k1t?e?k2t)2?k2?k1?通过适当变化,即可得到血液系统中酒精浓度的模型

c2(t)?

?k1mV(k2?k1)(e?k1t?e?k2t) (5)

5

其中m为一次摄入的酒精量,V为人体血液系统的容量,由人的体重M、血液占体重的比例(7%)及血液的比重?组成,即 V?M?7%?10?

单位为百毫升。

根据问题中体重约70kg(V?46.2264百毫升)的某人在短时间内喝下2瓶啤酒后得到的血液浓度数据,利用非线性最小二乘法,可以求出模型中的参数k1,k2。由于瓶装啤酒的规格不一致,而问题中没有给出规格,因此我们选择了两种最常见的规格(国际标准500毫升/瓶和我国常见规格640毫升/瓶)作为参考数据,根据非线性拟合的最小二乘法,使用MATLAB中的函数leastsq() 得到式(3)~(5)中的k1,k2不同的估计值和平方误差,程序见附录,具体估计结果见表2,拟合效果见图(3)~图(10)。

表2 各种规格下k1,k2的估计值及平方误差

酒精度 (V/V) 3.5% 3.5% 4% 4% 4.5% 4.5% 5% 5% 啤酒瓶 规格(ml) 640ml 500 ml 640 ml 500 ml 640 ml 500 ml 640 ml 500ml 每瓶啤酒酒精 含量(毫克) 17920 14000 20480 16000 23040 18000 25600 20000

k1 2.9129 4.2554 2.3278 3.4882 1.8934 2.8918 1.5649 2.4244 k2 0.1380 0.0990 0.1651 0.1186 0.1943 0.1388 0.2256 0.1599 平方对应拟合误差 效果图 239.7 图3 3455.2 图4 326.6 图5 1870.9 图6 927.5 图7 898.5 图8 455.0 图9 392.91 图10

图3 3.5%、 640ml 图4 3.5%、500ml

6

图5 4% 、640ml 图6 4% 、500ml

图7 4.5%、640ml 图8 4.5%、500ml

图9 5%、640ml 图10 5%、500ml

参照表2与图3~图10,可以看出酒精度3.5%容量640毫升规格的啤酒具有更小的平方误差和更好的拟合度,根据我们的调查,该种规格是我国啤酒最常使用的包装规格,这也说明问题中所给的参考数据也符合我国的国情,所以我们采用该规格啤酒得到的k1,k2的估计值作为我们模型中的酒精转移速率的比例参数,即

k1?2.9129,k2?0.1380,

注:本文以后如没有特别说明每瓶啤酒都是酒精度为3.5%和容量为640毫升。

模型二、瞬间喝酒且在间隔时间T后再次瞬间喝酒情形(??0,T?o)

假设第一次短时间内喝完啤酒,即瞬间摄入酒精量为m1,间隔时间T后,如果

7

再次瞬间喝酒,酒精摄入量为m2,酒精的变化机理与模型一仍然是一致的,只是第二次瞬间喝酒时消化系统和血液系统中可能仍含有剩余的酒精,酒精含量的初值将发生变化,因此可得t?T时的酒精含量满足微分方程组

?dx1?dt??k1x1??dx2??kx?kx1122?dt? (6) ??x1(T)?m2?m1e?k1T???km?x2(T)?11(e?k1T?e?k2T)?k2?k1?注意模型中的初值为x1(T)和x2(T)由模型一中的(4)式求出,由模型一给出的

k1和k2估计值,可以针对任意给定的酒精摄入量m1和m2及间隔时间T,结合模型一,可由数值方法求出酒精含量和酒精浓度的变化规律。

模型三、喝慢酒情形(??0)

假定某人在时间?内喝下一定的啤酒或白酒,摄入的酒精量为m,根据模型假设,酒精均匀地进入消化系统,进入速率为

?m1?J?????00?t??t?? (7)

消化系统中酒精含量的变化率由喝酒时酒精进入消化系统的速率J和酒精从消

化系统到血液系统的转移速率共同决定,从而可以得到消化系统中酒精含量的变化率方程:

dx1?J?k1x1 dt血液系统中酒精含量的变化率由酒精从消化系统到血液系统的转移速率和从血液系统向体外排除的速率共同决定,从而可以得到消化系统中酒精含量的变化率方程::

dx2??k1x1?k2x2 dtt?0时,x1(0)?0,x2(0)?0,从而得到微分方程组

?dx1?dt?J?k1x1??dx2??k1x1?k2x2 (8) ??dt?x1(0)?0,x2(0)?0??

8

可以求得其解析解

?m?k1t(1?e)0?t????k?x1(t)??1?mk1??(e?1)e?k1tt???????k1 (9) ??m?m???(k1e?k2t?k2e?k1t)0?t????k?(k?k)k?2212?x(t)???2?m?k2ek1??1e?k1t?k1ek2??1e?k2tt????k(k?k)?221也可以使用MATLAB软件求出其数值解。

模型四、喝慢酒(??0),并且在间隔时间T后再次喝慢酒

假定某人在时刻t?0开始,在?时间内喝下一定量的啤酒或白酒,摄入的酒精

??????量为m1,并且在总间隔时间T后,即t?T时刻再次喝下一定量的啤酒或白酒,摄入的酒精量为m2,由模型三中的(9)式,可以求出t从时刻0~T消化系统和血液系统中的酒精含量,t?T时的酒精含量的变化仍然满足模型三 ,只是初始值改变,由模型三中的(9)式解出t?T时刻的酒精含量为

x1(T)?m1k1?(e?1)e?k1T ?k1x2(T)??m1?k2(k2?k?e?k)21k1??1e?k1T?k1ek2??1e?k2T

????为简化模型,记

x1(T)?x1T,x2(T)?x2T

得到酒精含量在时刻t?T以后的微分方程组

?dx1?J?k1x1??dt?dx2 (10) ??k1x1?k2x2??dt??x1(T)?x1T,x2(T)?x2T?其中喝酒时酒精的摄入速率为

?m2? J?????0

T?t?T??T???t?2T (11)

9

五、模型应用

利用我们的四个模型,可以解决竞赛中给出的问题。 问题1:大李的困惑

我们假设大李的体重仍为70kg,并且大李在中午12点是瞬间喝下一瓶啤酒,由表2可知酒精摄入量为m1?17920毫克,根据模型一中的(5)式,可以得出时间

t在0至6小时内(中午12点至下午6点)大李血液中酒精浓度的变化规律,具体结果见图11和表3。

下午6点检查时大李血液中的酒精浓度为19.15毫克/百毫升,小于20毫克/百毫升的国家新标准,因此可以通过检查。紧接着大李在吃晚饭时又喝了一瓶啤酒,假设大李是在下午六点瞬间喝下一瓶啤酒,由表2可知酒精摄入量为m2?17920毫克,根据模型二,利用MATLAB软件,求出t在6至14小时内(下午6点至晚上2点)大李血液中酒精浓度的变化规律,具体结果见图12和表3,从表中可知,凌晨2点大李血液中的酒精浓度为20.88毫克/百毫升,大于20毫克/百毫升的国家新标准,属于饮酒驾车,违反了交通法规,应该给予处罚。 (相关MATLAB程序见附录)

图11 大李从12时~下午6时的酒精浓度曲线 图12大李从12时~凌晨4时的酒精浓度曲线

表3 大李从12时~凌晨4时的酒精浓度

时间 中午12:00 下午1:00 下午2:00 下午3:00 下午4:00 下午5:00 下午6:00 酒精浓度(mg/100ml) 0 35.79 33.12 28.96 25.23 21.98 19.15 通过检查 时间 晚上7:00 晚上8:00 晚上9:00 晚上10:00 晚上11:00 晚上12:00 凌晨1:00 凌晨2:00 酒精浓度 (mg/100ml) 52.47 47.65 41.62 36.26 31.58 27.51 23.97 20.88 饮酒驾车

问题2:饮酒后多长时间内不准驾车

(1)如果一个人在较短时间内喝完3瓶啤酒或半斤低度白酒(酒精度假定为

10

38%),酒精摄入量分别为m?53760毫升和m?76000毫升,为方便起见,我们仍假定体重为70kg,由模型一中的(5)式,利用MATLAB软件,求出了16小时内的酒精浓度,具体结果分别见图13、图14和表4、表5。

图13 瞬间喝下3瓶啤酒后的酒精浓度曲线 图14 瞬间喝下半斤白酒后的酒精浓度曲线

表4 瞬间喝下3瓶啤酒后的酒精浓度部分数据 表5 瞬间喝下半斤白酒后的酒精浓度部分数据 酒精含量 酒精含量 时间 时间 (mg/100ml) (mg/100ml) 13.3 20.98 15.8 21.00 13.4 20.69 15.9 20.71 13.5 20.40 16.0 20.43 13.6 20.13 16.1 20.15 13.7 19.85 16.2 19.87 13.8 19.58 16.3 19.60 13.9 19.31 16.4 19.33 14.0 19.04 16.5 19.07

由表4和表5中分别可以看出,如果一个人瞬间喝完3瓶啤酒后的13.7小时之前驾车就会违反新标准规定,如果一个人瞬间喝完半斤38度白酒后的16.2小时之前驾车就会违反新标准规定。

(2)一个人如果在较长时间(假定为2小时)内喝完3瓶啤酒或半斤38度白酒,酒精摄入量分别为m?53760毫升和m?76000毫升,由模型三,使用MATLAB软件,我们分别求出了16小时和18小时内的酒精浓度,具体结果分别见图15、图16和表6、表7。

图15 均匀喝下3瓶啤酒后的酒精浓度曲线 图16 均匀喝下半斤白酒后的酒精浓度曲线

11

表6 均匀喝下3瓶啤酒后的酒精浓度部分数据 表7 均匀喝下半斤白酒后的酒精浓度部分数据 酒精含量 酒精含量 时间 时间 (mg/100ml) (mg/100ml) 16.9 20.99 14.4 21.12 17.0 20.70 14.5 20.83 17.1 20.42 14.6 20.55 17.2 20.14 14.7 20.27 17.3 19.87 14.8 19.99 17.4 19.59 14.9 19.71 17.5 19.32 15.0 19.44 17.6 19.06 15.1 19.18

由表6和表7的数据可知,如果一个人在较长一段时间(假设是2小时)内喝完3瓶啤酒的14.8小时内(从此人开始喝酒时算起)驾车或喝完半斤38度白酒的17.3小时内(从此人开始喝酒时算起)驾车,均违反了新交通法中不准饮酒驾车的规定。

从以上的分析不难发现以下结论:

定理1.摄入同样容量酒精的前提下,喝酒时间越短,酒精含量降到更低水平的时间越短。

证明:本定理的证明需要用到文章后推论2的结果,酒精含量达到最大值的时

lnek1??1?lnek2??1间为 t?

k1?k21ek1??1 ? lnk2?k1?k2e?1ek1??1也是递增的,从而t也递增,即得到定理的结论。由于k1?k2, ?递增时,k2? e?1????证明完毕

1ek1??1lnk1?lnk2 显然,lim,由文后推论1,摄入同样容量酒精的lnk2????0k?kk1?k2e?112前提下,瞬间喝酒时酒精含量更容易降到较低水平。

问题三:血液中酒精含量的峰值问题

定理2.饮酒后人体血液中的酒精含量曲线为单峰曲线,即只有一个最大值。 证明:1.瞬间饮酒情形

由模型一中的(4)式,可得血液中酒精含量函数

x2(t)??k1mk2?k1(e?k1t?e?k2t)

对上式求导,得

dx2?k1m?(k2e?k2t?k1e?k1t) dtk2?k1令

dx2?k1m?0,得 (k2e?k2t?k1e?k1t)?0。 dtk2?k1 12

所以 k1e?k1t?k2e?k2t 两端同时取自然对数,得

lnk1?k1t?lnk2?k2t

t?lnk1?lnk2

k1?k2注意:这是一个与饮酒量无关的量 对模型一中的(4)求二阶导,得

d2x2?k1m2?k1t2?k2t?(ke?ke) 122k2?k1dt将t?lnk1?lnk2直接代入,得

k1?k2k1k2?k12k1?k2lnk1k2?k22k1?k2ln??2k12k1k1?k2)?[k1()?k2()k1?k2]k2?k1k2k2d2x2?k1m?(k1e2dtk2?k1?2k1k1()k1?k2k2k1?k2e?k1mk1k2

k1?k1?k2k2()k22k2k1k1?k1?k2?k1?k2k1kk?2?()?2?(1)?1?1

k2k2k2k2k2k12k1k22若k1?k2,则

?2k1k1()k1?k2k2k1?k1?k2k2()k22k2?k1?km?1,1?0, k2k2?k1k2k1?k2所以

dx2?k1m2k1?[k1()2dtk2?k1k22?k1k1?k2?k2(2k1)k2?]?0,

d2x2同理可证,若k1?k2,亦有2?0

dt综上所述,只有唯一的极值点

t?lnk1?lnk2 (12)

k1?k2此时酒精含量达到最大值,即达到峰值。 将t?lnk1?lnk2直接代入(4)式即可求出血液中酒精含量x2的峰值或直接代入(5)

k1?k2 13

式即可求出血液中酒精浓度c2的峰值。 2、喝慢酒情形 (1) 当0?t??时

对模型三中的(9)式两边同时对t求导,

dx2?m?mk1?(?k1k2e?k2t?k1k2e?k1t)?(e?k1t?e?k2t) dt?(k2?k1)k2?(k2?k1)若k2?k1,则

?mk1?(k2?k1)?0,e?k1t?e?k2t ,

所以

dx2?mk1?(e?k1t?e?k2t)?0 dt?(k2?k1)若k2?k1,则

?mk1?(k2?k1)?0,e?k1t?e?k2t,

所以 综上所述,

dx2?mk1?(e?k1t?e?k2t)?0 dt?(k2?k1)dx2?0恒成立,即x2?t?在0?t??上单调递增。 dt

(2) 当t??时

同样对模型三中的(9)式两边同时对t求导,

dx2?m?k1k2ek2??1e?k2t?k1k2ek1??1e?k1tdt?k2(k2?k1)??k2?????

??mk1?(k2??e?k)1?1e?k2t?ek1??1e?k1t????dx2lnek2??1?lnek1??1k2??k2tk1??k1t令 ?0?e?1e?e?1e?t?dtk2?k1????????对模型三中的(9)式求二阶导,得

d2x2?mk1k1??k1tk2??k2t ?ke?1e?ke?1e122dt?(k2?k1)??????lnek2??1?lnek1??1将t?k2?k1????代入,得

14

e2?1e2?1??lnk?lnk?11?k1e?1?k2e?1?d2x2?mk1?k1?k2?k1k2?k2?k1??k2e?1e?k1e?1e?2?(k2?k1)?dt?????k?k?????

?k1?k2k2?k2???e?1e?1k1?k2?k1k2?k2?k1?)?k2e?1(k1?)?k1e?1(k1???(k2?k1)?e?1e?1????mk1????ek2??1k2?k1k1?k2?k1k1e?1(k1?)k1?k2?ke?1e?1k1k2?k1e?11???()?因为 ?k2k2?k1?k2?ke?1e?1ke?1k2?k122k2ek2??1(k1?)e?1???k1??若k2?k1,即

k1?1, k2则

?mk1?(k2?k1)?0, k1ek1??ek2??1k2?k1ek2??1k2?k1k2??1(k1?)?k2e?1(k1?)?0

e?1e?1??k1???k2d2x2?0 所以 2dt若k2?k1,即

k1?1, k2则

?mk1?(k2?k1)?0,k1ek1??1(??ek2?k1?e?1)?1?k1k2?k1?k2ek2??1(??ek2?k1?e?1)?1?k2k2?k1?0

d2x2?0 所以

dt2d2x2?0恒成立,即只有唯一的极值点 综上所述,当t??,2dtlnek1??1?lnek2??1 (13) t?k1?k2此时达到喝慢酒时的酒精含量的最大值,即为峰值。

证明完毕

???? 由定理证明过程中的(12)和(13)式,不难得到:

推论1.瞬间喝酒时,达到酒精含量最大值的时间与酒精摄入量无关,只与 比例常数k1和k2有关,即时间为t*?lnk1?lnk2。

k1?k2 15

推论2.喝慢酒时,达到酒精含量最大值的时间也与酒精摄入量无关,只与

lnek1??1?lnek2??1比例常数k1和k2及饮酒时间?有关,且时间为t*?。

k1?k2 如在我们的模型中,由k1?2.9129,k2?0.1380,??2可得瞬间喝酒时血液中酒精含量达到最大的时间约为1.099小时,喝慢酒时血液中酒精含量达到最大的时间约为2.511小时,并且均与饮酒量无关。

问题四:每天喝酒能否开车

由模型二中的(6)式

?dx1?dt??k1x1??dx2??kx?kx1122?dt? ? ??x1(T)?m2?m1e?k1T???km?x2(T)?11(e?k1T?e?k2T)?k2?k1??????dx1?dt??k1x1??dx2??kx?kx1122?dt ???x1(T)?m?a???x2(T)?b这个模型可以化为任意一个以时间T为周期的微分方程组,对任意的n,相邻

两个周期末血液中酒精含量的增量为

?x2(n,T)??k1(m?a)k2?k1e?(n?1)k1T??k1(m?a)k2?k1e?(n?1)k2T?be?(n?1)k1T

??k1(m?a)k2?k1(e?(n?1)k1T?e?(n?1)k2T)?be?(n?1)k1T

因此当x2(0)?0时,x2(nT)为

x2(nT)???x2(1,T)??[i?1i?1nn?k1(m?a)k2?k1?e(e?(i?1)k1T?e?(i?1)k2T)?be?(i?1)k1T]

n??k1(m?a)k2?k1?[ei?1n?(i?1)k1T?(i?1)k2T]??be?(i?1)k1T

i?1limx2(nT)?n???k1(m?a)k2?k1111c?x[?]?b ?k1T?k2T?k1T1?e1?e1?e其中a?m1e?k1T,b??k1m1k2?k1(e?k1T?e?k2T),m1为第一次饮酒的酒精量。

如果从第二次开始每次酒精摄入量为m,那么酒精含量的下限将趋于上式如图

16

17

xc 0 T 2T 3T

图17 每天喝酒酒精含量示意图

根据以上分析,只要选取适当的m使得xc/V?20,就可以天天饮酒并获得适当的驾车时间。

六、模型的评价与改进

评价:我们的模型结构简单,操作容易,精度较高,灵活性强,可以分析饮用任意含酒精饮料后血液中酒精含量的变化规律,并且由模型得到了多个有价值的结论,这些结论可以被广泛地应用于诸如药物吸收、人口流动等领域的研究;不足之处在于建立模型时没有考虑不同人的个体差异,而且由于问题4比较复杂,我们建立的模型只考虑了其中的一种情况,不够完善。

改进:可以在模型中考虑酒精从血液到消化系统的回流参数,有可能也可以考虑个体的差异,效果也许会较好。

给想喝酒的驾驶员的忠告

建设小康,交通先行。长久以来,我国交通实现了跨越式发展,交通的法制法规也逐步得到了健全和完善,然而目前我国交通状况依然令人堪忧。 2003年全国道路交通事故死亡人数占全世界的15%,排在世界的第一位,达到10.4万人之多,而其中尤其值得我们思考和警醒的是因为饮酒驾车造成的占有相当的比例。

针对这种严重的道路交通情况,国家质量监督检验检疫局2004年5月31日发布了新的《车辆驾驶人员血液、呼气酒精含量阈值与检验》国家标准,新标准对车辆驾驶人员血液中的酒精含量加强了限制,要求更为严格。

从生物医药学角度看,少量的酒精能增加血液里的好胆固醇而使得冠状动脉不易形成血栓,这是酒精的抗血栓药性。然而酒精是一种抑制性药物,会影响人的整个神经系统,影响到人的大脑思维和行动。饮酒驾车十分危险!在现实生活中,由于种种原因人们难免有时饮酒,然而饮酒驾车新标准的发布对人们的酒后驾车提出了更为严格的要求,这让不少人困惑不已,那么有没有两全其美的办法呢?

我们通过对血液中酒精浓度的变化情况进行科学的分析和研究,告诉大家如何饮酒而又不会导致饮酒驾车,同时也告诉大家关于人体内酒精浓度的一些数学奥秘。

17

(1)在摄入同样酒精量的前提下,瞬间喝酒比慢速平稳喝酒更能让人体内的酒精在短时间内降到较低的水平。

(2)一个体重为70kg的驾车人员在瞬间喝下1瓶640ml,酒精度为3.5%的啤酒后,必须在喝完酒的6小时之后才能通过交通安检,安全地开车。

(3)饮酒后,血液系统中达到酒精含量最大值的时间与酒精摄入量无关人体血液中的酒精含量曲线为单峰曲线,即只存在一个极大值。

(4)对一个正常的驾驶员而言,是容许天天喝酒的,因为它存在一个稳态,但是还是受时间和量的限制。

(5)不管是慢速喝酒,还是快速喝酒,人体内达到酒精浓度最大的时间与酒精摄入量无关,只与酒精在体内的扩散速度有关,即只与人的体质有关。

生命对于每个人来说都是宝贵的。我们不提倡酒后驾车,而对于想喝点酒的司机,我们惟有给他们一点忠告,选择我们建立的合适的模型就可以达到控制饮酒不会导致饮酒驾车或是醉酒驾车而违反新的交通法规遭到处罚的目的。在选择适合自己的模型时,要综合考虑各种因素,要科学、谨慎、慎重选择,不要盲目跟从。永远不要忘记生命对于每个人都只有一次。

参考文献:

[1] 姜启源,数学模型第三版,北京:高等教育出版社,2003,P132~138 [2] 萧树铁等,数学实验,北京:高等教育出版社,1997,P102~127 [3] 杨纪珂等,生物数学概论,北京:科学出版社,1982, P568~570

[4] 甘筱青,数学建模教育及竞赛,南昌:江西高校出版社,2004, P6~12 [5] 屠锡德等,生物药剂学,江苏:江苏科学技术出版社,1981, P239~270 [6] (美)Stanley L.Weinberg,生物学,北京:人民教育出版社,1981,P140~155 [7] 大众医药网,血液,http://www.windrug.com/pic/30/11/17/009.htm,2004.9.19

附录:

function f=xueye(x)

global k d beta M m alpha rou r

t=[0.25 0.5 0.75 1 1.5 2 2.5 3 3.5 4 4.5 5 6 7 8 9 10 11 12 13 14 15 16];

c=M*0.07*10/rou*[30 68 75 82 82 77 68 68 58 51 50 41 38 35 28 25 18 15 12 10 7 7 4];

f=c-x(1)*beta*m*(exp(-x(1)*t)-exp(-x(2)*t))/(x(2)-x(1));

function jiujing()

global k d beta M m alpha rou r r=1;

alpha=0.045; beta=0.07/0.65; d=0.8; rou=1.06; M=70;

18

m=500*alpha*d*1000*r*2; V=M*0.07*10/rou;

t=[0.25 0.5 0.75 1 1.5 2 2.5 3 3.5 4 4.5 5 6 7 8 9 10 11 12 13 14 15 16];

c=[30 68 75 82 82 77 68 68 58 51 50 41 38 35 28 25 18 15 12 10 7 7 4]; plot(t,c) pause

x0=[1 0 ];

k=leastsq('xueye',x0) x=k;

tt=0:0.1:16;

c2=x(1)*m*beta*(exp(-x(1)*tt)-exp(-x(2)*tt))/(x(2)-x(1))/V; plot(t,c,tt,c2)

dd2=sum((xueye(k)/V).^2)

function z=xueye1(t,x)

global k d beta M m m1 alpha rou

z=[-k(1)*x(1)+0*t;k(1)*beta*x(1)-k(2)*x(2)];

function z=xueye2(t,x)

global k d beta M m m1 alpha rou tao if t<=tao

J=m1/tao; else J=0; end

z=[J-k(1)*x(1)+0*t;k(1)*beta*x(1)-k(2)*x(2)];

function jiujing2()

global k d beta M m1 m alpha rou tao T=0; tao=2; r=1.28; d=0.8;

alpha=0.035 ; M=70; rou=1.06;

beta=0.07/0.65; V=M*0.07*10/rou;

t=[0.25 0.5 0.75 1 1.5 2 2.5 3 3.5 4 4.5 13 14 15 16];

19

5 6 7 8 9 10 11 12 c=[30 68 75 82 82 77 68 68 58 51 50 41 38 35 28 25 18 15 12 10 7 7 4];

k=[2.9129 0.1380];

m1=500*alpha*d *1000*r*3; m2=500*alpha*d *1000*r ; tt=0:0.1:T ;

cc=k(1)*m1*beta*(exp(-k(1)*tt)-exp(-k(2)*tt))/(k(2)-k(1))/V; x0(1)= m2+m1*exp(-k(1)*T);

x0(2)= k(1)*m1*beta*(exp(-k(1)*T)-exp(-k(2)*T))/(k(2)-k(1)); [t,x]=ode45('xueye2',T:.1:19,x0) ; x=x/V;

plot(t,x(:,2)) [t,x]

20