ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:137.30KB ,
资源ID:3236745      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3236745.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验二.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验二.docx

1、实验二 一、基本原理1.1空间域延拓原理延拓分为:向上延拓和向下延拓。向上延拓是只将实测平面上的数据换到平面之上的平面上的计算。对于二度体(令z向下为正): U(x,z)=- (z0) (1)其中U(,0)为剖面上各点的实测值。Z为延拓的高度,即转换后的平面和观测平面的距离,由于z坐标向下为正,因此z0),则磁场为在z=H平面以上对x、y、z连续的函数,若z=0观测平面的磁场T(x,y,0)为已知,则由外部的狄利克莱问题: T(x,y,z)=dd (2) 对其进行变量x,y进行傅里叶变换成 (3) 因此:= (4)在波数域中,延拓变成了对观测数据的傅里叶变换乘以延拓因子。二、输入/输出数据格式

2、设计1、输入数据 (1)控制变量名:cmd.txt (2)观测面高度之差:height=3.3m或height=-3.3m (3)低高度网格化数据:从文件“A20_mag.grd”输入 (4)高高度网格化数据:从文件“A53_mag.grd”输入 (5)特征值: (6)输出文件名:out.grd2、输出数据通过修改参数,运行两次程序,向上延拓结果及向下延拓结果均输入“output.grd”先做向上延拓,将结果利用surfer画图后,再做向下延拓三、总体设计1、程序流程图图3.1 程序流程框图3.1 程序流程框图2、参数说明mpoint,line 点数,线数height 观测面高度差xmin,x

3、max,ymax,ymin x方向最小值、最大值,y方向最大值、最小值eigval 特征值m0,m1,m2,m3 x方向扩边点位n0,n1,n2,n3 y方向扩边点位Field 场值Field_real,Field_image 傅里叶变换中场值的实部,虚部Fconti_real Fconti_image 延拓因子实部、虚部四、测试结果1、原场值图:图4.1 低高度场值图图4.2 高高度场值2、延拓结果图:图4.3 向上延拓结果图4.4 向下延拓结果分析:将底高度向上延拓3.3m后结果与高高度原场值图形近似,但是场值变小了,且异常部位相对不明显了,将高高度向下延拓3.3m后,异常部位没变,但是场

4、值绝对值变大了近5倍,且在边缘部位有几个异常点。五、结论及建议 结论:在本次实验中,通过编写位场延拓程序代码,对位场延拓的原理及步骤有了进一步的了解。但是在程序编写时还是遇到了很多的问题,整个程序写完,调试后出来的结果根本不是所需要的,检查后发现是延拓公式写错了,改正之后还是不对,又请同学帮忙修改后才作出结果。这反映出我编写程序是对原理的理解不清晰,编写公式时的不细心,这都是需要改正的。 建议:本次实验只做了一组向上延拓及向下延拓,对比性不是很强,我认为应该做三到四组不同范围的范围,这样能更好的对比延拓在什么范围内延拓结果最好。附录源程序代码: Program Wavenumber_conti

5、nuation Integer mpoint,line Real height,xmin,xmax,ymin,ymax,eigval Integer m0,m1,m2,m3,n0,n1,n2,n3 character*80 input_filename,output_filename,cmdfile real,allocatable :Field(:,:),Freal(:,:),Fimage(:,:), &Fconti_real(:,:),Fconti_image(:,:) real,allocatable :U(:),V(:),W(:,:) cmdfile=cmd.txt call read

