- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
地下水动力学中Matlab的运用(井函数与贝塞尔函数)
地下水动力学中Matlab的运用越流含水层中贝塞尔函数的实现越流含水层中地下水向承压水井运动的问题中,贝塞尔函数大量运用,其中精确解中运用了零阶第二类虚宗量Bessel函数,一阶第二类虚宗量Bessel函数。经简化后的Hantush-Jacob公式中也零阶第二类虚宗量Bessel函数。在配线法中使用的是Hantush-Jacob公式,需要在双对数纸上绘制曲线,而这在Matlab中很容易实现。Matlab中内置大量函数,其中包括五类Bessel函数,即besselj(nu,Z)、bessely(nu,Z)、besselh(nu,Z)、besseli(nu,Z)、besselk(nu,Z),分别对应第一类贝塞尔函数,诺依曼函数,汉克尔函数,第一类修正贝塞尔函数以及第二类修正贝塞尔函数。而我们利用的即为第二类修正贝塞尔函数,相应的语句及图像如下:x=0:0.01:10;y0=besselk(0,x);y1=besselk(1,x);loglog(x,y0,x,y1);grid on;井函数的实现地下水向完整井的非稳定运动中需要运用井函数,其指数积分式为在Matlab中利用quad或quad8等积命令可实现求其近似值。但Matlab中内置的Maple函数库中包含Ei函数,但不可直接显示其函数值,可直接利用mfun函数调用Matlab中的Maple函数库,以达到求值的要求。相应的语句及图像如下:for i=1:160u(i)=10^(-15+i/10); %生成等比数列,便于画双对数坐标图像endfor i=1:160w(i)=mfun(Ei,1,u(i));endloglog(u,w);grid on;井函数数值的验证:U10-1510-1410-1310-1210-1110-10W(u)33.9615607313563912775122022.448635U10-910-810-710-610-510-4W(u)208434651523829610.9357208.633225U10-310-210-1100101W(u)6.3315394.0379301.8229240.2193840.000004利用非线性规化获得Theis解析模型数值解Theis公式既可以用于水位预测,也可以用于求含水层参数。而在解决后者这一逆问题时,传统的方法是配线法或Jacob直线图解法,其精度不高且随意性较大。利用Matlab中非线性规化函数fmincon的功能实现统一的评判标准,保证解的唯一性与可靠性。由于我们在上面已经解决了井函数的求值问题,故只需编写非线性规划的目标函数即可。此处最优解的原则是使目标函数值最小,也即目标函数决定了整体的优化评判标准。常见的方法是使理论值与实际值的方差最小,并认为此时函数曲线最契合实际数值点。所以Theis模型的目标函数如下其中表示权数,代表数据的可信度,一般设为1。与分别表示某时刻某一点水位值的理论值与实际值。Matlab语句编写如下:function E =fune(x)t=T; %调用时间点的M文件s=S; %调用降深值的M文件r=R; %调用观测距离的M文件Q=q; %调用流量的M文件E=0;for n=1:length(r)for m=1:length(t) a=r(n)^2*x(2)/(4*x(1)*t(m)); E=E+(Q/(4*pi*x(1))*mfun(Ei,1,a)-s(n,m))^2;endend目标函数实现后即可在非线性规划函数中调用,fmincon中变量很多,但一般Theis模型没有对应的线性不等约束或者线性等式约束,故只需限定上下限即可,而初值可根据经验取得相应的数量级即可。具体实现代码如下:function [x fval]=funm[x,fval] = fmincon(fune,[300;0.0001],[],[],[],[],[1;0.00001],[10000;0.01]);验证与计算利用上述函数可根据所测得的数据计算得含水层的导水系数T与贮水系数,而所需要提供的数据包括观测时间,观测点与井的距离以及观测点的降深。由于编写的fune函数中可直接调用上述数据,故使用时只需将对应的数据矩阵导入文件夹即可。现利用课本上的习题进行验证结果的可靠性。(1)利用《地下动力学》课本中100页中观2与观15的两个孔的数据进行测试,结果如下:目标函数值E=0.4092书上利用配线法的计算结果如下:目标函数值E= 0.7426(2)利用所提供的PDF文件中观测数据,上述Matlab程序计算结果如下:目标函数值E=0.0394PDF文件中自身程序计算结果为:目
文档评论(0)