本文讨论了有关湖水的自我净化问题,探讨了有关湖水污染物浓度的变化关系。 通过本题的已知条件,我们可以分析出湖水污染物浓度的变化是动态的,故我们可以湖水的自我净化问题 应用微积分的知识进行求解。根据湖水净化的实质,找出湖水污染物的减少量与湖水污染物的排出量的等价关系。再根据等价关系建立湖水污染物浓度随时间变化的含参量的微分方程模型。进而根据已知数据利用MATLAB求解出所求问题的结果。即:污染源被切断后,污染物浓度下降至原来的3%所需的时间为440.4257天。
关键词:微元法、微积分方程、MATLAB、动态分析
数学建模
摘要
一、 问题重述
设一容积为V(单位:m3 )的大湖受到 某种物质的污染,污染物均匀的分布在湖中。若从某时刻起污染源被切断,设湖水更新的速率是r(单位:m3/天)。试建立求污染物浓度下降至原来的3%需要多长时间的数学模型。某湖的容积为5176*10^9(m3),湖水的流量为4.121*10^10(m3/天),求污染终止后,污染物下降到原来的3%所需的时间。
二、模型假设
假设1:湖水的体积是不变的;
假设2:净化时湖水的流入量和流出量相等且不变; 假设3:湖水的流量r为常量;
假设4:污染物在净化过程中时刻都均匀分布在湖中。
三、变量说明
:湖水的体积(单位:m3 );
r:湖水更新的速率(单位:m3/天);
t:污染源被切断时为零时刻的时间(单位:天); p(t):污染源被切断后t时刻排出污染物的量; :t时刻湖水的污染物浓度;
:净化一定时间后的污染物浓度与污染源被切断后零时刻的污染物浓度之比; :零时刻湖水污染物的浓度。
四、问题分析
在假设的条件下,湖水的体积不变,在污染源被切断后无污染物流入,且污染物均匀分布在湖中。而湖水的自我净化本质为:流入一定体积的无污染的水,从而排走与流入量相等体积的被污染湖水,进而达到污染物被稀释,浓度下降,湖水净化的效果。
本问题的实质是分析湖水污染物浓度的变化。由于流入的为无污染的水,流出的为被污染的水,故湖水的污染物浓度是动态的。由于污染源被切断,则湖水中污染物的变化量=湖水原有的污染量-流出湖水的污染量。根据微积分知识可知,在dt时间内,通过建立微分方程,可以将连续的过程离散化,从而可得到湖水污染物浓度与时间的关系表达式;然后运用MATLAB进行求解。 五、模型的建立与求解
在任意t时刻,湖水中污染物的排出量为p(t)= (1) 由于在dt时间内被污染的湖水排出的体积为rdt,则dt时间内排出的污染物的量为 ,所以在[0,t]时间段内,
湖水中污染物的排出量为p(t)= (2) 所以由(1)(2)得等式: = ;
对等式两边求导可得: (3) 对等式(3):运用MATLAB进行求解(详细程序见附件中程序1)
可得 (4) 则切断污染源后,污染物浓度下降至原来的a%有:即:
(
(5)
对等式(5)两边求对数得等式: 即:
(6) 故当 , , 时,进而利用MATLAB求解(详细程序见附件中程序2)
可得切断污染源后,污染物下降至原来的3%所需时间t=440.4257 (天)
六、模型结果的分析与检验
通过分析,建立的模型表达式
为关于时间t的呈负指数增长的模型,即
随着时间t的增大,污染物浓度 逐渐减小, 且
,即: 时, ( 。令 ,并把本
题已知数据 , ,代入模型表达式 。运用MATLAB可以画出模型表达式
的图形(详细程序见附件中程序3),可得湖水污染物浓
度与时间
的关系图
图象显示了随着时间的增长,湖水污染物浓度逐渐减小。在现实生活
中,当污染源被切断后,湖水在逐渐进行自我净化(污染物的逐渐分解、被污染的湖水流出),所以湖水中污染物的浓度逐渐减小。即:经过分析,所建立的模型符合实际情况。
七、模型的推广与改进方向
从建立的模型可以看出,本题是一个特例,只考虑了污染源被切断的情况,而实际
问题中大多是污染源未被切断的问题。我们可以将该模型推广到未被切断污染源的情况下,同样是运用微分方程等来研究污染浓度随时间变化的动态关系。而且该模型不光适用于类似本题的湖水净化问题,还可以利用模型的实时性将模型应用到其他模型中(如海洋石油泄漏、公共场所的应急安全分析等),有关于其他动态分析的问题都可利用该模型。 由于模型存在舍入误差,要想求得精确结果且模型有意义,那数值的选取就应特别主意,选取数值的精确度越高得出的结果就越精确。
八、模型的优缺点
优点:利用微元法的思想建立模型,且模型是微分方程。而微分方程是用来解决动态分析的,所以模型的应用很广泛,贴近实际情况。该模型还可以应用到实时监控等动态分析的问题中。
缺点:微分方程并不是任何条件下都有解,在本模型中,只有当流入湖水的污染物浓度恒定微分方程才可解,故适用的范围受一定限制。
九、参考文献
[1].姜启源 .数学模型(第四版)[M].北京:高等教育出版社,2011.
[2].熊庆如 .MATLAB基础与应用 [M].北京:机械工业出版社,2014.
附件:
MATLAB程序1:
>> Q=dsolve('DQ=-r*Q/v','Q(0)=Q0','t') %求解微分方程 Q =
Q0*exp(-(r*t)/v) MATLAB程序2:
>> syms t
>> v=5176*10^9; >> r=4.121*10^10; >> a=0.03;
>> t=-v*log(a)/r; >> t t =
440.4257 MATLAB程序3:
>> v=5176*10^9; >> r=4.121*10^10; >> Q0=0.9;
>> t=0:1:1000;
>> Q=Q0*exp(-r*t\\v); >> plot(t,Q)
>> xlabel(‘t’);
>> ylabel(‘Q’); >> hold on
因篇幅问题不能全部显示,请点此查看更多更全内容