[摘要] 本文借用Matlab强大的计算功能和绘图功能,对某阿拉干监测数据进行曲线拟合,得到拟合函数。再利用GM(1.1)时间序列模型构建地下深埋的预测模型,进而对阿拉干 2021,四个位置H1,H2,H3,H4年度各监测井平均深埋位置变化进行分析。
[关键词] 深埋 曲线拟合 GM(1.1)时间序列
一、Matlab简介
MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室),软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式。
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
本文借用Matlab强大的计算功能和绘图功能,对乌苏市监测井数据进行曲线拟合,得到拟合函数,从而获取到已知数据点的内在规律。利用GM(1,1)构建地下水水位的预测模型,进而对乌苏市地下水水位变化进行分析。
二、研究区概况及数据处理
(一)研究区概况
本研究的时间序列为 2021 年,下游 4 个监 测断面的年平均地下水位与年生态输水量的变化.
(二)研究数据来源及处理
1.研究数据来源
阿拉干 2021 年 4 眼监测井年平均埋深在 2.77 ~ 3. 14 m之间变化( 见图 3) ,其中 2021年阿瓦提灌区 2眼监测井地下水位年 平 均 埋 深 为 2.77 m。2021 年 H2地下水埋深降到3.14 m,年平均水位降为 0.04 m,2021年114月份地下水位小幅回升,
图1
2.数据曲线拟合
科研试验的主要目的是对事物模型的研究,而采用的主要方法是通过采集试验数据,建立与之相应的数学模型,在建模过程中最常用到的数据处理方法就是进行数据的曲线拟合[2]。所谓曲线拟合是指设法找出某条光滑的曲线最佳地拟合数据。其思想是使它能反映这些离散数据的变化趋势使数据点的误差平方和最小[3]。而在进行曲线拟合时,并不要求拟合曲线要经过每一个数据点,但应尽量避免出现局部波动。
Matlab的内置函数,basic fitting 工具箱拟合,下面先将样本点数据输入给MATLAB工作空间,然后用多项式拟合函数去拟合数据,在命令行输入如下程序,得到二次多项式系数矩阵p,可观察拟合情况如图1所示。
MATLAB拟合的程序为:
figure
plot(t1,-A,‘-‘)
hold off
grid on
xlabel(‘年’);
ylabel(‘水位下降’);
title(‘原始信号’)
grid on
3.基于灰色GM(1.1)的地下水水位预测
地下水位的变化是一个复杂的自然过程,通过预测地下水位,在一定程度上可以反映出未来地下水的动态变化规律。目前,主要采用数学模型来进行地下水位的预测,应用于地下水位预测的数学模型可分为确定性模型和随机性模型。
灰色GM(1.1)相比于传统的统计分析模型,具有更好的实时预测性,能够解决多个自变量和因变量的问题,目前广泛应用于地下水位预测中。本文采用MATLABGM(1.1)。为了减少误差,将2009年到2019年的数据训练,从而对2029年的水位数据采用GM(1.1)分析,具体操作程序如下:
syms a b;
c=[a b]’;
load a.txt
A=a’;
B=cumsum(A); %原始数据累加
n=length(A);
for i=1:(n-1)
C(i)=(B(i)+B(i+1))/2; %生成累加矩阵
end
%计算待定参数的值
D=A;D(1)=[];
D=D’;
E=[-C;ones(1,n-1)];
c=inv(EE’)ED;
c=c’;
a=c(1);b=c(2);
%预测后续数据
F=[];F(1)=A(1);
只推测后10个数据,可以从此修改
F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a;
end
G=[];G(1)=A(1);
for i=2:(n+10) %只推测后10个数据,可以从此修改
G(i)=F(i)-F(i-1); %得到预测出来的数据
end
t1=2009:2019;
t2=2009:2029; %多10组数据
G
h=plot(t1,-A,‘-o’,t2,-G,‘-*’); %原始数据与预测数据的比较
set(h,‘LineWidth’,1.5);
xlabel(‘时间’,‘FontSize’,12);
ylabel(‘地下水水位(m)’,‘FontSize’,12);
grid on
G =
Columns 1 through 7
2.8000 2.8181 2.8643 2.9111 2.9588 3.0072 3.0564
Columns 8 through 14
3.1064 3.1573 3.2089 3.2615 3.3148 3.3691 3.4242
Columns 15 through 21
3.4803 3.5372 3.5951 3.6540 3.7138 3.7745 3.8363
图2
预测期拟合曲线如图2所示,从图中可以看出采用GM(1.1)预测出的水位变化趋势和期望输出的变化趋势一致,但预测结果有一定误差。对2016年1到9月份的数据输入,2019-2029的数据输出,GM(1.1)对历史数据习性比较强大,但对于未来地下水水位的预测则需要大量的历史数据作为支撑。
参考文献
[1] 李柏年. MATLAB数据分析方法[M]. 2012.
[2] 杨云升. Matlab曲线拟合及其在试验数据处理中的应用[J]. 电脑与信息技术, 2009,17(02):34-36.
[3] 屈仁春. 基于MATLAB的非线性曲线拟合赋权法[J]. 成都航空职业技术学院学报, 2018,34(04):52-53.
[4] 李丽丹. 基于MATLAB的离散数据最小二乘拟合[J]. 辽宁工程技术大学学报(自然科学版), 2011,30(S1):202-204.
[5] 汗阿依夏木·卡哈尔.新疆阿瓦提县 2009 - 2018 年地下水位动态变化特征及影响因素研究[J]. 节水灌溉, 2019(10):73-77.