1、2018/11/15,黄建华制作,0,(五) MATLAB应用举例,例5.1 2005高教社杯全国大学生数学建模竞赛题目 C雨量预报方法的评价 雨量预报对农业生产和城市工作和生活有重要作用,但准确、及时地对雨量作出预报是一个十分困难的问题,广受世界各国关注。我国某地气象台和气象研究所正在研究6小时雨量预报方法,即每天晚上20点预报从21点开始的4个时段(21点至次日3点,次日3点至9点,9点至15点,15点至21点)在某些位置的雨量,这些位置位于东经120度、北纬32度附近的5347的等距网格点上。同时设立91个观测站点实测这些时段的实际雨量,由于各种条件的限制,站点的设置是不均匀的。,201
2、8/11/15,黄建华制作,1,例5.1 雨量预报方法的评价,气象部门希望建立一种科学评价预报方法好坏的数学模型与方法。气象部门提供了41天的用两种不同方法的预报数据和相应的实测数据。预报数据在文件夹FORECAST中,实测数据在文件夹MEASURING中,其中的文件都可以用Windows系统的“写字板”程序打开阅读。 FORECAST中的文件lon.dat和lat.dat分别包含网格点的经纬度,其余文件名为_dis1和_dis2,例如f6181_dis1中包含2002年6月18日晚上20点采用第一种方法预报的第一时段数据(其2491个数据为该时段各网格点的雨量),而f6183_dis2中包含
3、2002年6月18日晚上20点采用第二种方法预报的第三时段数据。,2018/11/15,黄建华制作,2,例5.1 雨量预报方法的评价,MEASURING中包含了41个名为.SIX的文件,如020618.SIX表示2002年6月18日晚上21点开始的连续4个时段各站点的实测数据(雨量),这些文件的数据格式是: 站号 纬度 经度 第1段 第2段 第3段 第4段 58138 32.9833 118.5167 0.0000 0.2000 10.1000 3.1000 58139 33.3000 118.8500 0.0000 0.0000 4.6000 7.4000 58141 33.6667 119
4、.2667 0.0000 0.0000 1.1000 1.4000 58143 33.8000 119.8000 0.0000 0.0000 0.0000 1.8000 58146 33.4833 119.8167 0.0000 0.0000 1.5000 1.9000 雨量用毫米做单位,小于0.1毫米视为无雨。,2018/11/15,黄建华制作,3,例5.1 雨量预报方法的评价,(1)请建立数学模型来评价两种6小时雨量预报方法的准确性; (2)气象部门将6小时降雨量分为6等:0.12.5毫米为小雨,2.66毫米为中雨,6.112毫米为大雨,12.125毫米为暴雨,25.160毫米为大暴雨,大
5、于60.1毫米为特大暴雨。若按此分级向公众预报,如何在评价方法中考虑公众的感受? (注:本题数据位于压缩文件C2005Data.rar中, 可从http:/ 雨量预报方法的评价,模型的分析: 本题的关键主要是采用Matlab软件对所提供的数据进行分析并得到主要结论。 对于问题一,采用load命令和循环结构实现数据文件的载入,再从实测数据文件中提出实测点位置数据,并且依次从预测数据文件中通过曲面拟合命令griddata得到相应日期、时段、方法下的对应位置上的预测估计值。然后分别计算两种预报方法下的实测值和预测值的偏差并且求对应的总偏差平方和,根据两个总偏差平方和的大小来得出两种方法的优劣比较,通
6、过Matlab程序的实现得到结果为:第一种方法比第二种方法好。,2018/11/15,黄建华制作,5,例5.1 雨量预报方法的评价,对于问题二,我们认为公众的感受主要体现在预测与实际之间偏差的大小程度,然而,实际测量值未知,因此我们考虑在分级预报中加入准确概率的方式来实现公众满意度的提高。我们认为雨量的实测值应该在预测值点处服从正态分布,通过合理的假设和推导,我们得到:正态分布的均值可以取为雨量预测值,不同雨量分级区间上的方差可以近似取为对应区间上的总偏差平方和的平均值。运用Matlab软件编程,可以实现对每一个预报数据的预报内容的改变,并且通过几个不同的数据体现程序运行所得到的结果。最后,对
7、模型的缺点进行了讨论和改进。,2018/11/15,黄建华制作,6,例5.1 雨量预报方法的评价,模型的假设 假设测量雨量的工具正常不受任何因素的影响,且所得数据真实可靠; 测量点所在位置的等距网格点均视为质点; 符号说明 x(i,j) 表示第j种方法下的第i 个实测点处的雨量实测值 y(i,j) 表示第j种方法下的第i 个实测点处的雨量预测估计值i=1,2,3.,91*164,j=1,2 e(i,j) 表示在第j种方法下的第i 个实测点处的偏差 Y 表示实际值的随机变量 y* 表示预报值 ST2(j) 表示在第j种方法下的所有实测点处的总偏差平方和,2018/11/15,黄建华制作,7,例5
8、.1 雨量预报方法的评价,问题一模型分析:考察下载的lon.dat 、 lat.dat、020.SIX及f_dis等数据文件。我们可以看到雨量预报的网格点有53*47个。而雨量实测点只有91个,且分布不均匀,因此我们不能直接引用数据文件进行实测数据与预测数据之间偏差的计算。显然首先要对所提供的数据文件进行处理,由于所引用的文件比较多,而且具有一定的规律性,所以数据文件的载入可用MATLAB命令 load和循环结构来实现。当有了具体的实测点位置对应的实测数据yi及预测数据yi*之后,我们可以求出每种方法下所有实测点位置上的总偏差平方和。然后比较两个总偏差平方和的大小,就可以判断两种方法的优劣性。
9、,2018/11/15,黄建华制作,8,例5.1 雨量预报方法的评价,问题一模型建立: 通过Matlab程序编程计算,具体过程如下: (1)使用MATLAB命令 load和循环结构将lot.dat、lat.dat、f6181_dis1、f7304_dis2、020618.six、020730.six等文件输入MATLAB程序中备用,其中020618.six、020730.six等文件系统自动在前面添上X。 (2)从X020618文件中取第二、第三列作为实测点位置。其中第一列对应实测点的纬度,第二列对应实测点的经度。分别用lat、lon中的数据作为网格点的横坐标和纵坐标。依次取f6181_dis
10、1,f7304_dis1,f6181_dis2,f7304_dis2文件对应点数据作为竖坐标,张成一个预报值数据曲面,用曲面拟合命令griddata得出对应实测点处的预报估计值,得到一个,2018/11/15,黄建华制作,9,例5.1 雨量预报方法的评价,91*328维的对应实测点处的预报估计值矩阵yczjz。 (3)依次从X020618,.X020730文件中取第四到第七列组成所有日期,所有时段下的实测数据矩阵sczjz。 (4)将sczjz分别与yczjz前164列、后164列对应元素相减,得出第一种方法下和第二种方法下所有实测点处的偏差,组成矩阵f1pcz和f2pcz。 (5)分别求矩阵
11、f1pcz和f2pcz所有元素的平方之和,赋予变量pcpfh(1)和 pcpfh(2)。 (6)比较变量pcpfh(1)、 pcpfh(2)的大小,得出两种方法优劣的比较。 各过程的MATLAB程序实现,可分别由M-文件sjzr.m、qsj.m、pcbj.m运行得到。,2018/11/15,黄建华制作,10,例5.1 雨量预报方法的评价,程序sjzr.m: rqjz=618:628,701:730; %产生1*41维日期行向量 load lat.DAT; %载入53*47维纬度矩阵 load lon.DAT; %载入53*47维经度矩阵 for rq=rqjz %用日期行向量作为循环向量loa
12、d(020,int2str(rq),.SIX) %载入53*47维实测值矩阵,系统自动在文件名前加大写字母Xfor sd=1:4 %指定时段循环向量for ff=1:2 %指定方法循环向量load(f,int2str(rq),int2str(sd),_dis,int2str(ff) %载入53*47维预测值矩阵,共328个endend end,2018/11/15,黄建华制作,11,例5.1 雨量预报方法的评价,将文件全部拷贝在默认的work文件加下,运行程序sjzr.m:,2018/11/15,黄建华制作,12,例5.1 雨量预报方法的评价,2018/11/15,黄建华制作,13,例5.1
13、雨量预报方法的评价,程序huatu.m %画一个时点预测曲面图与实测散点图比较 clf; %预先清除别的图象 Z=eval(f,int2str(618),int2str(1),_dis,int2str(1); %取出某时段预报值作为竖坐标 mesh(lat,lon,Z) %张成预测曲面 axis(27,36,117,125,0,0.4) shading flat xlabel(纬度); ylabel(经度);title(图象比较);hold on X1=X020618(:,2);Y1= X020618(:,3); Z1= X020618 (:,4); %取出实测点数据 plot3(X1,Y1,
14、Z1,r*) %画出实测点数据散点图,2018/11/15,黄建华制作,14,例5.1 雨量预报方法的评价,2018/11/15,黄建华制作,15,例5.1 雨量预报方法的评价,程序qsj.m ycr=1; %指定预测值矩阵列标 yczjz=zeros(91,328); %预先指定预测值矩阵为全零矩阵 for ff=1:2 %指定方法循环变量for rq=rqjz %指定日期循环变量for sd=1:4 %指定时段循环变量z0=eval(f,int2str(rq),int2str(sd),_dis,int2str(ff);%依次取出雨量预测值数据 yczjz(:,ycr)=griddata(l
15、at,lon,z0,X020618(:,2),X020618(:,3); %在张成的预测数据曲面上拟合对应实测点的雨量预测 值,依次放入预测值矩阵对应列ycr=ycr+1; %预测值矩阵列标向后一列end,2018/11/15,黄建华制作,16,例5.1 雨量预报方法的评价,end end scr=1; %指定实测值矩阵列标 sczjz=zeros(91,164); %预先指定实测值矩阵为全零矩阵 for rq=rqjz %指定日期循环变量sczjz(:,scr:scr+3)=eval(X020,int2str(rq),(:,4:7);%依次取出雨量实测值数据放入实测值矩阵scr=scr+4;
16、 %实测值矩阵列标向后4列end,2018/11/15,黄建华制作,17,例5.1 雨量预报方法的评价,程序pcbj.m ff1=yczjz(:,1:164); %取出预测值矩阵的前164列 ff2=yczjz(:,165:328); %取出预测值矩阵的后164列 f1pcz=sczjz-ff1; %计算方法1下的偏差 f2pcz=sczjz-ff2; %计算方法2下的偏差 pcpfh=0,0; %预先产生1*2维偏差平方和零矩阵 for pch=1:91 %指定偏差行循环变量for pcr=1:164 %指定偏差列循环变量pcpfh(1)=pcpfh(1)+f1pcz(pch,pcr).2;
17、%计算方法1偏差平方和pcpfh(2)=pcpfh(2)+f2pcz(pch,pcr).2;%计算方法2偏差平方和,2018/11/15,黄建华制作,18,例5.1 雨量预报方法的评价,end end pcpfh if pcpfh(1)=pcpfh(2) %比较两种方法下的偏差平方和display(一样好) else if pcpfh(1)pcpfh(2)display(第一种方法好) elsedisplay(第二种方法好) end 首先将数据文件减压缩在matlab程序的work文件夹下,然后依次运行M-文件sjzr.m、qsj.m、pcbj.m,得到如下结论:偏差平方和:226730 24
18、3880 第一种方法比第二种方法好。,2018/11/15,黄建华制作,19,例5.1 雨量预报方法的评价,问题二模型分析:在对问题二的分析中,我们只对方法一相应的数据进行分析。 在现实生活中,公众对天气预报的感受主要来自于对雨量预报等级和雨量实际等级之间的偏差所带来的不满,而不是对雨量等级本身的不满,因此我们认为,考虑公众的感受就是要尽量减少所预报等级和实际等级之间偏差的程度。但在预报过程中,我们不可能引用来自于还未知的实际数据,我们只能从评价方法中提供的预报数据及以前的历史数据来提高预报的准确性及公众的感受度。为此我们考虑在分级预报中引入概率。比如:预报“中雨”时,我们可以采取预报方式为“
19、中雨,概率为:55%”等。,2018/11/15,黄建华制作,20,例5.1 雨量预报方法的评价,一般的,雨量实际值是在预报值附近振动的,而且越接近预报值的实际值的概率越高,离预报值越远的实际值的概率越低,因此我们可以认为:实际值服从以预报值为中心的正态分布。假设实际值随机变量为Y,预报值y* 则YN(y*, 2 ),其中 2待定。现假设对实际值Y进行n次检测得到样本为Yi,I=1,2,n,对应样本值为yi,显然,由概率统计知识可知YiN(y*, 2 ),且 是y*的无偏估计,是 2 的无偏估计。即可用 代替y*, s2代替 2。,2018/11/15,黄建华制作,21,例5.1 雨量预报方法
20、的评价,则 : 其中ei为每次预报的偏差。 在此,我们显然不能对同一位置进行n次偏差检测。但是可以用在同一分级下的实测值与预测值之间偏差近似代替ei并求2值。然后再用各分级下的2值求给定预报值所在对应分级下的预报准确概率P。,2018/11/15,黄建华制作,22,例5.1 雨量预报方法的评价,问题二模型建立: 由上述分析可知,若将无雨、小雨、中雨、大雨、暴雨、大暴雨、特大暴雨等7个等级所对应的降雨量区间记为Ij=aj,bj, 则当y*Ij时,在第j分级下的均方差为2 j, YN(y*, 2 j),而且Y的实际值yIj的概率为:P= 预报方式为:等级,概率为:P,2018/11/15,黄建华制
21、作,23,例5.1 雨量预报方法的评价,程序pcbj.m ff1=yczjz(:,1:164); %取出预测值矩阵的前164列 ff2=yczjz(:,165:328); %取出预测值矩阵的后164列 f1pcz=sczjz-ff1; %计算方法1下的偏差 f2pcz=sczjz-ff2; %计算方法2下的偏差 pcpfh=0,0; %预先产生1*2维偏差平方和零矩阵 for pch=1:91 %指定偏差行循环变量for pcr=1:164 %指定偏差列循环变量pcpfh(1)=pcpfh(1)+f1pcz(pch,pcr).2;%计算方法1偏差平方和pcpfh(2)=pcpfh(2)+f2p
22、cz(pch,pcr).2;%计算方法2偏差平方和,2018/11/15,黄建华制作,24,例5.1 雨量预报方法的评价,程序执行过程描述如下: (1)用if-else-end语句和for循环对问题一中所得的偏差矩阵进行分级求偏差平方和,并累计个数。 (2)计算各分级下的偏差平方和与长度减一的比值,分别作为对应等级下的正态分布的均方差 的近似值。 (3)输入预测值,利用求正态分布分布函数命令normcdf及上步中 值计算对应分级中的预报准确概率。 相应程序见M-文件flpcjz.m、yb.m.,2018/11/15,黄建华制作,25,例5.1 雨量预报方法的评价,程序flpcjz.m wypc
23、f=0; %给无雨偏差平方和赋初值 xypcf=0; %给小雨偏差平方和赋初值 zypcf=0; %给中雨偏差平方和赋初值 dypcf=0; %给大雨偏差平方和赋初值 bypcf=0; %给暴雨偏差平方和赋初值 dbypcf=0; %给大暴雨偏差平方和赋初值 tdypcf=0; %给特大暴雨偏差平方和赋初值 wycd=0; %给无雨偏差个数赋初值 xycd=0; %给小雨偏差个数赋初值 zycd=0; %给中雨偏差个数赋初值 dycd=0; %给大雨偏差个数赋初值 bycd=0; %给暴雨偏差个数赋初值,2018/11/15,黄建华制作,26,例5.1 雨量预报方法的评价,dbycd=0; %
24、给大暴雨偏差个数赋初值 tdycd=0; %给特大暴雨偏差个数赋初值 for col=1:91 %用预测值矩阵行数作为循环变量for row=1:164, %用预测值矩阵列数作为循环变量if yczjz(col,row)0.1,2018/11/15,黄建华制作,27,例5.1 雨量预报方法的评价,elseif yczjz(col,row)6 end end end,2018/11/15,黄建华制作,28,例5.1 雨量预报方法的评价,程序yb.m wz1=无雨 ; wz2=小雨 ; wz3=中雨 ; wz4=大雨 ; wz5=暴雨 ; wz6=大暴雨 ; wz7=特大暴雨; if ycz0.1
25、,2018/11/15,黄建华制作,29,例5.1 雨量预报方法的评价,gl=normcdf(2.5,ycz,sgm(2)-normcdf(0.1,ycz,sgm(2);elseif ycz2.5,2018/11/15,黄建华制作,30,例5.1 雨量预报方法的评价,else gl=1-normcdf(60,ycz,sgm(7);wz=wz7;enddisplay(eval(wz),概率为:),display(gl) %输出等级和概率首先运行程序flpcjz.m,得到: sgm=0.0807 0.6064 1.9576 2.7453 5.1915 13.5697 105.4409 然后:输入预
26、报值: ycz=2.2 结果为:小雨,概率为:0.6893 ycz=0.2 结果为:小雨,概率为:0.5654 ycz=4.5 结果为:中雨,概率为:0.6248 ycz=15.6 结果为:暴雨,概率为:0.7209,2018/11/15,黄建华制作,31,例5.1 雨量预报方法的评价,模型的进一步讨论: (1)在对matlab程序进行调试时,我们观察发现矩阵中出现负值,但显然对天气预报数据来说,降雨量是不可能存在负值的,这个缺陷是由插值方法的不足所引起的,在程序中我们对此做了一定的改进。见程序qsjxg.m,通过设置一个条件结构,当预测雨量插值为正时,保留原值不变;当预测雨量插值为负时,我们
27、取预测雨量插值为0。经过此改进,我们得到相应的问题一的答案为:偏差平方和:226690 243840 第一种方法比第二种方法好。 与原答案(偏差平方和:226730 243880 第一种方法比第二种方法好)相比较, 可见插值误差对结果影响不大。,2018/11/15,黄建华制作,32,例5.1 雨量预报方法的评价,(2)观察问题二的演示答案,我们发现有些预报的概率有接近于50%的情况存在 ,表明有另外一种雨量等级概率比较大的可能。为了增加预报等级的可信度,不妨可以采取如下预报形式:大到暴雨,大雨概率:55%,暴雨概率40%。只是计算量有所增加,程序复杂程度有所增加。,2018/11/15,黄建
28、华制作,33,例5.1 雨量预报方法的评价,程序qsjxg.m ycr=1; %指定预测值矩阵列标 yczjz=zeros(91,328); %指定预测值矩阵为全零矩阵 for ff=1:2 %指定方法循环变量for rq=rqjz %指定日期循环变量for sd=1:4 %指定时段循环变量z0=eval(f,int2str(rq),int2str(sd),_dis,int2str(ff);%依次取出雨量预测值数据yczjz(:,ycr)=griddata(lat,lon,z0,X020618(:,2),X020618(:,3);%在张成的预测数据曲面上拟合对应实测点的雨量预测值,依次放入预测
29、值矩阵对应列for hb=1:91 %指定行标循环变量if yczjz(hb,ycr)=0 %判断预测拟合值符合条件,2018/11/15,黄建华制作,34,例5.1 雨量预报方法的评价,yczjz(hb,ycr)=yczjz(hb,ycr); %符合条件,则值不变 else yczjz(bjl,ycr)=0; %不符合条件,则值为0 end end ycr=ycr+1; %预测值矩阵列标向后一列 end end end scr=1; %指定实测值矩阵列标 for rq=rqjz %指定日期循环变量sczjz(:,scr:scr+3)=eval(X020,int2str(rq),(:,4:7)
30、;%依次取出雨量实测值数据scr=scr+4;%实测值矩阵列标加4 end,2018/11/15,黄建华制作,35,(五) MATLAB应用举例,例5.2 2004全国大学生数学建模竞赛题目 饮酒驾车的数学模型饮酒驾车问题主要是分析驾驶员在喝过一定量的酒后,酒精在体内被吸收后,血液中酒精含量上升,影响司机驾车,所以司机饮酒后需经过一段时间后才能安全驾车,国家标准新规定,车辆驾驶人员血液中的酒精含量大于或等于20毫克/百毫升,小于80毫克/百毫升为饮酒驾车,血液中酒精含量大于或等于80毫克/百毫升为醉酒驾车,司机大李在中午12点喝下一瓶啤酒,6小时后检查符合新标准,晚饭地其又喝了一瓶啤酒,他到凌
31、晨2点驾车,被检查时定为饮酒驾车,为什么喝相同量的酒,两次结果不一样?,2018/11/15,黄建华制作,36,例5.2饮酒驾车的数学模型,讨论问题: 1、对大李碰到的情况做出合理解释; 2、在喝三瓶啤酒或半斤白酒后多长时间内驾车会违反标准,喝酒时间长短不同情况会怎样? 3、分析当司机喝酒后何时血液中的酒精含量最高; 4、如果该司机想天天喝酒还能否开车;,2018/11/15,黄建华制作,37,例5.2饮酒驾车的数学模型,摘要本文解决的是一个司机安全驾车与饮酒的问题,目的是通过建立一个数学模型(结合新的国家驾驶员饮酒标准)分析司机如何适量饮酒不会影响正常的安全驾驶。根据一定合理的假设,建立人体
32、内酒精浓度随时间变化的微分方程模型,并通过拟合曲线对数据进行分析。在不同饮酒方式下进行分类讨论,得出体内酒精浓度随时间的变化函数。在讨论过程中,我们得到两个结论:在短时间喝酒形式下,达到最大值的时间为1.23小时,与喝酒量无关;在长时间喝酒形式下,喝酒结束时酒精含量最高。,2018/11/15,黄建华制作,38,例5.2饮酒驾车的数学模型,模型假设 1、酒精从胃转移到体液的速率与胃中的酒精浓度成正比。 2、酒精从体液转移到体外的速率与体液中的酒精浓度成正比。 3、酒精从胃转移到体液的过程中没有损失。 4、测量设备完善,不考虑不同因素所造成的误差。 5、酒精在体液中均匀分布。,2018/11/1
33、5,黄建华制作,39,例5.2饮酒驾车的数学模型,符号说明 k :酒精从体外进入胃的速率; f 1(t):酒精从胃转移到体液的速率; f 2(t):酒精从体液转移到体外的速率; X(t):胃里的酒精含量; Y(t):体液中酒精含量; V 0:体液的容积; K 1:酒精从胃转移到体液的转移速率系数; K2 :酒精从体液转移到体外的转移速率系数; C(t):体液中的酒精浓度。,2018/11/15,黄建华制作,40,例5.2饮酒驾车的数学模型,D0:短时间喝酒情况下进入胃中的初始酒精量。 T:较长时间喝酒所用的时间或达到浓度最大值所需时间。 模型分析: 假设酒精先以速率k0进入胃中,然后以速率f1
34、(t)从胃进入体液,再以速率f2(t)从体液中排到体外。根据假设可以建立如图所示的带有吸收室的单房室系统,其中胃为吸收室,体液为中心室。,2018/11/15,黄建华制作,41,例5.2饮酒驾车的数学模型,根据酒精从胃进入体液的速度f1(t)与胃中的酒精量成正比,速率系数为K1;酒精从血液中排出的速率f2(t)与血液中的酒精量y(t)成正比,速率系数为K2,可以建立方程如下:,2018/11/15,黄建华制作,42,例5.2饮酒驾车的数学模型,2018/11/15,黄建华制作,43,例5.2饮酒驾车的数学模型,利用MATLAB的dsolve()函数,编辑:clear; syms x y y0
35、k0 k1 k2; x,y=dsolve(Dx=k0-k1*x,Dy=k1*x-k2*y,x(0)=x0 ,y(0)=y0,t) pretty(simple(x), pretty(simple(y)得到:,2018/11/15,黄建华制作,44,例5.2饮酒驾车的数学模型,2018/11/15,黄建华制作,45,例5.2饮酒驾车的数学模型,模型讨论:当酒是在较短时间内喝时 此时有x(0)=x0=D0 ,k0=0 ,y(0)=y0=0 :又酒精浓度为酒精量与体液容积之比,即:,2018/11/15,黄建华制作,46,例5.2饮酒驾车的数学模型,显然K1K2。当t比较大时, 可认为:利用数表 :,
36、2018/11/15,黄建华制作,47,例5.2饮酒驾车的数学模型,通过Matlab进行曲线拟合,编程: t= 1.5 2 2.5 3 3.5 4 4.5 5 6 7 8 9 10 11 12 13 14 15 16; y1=82 77 68 68 58 51 50 41 38 35 28 25 18 15 12 10 7 7 4; y2=log(y1); polyfit(t,y2,1); ans = -0.1940 4.7753 可得:A=118.5459,k2=0.1940 根据查阅资料可知:一瓶啤酒的酒精量一般为640ml,密度为810mg/ml酒精浓度为84.5%所以两瓶啤酒的酒精总量
37、 由于体重为70kg,体重的65%左右,体液密度为1.05mg/ml,所以可得体液的总体积为,2018/11/15,黄建华制作,48,例5.2饮酒驾车的数学模型,可得短时间内喝下两瓶啤酒时血液中的酒精含量与时间的关系式如下:,2018/11/15,黄建华制作,49,例5.2饮酒驾车的数学模型,用Matlab软件画出图形,编程为: 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; y1=30 68 75 82 82 77 68 68 58 51 50 41 38 35 28 25 18 15 12 10
38、 7 7 4; a=118.5459;k1=2.114;k2=0.1940; x=0:20; y=a*(exp(-k2*t)-exp(-k1*t); plot(t,y1,+,t,y,r),2018/11/15,黄建华制作,50,例5.2饮酒驾车的数学模型,图形为:,2018/11/15,黄建华制作,51,例5.2饮酒驾车的数学模型,问题一解答:假设大李第一次喝酒是在短时间内喝的,根据所建立模型,所以可求得:当 t=6时,可以求得 c(t)=18.2778毫克/百毫升,小于国家规定的新标准,所以第一次遭遇检查时没有被认定为是饮酒驾驶,见图:,2018/11/15,黄建华制作,52,例5.2饮酒驾车的数学模型,图形为:,2018/11/15,黄建华制作,53,例5.2饮酒驾车的数学模型,大李在吃晚饭时又喝了一瓶啤酒,喝酒后体内酒精叠加. 当t=14时, c(t)=20.3618毫克/百毫升大于国家新规定的20mg/100ml,所以酒精超标 :,2018/11/15,黄建华制作,54,例5.2饮酒驾车的数学模型,问题三解答: 短时间内喝酒时,根据所建立模型可知:当 c(t)的导数等于0时,可解得:因为T只与k1,k2有关,从表达式可知当在较短时间内喝酒时浓度达到最大值的时间与喝酒量无关。,2018/11/15,黄建华制作,55,例5.2饮酒驾车的数学模型,其余解答请参考其他资料,