饮酒驾车的微分方程模型

时间:2022-08-13 09:56:18

饮酒驾车的微分方程模型

摘 要: 本文根据提供的建模依据和药物扩散原理[1]对酒精在人体血液中循环过程特点,先建立起常微分方程模型,然后采用离散方法将酒精在血液中循环的方程离散化,并结合表1提供的饮酒司机血液中酒精浓度变化的检测数据和建模依据提供的参数,去待定比例常数。最后得出饮入两瓶青岛牌啤酒后,人体血液中酒精浓度变化的函数关系:C(t)=131.4×(e-0.212t-e-1.45t),在人体血液中酒精浓度与饮酒量成中比例的建模建设下,对各种饮酒情况予以讨论,并在建模假设下很好地解释了提出的建模问题。

关键词: 离散化方法; 药物扩散原理; 微分方程模型

中图分类号: O175 文献标识码: A 文章编号: 1009-8631(2010)08-0134-02

一、前言

饮酒肇事,众所周知,本模型给出了如下建模依据:①饮酒、醉酒驾车规定标准分别为:血液中酒精含量为20毫克/百毫升-80毫克/百毫升,及80毫克/百毫升以上。②人体体液占人体重量的65%-70%,血液占体重的7%左右。③一名体重约为70kg的人短时间喝两瓶啤酒后,检测数据如下:

建模问题:司机大李喝下一瓶啤酒六小时后检测正常,当再喝一瓶后,八小时检测为饮酒驾车。要解决的问题是:

1. 对大李饮酒的检测结果做解释。

2. 短时间、长时间匀速分别喝三瓶酒(或半斤低度白酒),之后多长时间违反标准。

3. 给出血液中酒精含量最高时的估计方法。

4. 天天喝酒可否开车,并为司机提出忠告。

二、建模假设

1. 饮酒后,酒精经胃逐步扩散到血液中,再被血液中的酶逐渐分解。

2. 短时间饮酒后,初始时血液中酒精含量为零。

3. 所建模型中以山东产的“青岛”啤酒为例,其瓶上标注:酒精含量≥3.2%(V/V),容积630ml。

4. 假设体液、血液的密度均近似于水的密度(lg/ml)。

5. 假定血液中酒精浓度正比于饮酒量。

6. 引出符号说明:

x(t)为饮酒后,t时刻胃中酒精含量随时间变化的函数。

y(t)为饮酒后,t时刻血液中酒精含量随时间变化的函数。

c(t)为喝两瓶啤酒后,血液中酒精浓度随时间变化的函数。

d(t)为大李喝了一瓶啤酒后,血液中酒精浓度随时间变化函数。

f(t)为短时间喝三瓶啤酒后,血液中酒精浓度随时间变化函数。

s(t)为两小时均匀喝三瓶啤酒,血液中酒精浓度随时间变化函数。

a为一瓶啤酒中酒精的含量。

v为70kg的人血液的体积。

三、模型建立

酒精在胃中扩散与血液中被分解,类同于Malthus模型[2,3]即:扩散与被分解速度均正比与当时量。若以pq分别表示酒精在胃中扩散与在血液中被分解的速度正比例系数,借助(表1)短时间饮两瓶啤酒后的常微分方程模型建立如下:

x′(t)=-px(t) (1)

y′(t)=-px(t)-qy(t) (2)

x(t)│t=0=2a (3)

y(t)│t=0=0 (4)

因方程(1)是可分离变量方程,据初始条件(3)易得其解为:

x(t)=2a・e-pt (5)

将(5)式代入(2)化为一阶线性非齐次方程,据初始条件(4)其解为:

所求的血液中酒精浓度随时间变化的函数:

(一)确定常数p,q

我们采用离散化方法[4]先确定式(6)中常数p,q如下:将(5)代入(2)后的方程为:y′(t)则上式化为:y(ti+1)-y(ti)+Tqy(ti)=[2ape-pti-qy(ti)]T,

