数学建模实验-血液酒精浓度

  • 格式:doc
  • 大小:493.00 KB
  • 文档页数:9

数学建模实验

实验目的?

运用药物注射模型,熟练使用MATLAB曲线拟合方法,解释饮酒驾车的一些实际问题。?

?

实验原理?

由于酒精不需要进入肠道即可被吸收,且胃对其吸收速率也非常快,本题应采用“快速静脉注射模型”。?酒精主要存在于血液中,故本例应计算吸收室的血药浓度c1(t)=A1e-αt+B1e-βt?,因A1,α,B1,β之间有关联,为提高精确度,重新解微分方程得和题目对应的模型拟合计算。

实验内容

国家质量监督检查检疫局2004年5月31日发布了新的《车辆驾驶人员血液、呼气酒精含量阀值与检查》国家新标准,新标准规定,车辆驾驶人员血液中的酒精含量大于或等于20毫克/百毫升,小于80毫克/百毫升为饮酒驾车(原标准是小于100毫克/百毫升),血液中酒精含量大于或等于80毫克/百毫升为醉就驾车(原标准是大于100毫克/百毫升)。?

某人在中午12点喝了一瓶啤酒,下午6点检查时符合新的驾车标准,紧接着他在吃晚饭的时候又喝了一瓶啤酒,为了保险起见他呆到凌晨2点才驾车回家,又一次遭遇检查时却被定为饮酒驾车,这让他既懊恼又困惑,为什么喝同样多的酒,两次检查的结果会不一样呢??

(1)?某人中午12点喝了一瓶啤酒,下午6点检查合格,晚饭又喝一瓶,次日凌晨2点检查未通过,请对此情况做出解释。?

(2)?短时间内喝啤酒3瓶多长时间之后才能驾车??

(3)?怎样估计血液中的酒精含量在什么时候最高??

(4)?如果天天喝酒,是否还能开车?

解答:

建立常微分方程模型,假设喝进去的酒精从胃吸收的转移速率与胃里酒精含量成正比;血液代谢酒精的速度与浓度成正比;

如图所示:

设胃里初始含量为X0,血液中初始含量为C0=0

则1

21XtdtXtKdtXtCtdtCtCtKdtKXtdt

即'1XKX

即10KtXXe

解得21110001221KtKtKKCtXCeXeKKKK

题目所给数据的C0=0,即此时2111001221KtKtKKCtXeXeKKKK

MATLAB命令:

T=[ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16];

C=[30 68 75 82 84 77 70 68 58 51 50 41 38 35 28 25 18 15 12 10 7 7 4];

cftool打开曲线拟合工具箱,X data选择T,Y data选择C,拟合方式选择Custom

Equation,拟合//cexpbxaabcexpaxaba,参数如图 X

胃 C

血液 代谢物 K1 K2

拟合得:a=, b=, c=

即K1=,K2=,X0=,可以发现拟合的比较好。

第一题

喝一瓶啤酒时X0=,此时0.18222.27356.205356.2053ttCtee

而2.27365651.76.174210Xe

0.182262.2736656.205356.2053=18.836720Cee,故符合驾车标准

紧接着又喝一瓶,此时X0约为,C0=。到凌晨二点过了8小时,此时0.182282.2738856.205318.836756.205317.4693Cee

可以发现并没有大于20,但是当过后小时时0.18227.22.2737.27.256.205318.836756.205320.2106Cee,略大于20,属于酒驾。题目所给情况可能是晚上喝酒不是快速喝下导致的误差。 第二题

短时间喝三瓶啤酒时X0=,此时0.18222.273168.616168.616ttCtee

MATLAB命令:

T=0::24;

C=*exp*T)*exp*T);

plot(T,C,’r’)

hold on

plot([0 24],[20 20],’g’)

可发现与C=20相交于11、12之间 T=11::12;

C=*exp*T)*exp*T)

输出:

C =

1 至 7 列

8 至 11 列

故小时后驾车不会违反规定

题目三

观察上图可知最高点在1-2之间

T=1::2;

C=*exp*T)*exp*T)

输出:

C =

1 至 6 列

7 至 11 列

故在喝酒后约小时后血液中酒精含量最高

第四题

为简化问题,假设一天只喝一次,每次快速喝下n瓶,则0.18222.27356.2053056.2053ttCtnCene

要求:2420C ,0.18222.273'2456.20532456.205320ttCnCene,0.18222.273''2456.2053'2456.205320ttCnCene依此类推

考虑到48小时后的影响很小,故只需在数日内符合即可认为符合,这里取十天。

考虑到平常人的酒量,为排除呕吐等不正常代谢酒精方式和脏器超负荷工作带来的误差,只考虑小于等于10瓶啤酒

MATLAB:

建立函数

function C24=CalcC24(n,C0,i)

T=0::24;

C=(C0+*n)*exp*T)*n*exp*T);

C24=(C0+*n)*exp*24)*n*exp*24);

plot((T+i*24),C,'Color',[((-1)^n+1)/(2*n) ((-1)^(n+1)+1)/(2*n) ((-1)^n+1)/(2*n)])

hold on

end

输入命令:

hold off

clear

clc

C0=0;

for n =1:10

for i=0:10

temp=CalcC24(n,C0,i);

C0=temp;

end

end

plot([0 264],[20 20],’r’);

得:

可发现若每日喝十瓶啤酒的情况下经过18小时,血液中的酒精浓度就能降低到20mg/100ml以下,即若早上八点喝十瓶啤酒,凌晨两点驾车即不违反新交法

若每隔12小时快速饮酒n瓶,同样考虑十天

MATLAB

建立函数:

function C12=CalcC12(n,C0,i)

T=0::12;

C=(C0+*n)*exp*T)*n*exp*T);

C12=(C0+*n)*exp*12)*n*exp*12);

plot((T+i*12),C,'Color',[((-1)^n+1)/(2*n) ((-1)^(n+1)+1)/(2*n) ((-1)^n+1)/(2*n)])

hold on

end

输入命令:

hold off

clear

clc

C0=0;

for n =1:5

for i=0:20

temp=CalcC12(n,C0,i);

C0=temp;

end end

plot([0 264],[20 20],'r')

得:

可以发现喝完2瓶啤酒可以在小时后降低到20mg/100ml以下,而喝完三瓶仅在喝完小时后降低到20mg/100ml以下,也就是仅有每十二小时分钟符合要求,忽略不计。

故每12小时可饮酒2瓶可以驾车不违反新交法

综上所述,每12小时可以和2瓶啤酒,每24小时可以喝10瓶及以下的啤酒不违反新交法。

模型评价与改进?

1.解得对应模型,综合运用MATLAB软件,准确求解,在运用MATLAB进行数据拟合时,得到了较理想化的曲线。

2.本模型引用了医药动力学的二室模型进行计算,可靠性较高?

3.从问题出发,分析了应该考虑的各种情况,建立了一般的数学模型,并进行实例验证,从而证明我们建立的数学模型可以较好的解决实际问题。 模型的缺点?

1.本文的模型参数仅是依靠一组数据拟合求解得出,有一定的偏差。?

2.模型为使计算简便,使所得的结果更理想化,忽略了一些次要的因素。

3计算所得.和题目所述不尽相同,不过因拟合得较好,只能考虑本身操作的误差。