实验三 多次迭代滑动平均法程序设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三多次迭代滑动平均法程序设计

姓名:

专业:勘查技术与工程

学号:

指导教师:纪新林

一. 基本原理:

1.多次迭代法的计算公式:

⎪⎪

⎪⎪

⎨⎧⋅++==∑∑∑∑-=-=-=-=+Nr Nr l Mr Mr l Nr Nr l Mr Mr k P P l i k i G j i G j i G j i G 1),(),()

,(),()()1()0( 式中:),1;,1)(,(n j m i j i G ⋅⋅⋅=⋅⋅⋅=为总场值; ),1;,1)(,()0(n j m i j i G ⋅⋅⋅=⋅⋅⋅=为迭代的初始值;

P 为迭代次数,Nr 为窗口沿y 轴的半径,Mr 为窗口沿x 轴的半径。

2.多次迭代法可解决的问题:

可以进行场的分离,得到深部区域场和剩余场,同时也可以消除随机异常。

二.输入输出数据格式设计:

X 方向窗口半径:Mradius

Y 方向窗口半径:Nradius

迭代次数:Interationmax

输入总场文件名:Totalfilename 输出区域场文件名:Regfilename 输出剩余场文件名:Resfilename 总场值:G

区域场值:GReg 剩余场值:GRes 点数:mpoint 线数:nline

点坐标的最小值:Xmin 点坐标的最大值:Xmax 线坐标的最小值:Ymin 线坐标的最大值:Ymax

三.总体设计

I :输入有关参数:文件名,迭代次数,窗口半径

输入点线数,X ,Y 坐标的最大值和最小值 输入总场

P :循环进行滑动平均计算 O :输出区域场和剩余场

四.测试结果

1.测试参数如下:

(1)网格数据保存在Totalfilename.grd 中。网格数据按grd 格式保存,有27

条线、27个点,点(线)坐标从-26m~26m ,点线距为2m 。

(2) 迭代次数3,窗口半径为6m ,相关参数保存在CMD.txt 文件中:

Totalfilename.grd Regfilename.grd Resfilename.grd 3 6 6

2.测试结果:

得到区域场和剩余场的两个网格化文件:Regfilename.grd ,Resfilename.grd 用Surfer 8 分别绘制等值线图:

分别得到总场等值线图,区域场等值线图,剩余场等值线图:

-25

-20

-15

-10

-5

5

10

15

20

25

-25

-20

-15

-10

-5

5

10

15

20

25

0.020.040.060.080.10.120.140.160.180.20.220.240.260.280.30.320.340.360.38

总场等值线图

-25

-20

-15

-10

-5

5

10

15

20

25

-25

-20

-15

-10

-5

5

10

15

20

25

0.03

0.0350.040.045

0.050.055

0.060.065

0.070.075

0.080.085

0.090.095

0.1

区域场等值线图

-25

-20

-15

-10

-5

5

10

15

20

25

-25

-20

-15

-10

-5

5

10

15

20

25

-0.06

-0.04-0.02

00.020.040.060.080.10.120.140.160.180.20.220.24

0.260.28

剩余场等值线

五.结论及建议:

多次迭代滑动平均法可以进行场的分离,将一个重力异常分离为深部的区域异常和剩余场,同时能够消除随机虚假异常。

一般来说,窗口越大,滑动平均值反映的区域异常越深;迭代次数越多,得到的区域场越平滑,得到的剩余场越明显,反复迭代基本上可以消除随机异常和假异常,达到压制干扰的效果。

本次测试迭代了三次,由以上图可知,迭代得到的区域异常比总异常平滑了很多,而剩余场基本上与总场一致,有细微的差别。总体来说得到了实验要求的效果,基本上反映了多次迭代滑动平均法进行场的分离的规律。

为了使结果更加明显,可以增加迭代次数。

附录:源程序代码

!ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc !ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ! 程序说明

!

! 程序功能:mulfi_iter_mean --- 重力异常数据的多次迭代滑动平均处理!

! 输入参数: Mradius --- X方向窗口半径mpoint --- 点数

! Nradius --- Y方向窗口半径nline --- 线数

! Interationmax --- 迭代次数Xmin --- X测线最小值! Totalfilename --- 输入总场文件名Xmax --- X测线最大值! Regfilename --- 输出区域场文件名Ymin --- Y测线最小值! Resfilename --- 输出剩余场文件名Ymax --- Y测线最大值! G --- 总场值

!

! 所用文件:CMD.txt --- 输入相关参数

! Totalfilename.grd --- 总场输入文件

! Regfilename.grd --- 区域场输出文件

! Resfilename.grd --- 剩余场输出文件

!

! 中间变量:number --- 中间整型变量GReg --- 区域场值

! sum --- 中间实型变量GRes --- 剩余场值

! Gmax --- 网格点处异常数据的最大值

! Gmax --- 网格点处异常数据的最小值

!

! 输出参数:Regfilename.grd --- 区域场输出文件

! Resfilename.grd --- 剩余场输出文件

!

! 所用子程序:input_CMD --- 输入相关文件名和数据

! read_mpointnline --- 从输入文件中读入点线个数

! 和X,Y测线最大值最小值

! inputGRD --- 输入总场值到数组G

! mulfi_iter_mea --- 滑动平均法

! mean_sub --- 迭代过程

! outputGRD --- 输出网格化文件

!

!

! 作者:韩自强

!ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc !ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc

相关文档
最新文档