整理为:t(ti+1)-y(ti)+Tqy(ti)=2ape-pT・e (8)

亦有:y(ti)-y(ti-1)+Tqy(ti-1)=2ap・e (9)

由(8)÷(9)可看出:y(ti+1)-y(ti)+Tqy(ti)是以e-pT为公比的等比序列,故有:y(ti+1)-y(ti)+Tqy(ti)=[y(t1)-y(0)+Tqy(0)](e-pT)i=y(t1)・(e-pT)i,对上式两边求和 以体重70kg的司机饮两瓶啤酒所给数据(表1),我们以T=0.25与T=0.5为步长的两组数据代入(10) (二)确定参数a、v

体重70kg的司机饮两瓶啤酒,由于血液占体重的7%,酒精密度为0.8(g/ml),血液密度近似于水的密度为:1(g/ml),饮用两瓶青岛啤酒,则酒精含量2a=(630×2×3.8%×0.8×1000)mg=3.73×104mg;血液体积 其Matlab程序图形如图1。

大李在喝了一瓶啤酒,六小时后又喝了一瓶,由建模假设(5)知道这是d(t)的图形与其沿x轴正向平移六小时后的叠加,Matlab程序图形如图2;由建模假设条件(5),如果喝了三瓶啤酒:①若是短时间内饮下,则血液中酒精的浓度变化函数为:f(t)=3×d(t)=197.1・(e-0.212t-e-1.45t),其Matlab程序图形如图3; ②若是长时间均匀喝下,比如2个小时,我们由元素法思想把2小时分成四段(分得越多越好),近似看作0时刻\1.从图1中可看出,大李喝酒后,六小时血液中酒精含量大约为18mg/百毫升,不属饮酒驾车;图2中可看出,第一次饮酒后六小时,再喝一瓶,过8小时(即凌晨两点),它血液中酒精含量大约为mg/百毫升,已属饮酒驾车,这是血液中酒精浓度叠加积累的结果。

2.若三瓶酒是短时间内饮下的,由图3可看出大约在0.1~10.3小时的十个小时内会违反标准;若是在两小时内连续均匀喝酒,由图4可看出大约在1~2小时的范围内就会违反标准。表明短时内喝酒比长时间均匀喝酒,血液中酒精浓度增加得快,但高浓度持续时间较短。

3. 由各图形及建模假设,血液中酒精含量达到最高时所需时间大约在饮酒后1.5~1.8小时。

4. 从图4不难发现,如果喝酒量较多,且天天喝,则血液中酒精积累到一定时间就会违反标准,而不应开车。

五、总结

本模型将微分方程进行离散化处理的方法,并结合实际检测数据推算出了待定常数,进而给出了饮酒者血液中酒精浓度在各种情况下的图形资料分析,运用了数学的许多理论知识得出问题解析式,并用图像直观化,很好的回答了建模问题。

不足之处在于:对于时间均匀喝酒的元素法处理时,当在很多的分割叠加下,才能更加准确,好在Matlab程序为我们提供了很多帮助。

鉴于上述我们建立的模型,我们忠告驾车司机,想喝酒时尽量少喝,不可经常去喝,且酒后过相当长一段时间再开车,为了广大人民群众的安全与本人的切身利益,最好不要饮酒驾车。

参考文献:

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

[2] 蔡锁章.高等建模原理于方法[M].北京:海洋出版社,2008.

[3] [美]玛蒂尔达(Mathews,J.H.).数值方法(MATLAB版)(第三版)[M].电子工业出版社,2002.

[4] 陈理荣.数学建模导论[M].北京:北京邮电大学出版社,2002.

[5] 刘承平.数学建模方法[M].北京:高等教育出版社,2002.

[6] 谢兆鸿,范正森,王艮远.数学建模技术[M].北京:北京出版社,2003.

上一篇:季冻区草炭土工程特性分析 下一篇:世博会设计理念在博物馆中的运用