6、cmd(cmdfile,height,input_filename,output_filename,eigval) call readmn(input_filename,mpoint,line,xmin,xmax,ymin,ymax,dx,dy) call calculate_m1m2(mpoint,m0,m1,m2,m3,xmax,xmin) call calculate_n1n2(mpoint,n0,n1,n2,n3,ymax,ymin) allocate(Field(m0:m3,n0:n3),Freal(m0:m3,n0:n3),Fimage(m0:m3,n0:n3) &,Fconti_

7、real(m0:m3,n0:n3),Fconti_image(m0:m3,n0:n3) allocate(U(m0:m3),V(n0:n3),w(m0:m3,n0:n3) call input_GRD(input_filename,m0,m1,m2,m3,n0,n1,n2,n3,Field, &eigval) call expend_2D(Field,m0,m1,m2,m3,n0,n1,n2,n3) Freal=Field Fimage=0.0 call FFT2(Freal,Fimage,m3-m0+1,n3-n0+1,2) call wave2(m0,m3,dx,U,n0,n3,dy,V,

8、W) call factor_conti(height,W,Freal,Fimage,m0,m3,n0,n3,Fconti_real, &Fconti_image) call multi_sub(Freal,Fimage,Fconti_real,Fconti_image,m0,m3,n0,n3) call FFT2(Freal,Fimage,m3-m0+1,n3-n0+1,1) call output_GRD(output_filename,m0,m1,m2,m3,n0,n1,n2,n3,xmin,xmax, &ymin,ymax,Freal,eigval) deallocate(Field,

9、U,V,W,Freal,Fimage,Fconti_real,Fconti_image) end program subroutine readcmd(cmdfile,height,input_filename,output_filename &,eigval) character*80 cmdfile,input_filename,output_filename real heigt,eigval open(11,file=cmdfile,status=old) read(11,*) height read(11,*) input_filename,output_filename read(

10、11,*) eigval close(11) end subroutine subroutine readmn(input_filename,mpoint,line,xmin,xmax,ymin,ymax, &dx,dy) character*80 input_filename integer mpoint,line real xmin,xmax,ymin,ymax,dx,dy open(22,file=input_filename,status=old) read(22,*) read(22,*) mpoint,line read(22,*) xmin,xmax read(22,*) ymi

11、n,ymax close(22) dx=(xmax-xmin)/(mpoint-1) dy=(ymax-ymin)/(line-1) end subroutine subroutine calculate_m1m2(mpoint,m0,m1,m2,m3,xmin,xmax) integer mpoint,n,k integer m0,m1,m2,m3 m1=1.0 m2=xmax-xmin+1 n=mpoint k=int(log(n*1.0)/log(2.0)+0.5)+1 m0=1 m1=(2*k-n)/2 m2=m1+n-1 m3=2*k end subroutine subroutin

12、e calculate_n1n2(line,n0,n1,n2,n3,ymax,ymin) integer line integer n0,n1,n2,n3,n,k n1=1 n2=ymax-ymin+1 n=line k=int(log(n*1.0)/log(2.0)+0.5)+1 n0=1 n1=(2*k-n)/2 n2=n1+n-1 n3=2*k end subroutine subroutine input_GRD(input_filename,m0,m1,m2,m3,n0,n1,n2,n3,Field &,eigval) integer m0,m1,m2,m3,n0,n1,n2,n3

13、character*80 input_filename real Field(m0:m3,n0:n3) real eigval open(33,file=input_filename) Field=eigval read(33,*) read(33,*) read(33,*) read(33,*) read(33,*) do j=n1,n2 read(33,*)(Field(i,j),i=m1,m2) end do close(33) end subroutine subroutine expend_2D(Field,m0,m1,m2,m3,n0,n1,n2,n3) integer m0,m1

14、,m2,m3,n0,n1,n2,n3 real pi real Field(m0:m3,n0:n3) pi=3.141592654 do j=n1,n2 Field(m0,j)=(Field(m1,j)+Field(m2,j)*0.5 Field(m3,j)=Field(m0,j) end do do j=n1,n2 do i=m0+1,m1-1 Field(i,j)=(Field(m1,j)-Field(m0,j)*(cos(0.5*pi*(m1-i)/(m1-m0) &)+Field(m1,j) end do do i=m2+1,m3-1 Field(i,j)=(Field(m3,j)-Field(m2,j)*(cos(0.5*pi*(m3-i)/(m3-m2 &)+Field(m2,j) end do end do do i=m0,m3 Field(i,n0)=(Field(i,n1)+Field(i,n2)*0.5 Field(i,n3)=Field(i,n0) end do do i=m0,m3 do j=n0,n1-1 Field(i,j)=(Field(i,n1)-Field(i,n0)*(cos(0.5*pi*(n1-j)/(n1- &n0)+Field(i,n0) end do do j=

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1