实验3-磁异常处理与转换(张嘉琪)

实验3-磁异常处理与转换(张嘉琪)
实验3-磁异常处理与转换(张嘉琪)

《应用地磁学》实验报告

姓名:张嘉琪

学号: 1010112225

指导教师:李淑玲

实验地点:实验室319

实验日期: 2014-05-31

实验三:磁异常处理与转换

一、实验目的:

1、加深对磁性体磁异常在空间域处理转换原理与作用的认识

2、用Matlab 语言编程实现水平圆柱体磁异常(包括Za 、Ha 、Δt)的向上延拓和分量转换,培养学生数据处理的实际动手能力。

二、实验内容

利用两个大小与埋深不同的水平圆柱体产生的磁异常(ΔT 、Za 、Ha ),进行上延计算与分量转换计算,异常数据利用实验一中水平圆柱体的正演程序计算而来。

三、实验要求

球体或水平圆柱体磁异常上延计算与分量计算可任选其一,但均要求对计算结果误差进行分析,具体要求如下:

1、上延计算:对ΔT 、Za 、Ha 各分量向上延拓5m 、10m ,画出对应结果图;

2、分量计算:进行Za →Ha ,Ha →Za 分量转换,画出对应结果图;

3、观察向上延拓、分量转换前后的异常特征,分析向上延拓与分量转换的作用;

4、要求对计算结果误差进行分析,如有可能提出改进措施。

5

152535455565758595105115125135145155 -30

-20

-10

0 10 20

30

(n T ) 0

10 20

30

(m )

图1、水平圆柱体模型及其产生的磁异常分量Za 和Ha

四、实验原理

在空间域内讨论磁异常的转换和处理的基础是磁异常的位函数,它具有调和函数的性质。因此可根据某观测面上的实测磁异常,换算成场源以外其他空间位置的磁异常,也可以将某种实测分量换算成其他的分量,增加解释信息。

1、向上延拓:换算平面位于实测平面之上。主要用途是削弱局部异常干扰,

反映深部异常。设坐标原点位于计算点下方实测剖面上,延拓高度为一个点距

h ,则原点的向上延拓公式:

1()21222()2(,0)14(0,)(,0)arctan 43n h n h n n Za nh h Za h d Za nh h n ξπξπ∞∞+-=-∞

=-∞-=

=++∑∑? 1()21222()2

(,0)14(0,)(,0)arctan 43n h n h n n Ha nh h Ha h d Ha nh h n ξπξπ∞∞+-=-∞=-∞-==++∑∑? 344arctan 1)0,()0,(),0(2)21()21(22+?=+?=

-??∑∑+-∞-∞

=∞-∞=n nh T d h h nh T h T h n h n n n πξξπ 2、磁异常分量间的换算:原点处的磁异常的分量换算公式

Za →Ha :)]0,()0,([)0,0(1i a i a N

i i a Z Z a H ξξ--=∑=,

Ha →Za :)]0,()0,([)0,0(1i a i a N

i i a H H a Z ξξ---=∑=, 式中,)ln 211(1121ξξ+=πa ,i i i a ξξπ1ln 22+=,)ln 1(211

-+=N N N a ξξπ。 五、计算程序代码

水平圆柱体向上延拓:

% 两个水平圆柱体剖面异常向上延拓

% 重点理解向上延拓的作用和计算误差来源。

clc;

clear;

% 测点分布范围

dx=5; % X 方向测点间距 m

nx=101; % X 方向测点数

xmin=-250; % X 方向起点 m

x=xmin:dx:(xmin+(nx-1)*dx); % X 方向范围 m

% 两个水平圆柱体参数

i=pi/2; %有效磁化倾角is

R1=5; % 水平圆柱体1半径 m

R2=50; % 水平圆柱体2半径 m

v1=pi*R1^2;

v2=pi*R2^2;

u=4*pi*10^(-7); %磁导率

Ms=0.2; %磁化强度 A/m

m1=Ms*v1; %磁矩

m2=Ms*v2; %磁矩

D1=25; % 水平圆柱体1埋深 m

D2=100; % 水平圆柱体2埋深 m

% 园柱体Za理论磁异常

Za1=(u*m1*((D1.^2-(x-50).^2)*sin(i)-2*D1*(x-50).*cos(i)))./(2*pi*((x-50).^2+D1. ^2).^2);

Za2=(u*m2*((D2.^2-(x+50).^2)*sin(i)-2*D2*(x+50).*cos(i)))./(2*pi*((x+50).^2+D2. ^2).^2);

Za=Za1+Za2;

% 圆柱体Ha理论磁异常

Ha1=(-u*m1*((D1.^2-(x-50).^2)*cos(i)+2*D1*(x-50).*sin(i)))./(2*pi*((x-50).^2+D1 .^2).^2);

Ha2=(-u*m2*((D2.^2-(x+50).^2)*cos(i)+2*D2*(x+50).*sin(i)))./(2*pi*((x+50).^2+D2 .^2).^2);

Ha=Ha1+Ha2;

%圆柱体ΔT理论异常

T1=(u*m1*((D1.^2-(x-50).^2)*cos(2*i-pi)-2*D1*(x-50).*sin(2*i-pi/2)))./(((D1.^2-(x-50).^2)*sin(2*i-pi/2)-2*D1*(x-50).*cos(2*i-pi/2)));

T2=(u*m2*((D2.^2-(x+50).^2)*cos(2*i-pi)-2*D2*(x+50).*sin(2*i-pi/2)))./(((D2.^2-(x+50).^2)*sin(2*i-pi/2)-2*D2*(x+50).*cos(2*i-pi/2)));

T=T1+T2;

% Za 向上延拓

Zau1=ones(1,nx)*(0/0); % 上延后异常值,先赋空值

h=3; % 延拓高度,必须为点距dx的倍数

n=10; % 级数,即参与积分的区间段(积分点数-1)/2

for i=(h*n+1):(nx-h*n)

tmp=0;

for j=(i-h*n):h:(i+h*n)

k=(j-i)/h % 参与积分的区间段(积分点数-1)/2

tmp=tmp+Za(j)*atan(4/(4*k*k+3))/pi;

end

Zau1(i)=tmp; % 上延后异常值

end

figure(1),clf,plot(x,Za,'b',x,Zau1,'r:'),xlabel('X (m)'),ylabel('Za磁异常(nT.)'),

legend('原始异常','上延3m异常'),title('向上延拓Za磁异常');

% Ha 向上延拓

Hau1=ones(1,nx)*(0/0);

h=3;

n=10;

for i=(h*n+1):(nx-h*n)

tmp=0;

for j=(i-h*n):h:(i+h*n)

k=(j-i)/h

tmp=tmp+Ha(j)*atan(4/(4*k*k+3))/pi;

end

Hau1(i)=tmp;

end

figure(2),clf,plot(x,Ha,'b',x,Hau1,'r:'),xlabel('X (m)'),ylabel('Ha磁异常(nT.)'),

legend('原始异常','上延3m异常'),title('向上延拓Ha磁异常');

% T 向上延拓

Tu1=ones(1,nx)*(0/0);

h=3;

n=10;

for i=(h*n+1):(nx-h*n)

tmp=0;

for j=(i-h*n):h:(i+h*n)

k=(j-i)/h

tmp=tmp+T(j)*atan(4/(4*k*k+3))/pi;

end

Tu1(i)=tmp;

end

figure(3),clf,plot(x,T,'b',x,Tu1,'r:'),xlabel('X (m)'),ylabel('ΔT磁异常(nT.)'),

legend('原始异常','上延3m异常'),title('向上延拓ΔT磁异常');

2、水平圆柱体Za—Ha互算

clc,clear,

fprintf('\n柱体1深25m,半径5m,柱体2深100m,半径50m,测点数为101,点距选取5m\n'); b=2;

fprintf('\n点距取%dm\n',b);

figure('color','w','NumberTitle','off','name','za-→ha');

x2=1:5:505; %点距为bm

x1=x2-101*5/2;

%柱体参数

D1=25; %柱深

D2=100;

R1=5; %柱体半径 m

R2=50;

s1=pi*(R1^2);%柱体截面积

s2=pi*(R2^2);

u=4*pi*10^(-7); %磁导率

Ms=0.2; %磁化强度

m1=Ms*s1; %磁矩

m2=Ms*s2;

is=pi/2;

hold on

% 园柱体Za理论磁异常

Za1=(u*m1*((D1.^2-(x1-50).^2)*sin(i)-2*D1*(x1-50).*cos(i)))./(2*pi*((x1-50).^2+ D1.^2).^2);

Za2=(u*m2*((D2.^2-(x1+50).^2)*sin(i)-2*D2*(x1+50).*cos(i)))./(2*pi*((x1+50).^2+ D2.^2).^2);

Za=Za1+Za2;

% 圆柱体Ha理论磁异常

Ha1=(-u*m1*((D1.^2-(x1-50).^2)*cos(i)+2*D1*(x1-50).*sin(i)))./(2*pi*((x1-50).^2 +D1.^2).^2);

Ha2=(-u*m2*((D2.^2-(x1+50).^2)*cos(i)+2*D2*(x1+50).*sin(i)))./(2*pi*((x1+50).^2 +D2.^2).^2);

Ha=Ha1+Ha2;

%Za向Hx转换

c=[0.4268 0.1749 0.1103 0.0813 0.0645 0.0536 0.0458 0.0400 0.0355 0.1759];

n=length(c); %转换系数个数

m=length(Za);

for i=(n+1):(m-n)

Haz=0;

for j=1:n

Haz=Haz+c(j)*(Za(i+j)-Za(i-j));

end

Hazh(i)=Haz;

end

for i=1:80

Hazh1(i)=Hazh(i+10);

end

x=((n+1)*5):5:(100*5-n*5);

figure(1),clf,

plot(x2, Za,'.-m',x2, Ha,'.-g',x,Hazh1,'.-'),title('Za转换为Ha'), xlabel(' X剖面走向/m'), ylabel('磁异常nT');

legend('Za','Ha','Za转换后的Ha');

六、实验结果

1、Za向上延拓3m:

2、Ha向上延拓3m:

3、ΔT向上延拓3m:

4、Za转换Ha

七、结果分析

1、二维向上延拓

在50m处25米深有一水平柱体,半径为5m,-50m处100米深有一柱体,半径为50m。由出的图可知,向上延拓可以突出深部异常趋势,压制浅部矿体的异常。但是随着延拓高度的增加,异常值逐渐减小。向上延拓的高度越高则异常曲线越接近深部场源的异常,异常峰值较好的反映了深部异常体的位置,但是异常值明显减小。

2、磁异常分量转换

由图可知实际的Ha异常曲线与转换后的磁异常曲线并不重合,但大体趋势一致,主要是跟点距及测点的选择有关,点距越小,测点越多,则转换出来的Ha曲线越接近真实值。

3、小结:通过这次上机实验,我加深对磁性体磁异常在空间域处理转换原理与作用的认识,同时可以使用Matlab语言编程实现水平圆柱体磁异常(包括Za、Ha、Δt)的向上延拓和分量转换。

JAVA 异常处理实验报告

实验三异常处理 [实验目的] 1.掌握异常处理方法及熟悉常见异常的捕获方法。 [实验内容] 1.练习捕获异常、声明异常、抛出异常的方法、熟悉try和catch 子句的使用。 [实验步骤与要求] 第1题异常处理 要求声明定义两个Exception的异常子类:NoLowerLetter类和NoDigit类。再声明一个People类,该类中的void printLetter(char c)方法抛出NoLowerLetter异常类对象,void PrintDigit(char c)方法抛出NoDigit异常类对象。 [作业提交] 将代码贴在下面: class NoLowerLetter extends Exception{ String message; NoLowerLetter(char c){ message=c+"不是正数"; } public String getMessage(){ return message; } } class NoDigit extends Exception{ String message; NoDigit(char c){ message=c+"不是偶数"; }

public String getMessage(){ return message; } } class People{ public void printLetter(char c) throws NoLowerLetter{ if(c<0){ NoLowerLetter ex=new NoLowerLetter(c); throw(ex); } double number=Math.sqrt(c); System.out.println(c+"的平方根:"+number); } public void PrintDigit(char c) throws NoDigit{ if(c%2!=0){ NoDigit ex=new NoDigit(c); throw(ex); } double number=Math.sqrt(c); System.out.println(c+"的平方根:"+number); } } public class bianma{ public static void main(String args[]){ People p=new People(); try{ p.printLetter('Q'); p.printLetter(' '); } catch( NoLowerLetter e){ System.out.println(e.getMessage()); } try{ p.PrintDigit('d'); p.PrintDigit('a'); } catch( NoDigit e){ System.out.println(e.getMessage()); } } } 将结果运行截屏贴在下面:

实验五异常处理

实验五异常处理 一、实验目的 1.熟悉异常的抛出与捕获的含义; 2.掌握异常捕获与处理的方法; 3.能自定义异常。 二、实验内容 1. 验证书上例子5,将运行结果保存至实验报告中,并简述Java语言处理异常的过程。 2. 现在多数学校的成绩管理都由计算机进行管理,这就需要有相应的应用程序。编写成绩管理应用程序,其中有成绩录入模块,成绩录入过程中,难免出现录入数据的类型出现错误,或录入的成绩不在合理的范围。在成绩录入过程中,若出现上述错误,程序应该如何处理。 程序框架如下,将代码补充完整,并调试出结果,并将运行结果保存至实验报告中:(1)首先定义两个异常类 负数异常.java文件源代码: class负分异常extends Exception //当录入了负分时。此处应用了自定义异常 { 负分异常(int i){ .println("分数为负数"); } } 高分异常.java文件源代码: class高分异常extends Exception //当录入分超过100时。应用了自定义异常 { 高分异常(int i ){ .println("分数过高"); } } 主类源文件代码: import .JOptionPane; public class ExceptionDemo { static final int number=2; int score[]=new int[number]; public void检查分数(int分数) throws负分异常,高分异常 //下面方法中判断如果录入的成绩不合理,则抛出异常,但本方法并不处理异常,仅声明了异常 { i f(分数 >100) throw new高分异常(分数); //通过throw,人工抛出异常 i f(分数 <0) throw new负分异常(分数); } public void录入成绩()

实验 异常处理

实验报告六 一【实验目的】 1.掌握异常的基本概念。 2.理解异常处理机制。 3.掌握创建自定义异常的方法。 二【实验内容】 Java提供了异常处理机制,当程序中发生异常时,程序产生一个异常事件,相应地生成异常对象。系统从生成对象的代码开始,沿方法的调用栈逐层回溯,寻找相应的处理代码,并把异常对象交给该方法处理。 实验1 录入如下源程序: 1、 public class Ex7_1 { public static void main(String[] args) { String output[] ={ "The ","quick ","brown ","fox ","jumps ", "over ","the ","lazy ","dog."}; int i =0; while(i<12){ System.out.print(output[i++]); } System.out.println("haha..."); } } 2、保存程序Ex7_1.java,编译运行程序,观察并分析程序的运行结果。The quick brown fox jumps

over the lazy dog.Exception in thread "main" https://www.360docs.net/doc/945251976.html,ng .ArrayIndexOutOfBoundsException at Ex7_1.main(Ex7_1.java:9),可以看出,在第9行出现了数组下标越界的异常,导致了程序的中止,而程序的最后一条语句“System.out.println("haha...");”没有执行。 运行结果: 3、我们修改程序,加入异常处理,当程序发生异常时,经过异常处理后,程序还可以继续执行。 异常处理代码格式: try{ //可能有问题的代码 } catch(ArrayIndexOutOfBoundsException e) { //处理代码 break; } catch(Exception e1) { /// } catch(…..){ } 修改代码在可能出错的地方加入: try{ // } catch(ArrayIndexOutOfBoundsException e) {

重磁数据处理大报告-陈亮

中国地质大学(武汉)地空学院 姓名:陈亮 班级: 061132 学号: 480 指导老师:杨宇山

目录 一、地质任务3 二、工区概况3 三、数据整理4 一、重力资料数据整理4 二、磁场资料数据整理6 四、材料图4 五、研究区重磁异常分析10 六、重磁资料数据处理13 1、重力场延拓13 2、磁场化极处理 16 3、重力场的分离 17 4、磁场的分离18 5、重磁资料导数换算处理20 七、局部重磁异常分析25 八、学习总结25

一、地质任务 (1)将布格重力异常Δg和磁异常ΔT整理出来,计算布格重力异常和磁异常的总精度。 (2)利用surfer绘制测点点位图(即实际材料图),布格重力异常平面图,磁异常ΔT平面图。 (3)根据密度统计表分析研究区的物性特征。 (4)分析研究区重磁异常特征。 (5)对重磁资料进行处理(化极、延拓、导数换算等并绘制结果图件),并进行断裂构造分析。 (6)提取与矿有关的局部重磁异常(绘制结果图件),并进行对应分析,区分矿与非矿异常、磁铁矿与磁铁矿的可能分布范围。 (7)撰写报告。 二、工区概况 研究区位于我国中东部地区,地理坐标为东经°—°,北纬°—°,处在我国非常重要的铁多金属矿成矿带西段。在以往地质、物探工作基础上,2015年3月人们在研究区中部完成了面积为5km2(×2km,线距50m,点距20m,测向方位角0度)的1:5000地面重磁扫面工作。 此次重力施工设计精度为50μGal,磁测施工设计精度为5nT,共完成了3116个测点,检查点159个,重力观测误差为μGal,磁测观测误差为;重力近区地改范围0~20m,在野外完成,采用差分GPS(RTK)进行8方位方形域测量,检查点59个,误差为μGal。点位测量采用RTK差分GPS进行测量,检查313个点,高程测量误差为,平面位置测量误差为。 研究区铁矿赋存于燕山期早的中酸性岩与三叠系地层的接触部位,研究区经历了后期的构造变动,断裂构造发育,浅表磁铁矿经历了风化和淋滤作用后,形

频率域位场处理和转换实验

《重磁资料处理与解释》实验二频率域位场处理和转换实验 学院:地测学院 专业名称:勘查技术与工程 学生姓名: 学生学号: 指导老师: 提交日期:2018年1月9日 二0一八年一月

目录 1 基本原理 (2) 1.1位场的方程 (2) 1.2二维傅里叶变换及卷积性质 (2) (1)傅里叶变换 (2) (2)卷积性质 (2) 1.3频率域位场延拓原理 (3) 2 输入/输出数据格式设计 (3) 2.1 输入数据格式设计 (3) 2.2 输出数据格式设计 (3) 2.3 参数文件数据格式设计 (3) 3 总体设计 (4) 3.1频率域位场处理与转换的一般步骤 (4) 3.2软件总体设计结果流程图 (4) 4 测试结果 (5) 4.1 测试参数 (5) (1)向上延拓 (5) (2)向下延拓 (5) 4.2 测试结果 (6) 5 结论及建议 (7) 附录:源程序代码 (8)

1 基本原理 1.1位场的方程 由场论知识可知,位场方程分为 两大类:有源的Possion 方程()02 ≠?U ,以及无源的Laplace 方程()02 =?U 。 Laplace 方程的第一边值问题()1|f U S =通常为Dirichlet 问题,第二边值问题 ?? ? ??=??2|f n U s 通常称为Nueman 问题。若P 点在S 平面内称为内部问题,反之称为外部问题。由唯一性定理可知,Dirichlet 的内部和外部问题的解是唯一的,而Nueman 内部问题的解不是唯一的,有一常数差,但其外部问题解是唯一的。 外部问题的解的唯一性的原因:。 0; 0=??=∞ →∞ →r r n U U 无源区域位场可以表示为: ds n G W n W G p W ??? ? ?????-??= π41)( (1-1) ()() ()()()[] ()() z y x h W d d z y x W z z y W -=-+-+--=??+∞∞-+∞ ∞ -ξξηεη εξηεξηεπξ,,*,,,,2,,x 2 3 22 2 (1-2) 1.2二维傅里叶变换及卷积性质 (1)傅里叶变换 []??+∞∞-+∞ ∞ -+-= =dxdy y x g y x g F v u G e vy ux i ) (2),(),(),(π (1-3) []? ?+∞∞-+∞ ∞ -+-= =dudv v u G v u G y x g e F vy ux i ) (21 ),(),(),(π (1-4) (2)卷积性质 ()()[]()()v u P v u G y x p y x F ,*,,*,g = (1-5) ()()[]()()y x p y x v u P v u G F ,*,g ,*,1=- (1-6)

实验八 异常处理

实验八异常处理 【开发语言及实现平台或实验环境】 Windows2000 或XP,JDK1.6与Jcreator4.0 【实验目的】 了解Java 中异常处理(exception)的作用。 掌握异常处理的设计方法。 【实验要求】 理解系统异常处理的机制和创建自定义异常的方法。 【实验步骤】 一.了解异常处理机制 1.错误与异常 在程序执行期间,会有许多意外的事件发生。例如,程序申请内存时没有申请到、对象还未创建就被使用、死循环等,称为运行错误。根据错误的性质将运行错误分为错误与异常两种类型。 (1)错误 程序进入了死循环或内存溢出,这类现象称为错误或致命性错误。错误只能在编程阶段解决,运行时程序本身无法解决,只能依靠其它程序干预,否则会一直处于一种不正常的状态。 (2)异常 运算时除数为0,或操作数超出数据范围,打开一个文件时发现文件不存在,网络连接中断等等,这类运行错误现象称为异常。对于异常情况,可在源程序中加入异常处理代码,当程序出现异常时,由异常处理代码调整程序运行流程,使程序仍可正常运行直到正常结束。 由于异常是可以检测和处理的,所以产生了相应的异常处理机制。而错误处理一般由系统承担。 对于一个应用软件,异常处理机制是不可缺少的。程序员必须在程序中考虑每一个可能发生的异常情况并进行处理,以保证程序在任何情况下都能正常运行。事实证明,一个仔细设计了异常处理的程序,可以长时间的可靠运行,而不容易发生致命的错误,如程序被迫关闭、甚至系统终止等等。所以学会进行异常情况处理对于想编写功能完善且具有实用价值的程序员来说是必不可少的。 2.异常发生的原因 (1)Java 虚拟机检测到了非正常的执行状态,这些状态可能是由以下几种情况引起的:·表达式的计算违反了Java 语言的语义,例如整数被0 除。 ·在载入或链接Java 程序时出错。 ·超出了某些资源限制,例如使用了太多的内存。 (2)Java 程序代码中的throw 语句被执行。 (3)异步异常发生。异步异常的原因可能有: ·Thread 的stop 方法被调用。 ·Java 虚拟机内部错误发生。 3.异常处理机制 发生异常后,怎么处理异常呢?Java 提供了异常处理机制来处理异常。分为两个步骤:(1)抛出异常

C语言程序编辑或调试中常见的错误

常见错误和程序分析 (1)忘记定义变量。例如: void main() { x=3; y=6; printf(“%d\n”,x+y); } C要求对程序中用到的美一个变量都必须定义其类型,上面程序中没有对x,y 进行定义。应在函数体的开头加int x,y; (2)输入输出的数据类型与所用格式说明符不一致。例如,若a已定义为整数,b已定义为实型: a=3;b=4.5; /*对a和b赋值*/ printf(“%f %d\n”,a,b); 编译时不给出出错信息,但运行结果将与原意不符,输出为0.000000 16402它们并不是按照赋值的规则进行转换(如把4.5转换为4),而是将数据在存储单元中的形式按格式符的要求组织输出(如b占4个字节,只把最后2个字节中的数据按%d作为整数输出)。 (3)未注意int型的数据的数值范围。Turbo C等编译系统,对一个整型数据分配2个字节。因此一个整数的范围为-2的13次方到2的15次方减1,即-32768~32767常见这样的程序段: int num; num=89101; printf(“%d”,num); 得到的却是23565,原因是89101已超过32767。2个字节容纳不下89101,则将高位截去,即将超过低16位的数截去,也即89101-65536=23565,有时还会出现负数。这种情况应改为: Long int num; num=89101; printf(“%ld”,num); 注意,如果只定义num为long型,而在输出时扔用%d说明符,也会出现以上错误。 (4)在输出语句scanf中忘记使用变量的地址符。例如: scanf(“%d%d”,a,b); 这是很多初学者刚学C语言时常见的疏忽,应写为scanf(“%d%d”,&a,&b); (5)输入数据的形式与要求不符。例如有以下scanf函数: scanf(“%d%d”,&a,&b); 有人输入 3 , 4 ,这是错的数据间应该用空格来分隔,读者可以用printf(“%d%d”,a,b);来验证下。应该输入 3 4,除非函数是scanf(“%d,%d”,&a,&b); 还应注意不能企图用

吉林大学重磁数据处理与解释报告

地球探测科学与技术学院 沈阳及其附近地区重磁数据处理与解释 报告 姓名:李雪垒 学号: 班级:四班 专业:勘查技术与工程(应用地球物理) 指导教师:吴燕冈教授 目录 前言 (2)

第一章重磁数据处理基本原理与方法 (3) 一、重力场与磁场的波谱介绍 (3) 二、数据处理的基本方法 (3) 三、Surfer、Grapher简介 (3) 第二章地质概况 (5) 一、东北及其附近地区地质概况 (5) 二、实验区内的地质概况 (5) 第三章区内重磁异常综合解释 (8) 一、重力数据异常处理与解释 (8) 二、磁异常数据异常处理与解释 (12) 三、重磁异常场综合分析 (15) 第四章本次实验的初步结论 (16) 主要参考文献 (16)

前言 重力勘探是测量与围岩有密度差异的地质体在其周围引起的重力异常﹐以确定这些地质体存在的空间位置﹑大小和形状,从而对工作地区的地质构造和矿产分布情况作出判断的一种地球物理勘探方法。磁法勘探是通过观测和分析由岩石、矿石(或其他探测对象)磁性差异所引起的磁异常,进而研究地质构造和矿产资源(或其他探测对象)的分布规律的一种地球物理勘探方法。二者有广泛的应用,如研究地壳深部构造;研究区域地质构造,划分成矿远景区;掩盖区的地质填图,包括圈定断裂﹑断块构造﹑侵入体等;广泛用于普查与勘探可燃性矿床(石油﹑天然气﹑煤);查明区域构造,确定基底起伏,发现盐丘﹑背斜等局部构造;普查与勘探金属矿床(铁﹑铬﹑铜﹑多金属及其他),主要用于查明与成矿有关的构造和岩体,进行间接找矿;也常用于寻找大的﹑近地表的高密度矿体,并计算矿体的储量;工程地质调查;如探测岩溶,追索断裂破碎带等。 随著电子技术的发展和微处理机的广泛应用,测量磁场3个分量及其梯度的高精度航空磁力仪已经制成。加上高精度的导航和数据处理,绘图和资料解释推断的自动化,今后航空磁法勘探将代替部分地面磁法勘探,并在工作过程中自动作出解释,绘出磁性体空间分布图。利用这些图件,再结合其他资料,能可靠地对工作地区的地质构造作出推断,供找矿﹑找地下水﹑工程建设和地震预报等方面应用。我国在改革开放以后,随着科学技术的飞速发展,在重磁勘探领域取得了令人瞩目的成就,在测量精度方面大大提高。 由于重磁法勘探应用广泛,成本不高,因此在勘探领域一般是其他勘探方法之前的首选方法。由于地球区域复杂,通常要对所采集的数据进行各种处理,以去除各种无关影响,提取所要的结果。同时根据处理结果对其进行解释,其中解释又分为定性解释与定量解释,其处理方法与解释方法在本次实验中均有所简单涉及。 在本次课程中,我们主要学习了重磁异常的空间域处理与转换,重磁异常的波数域处理,重磁异常的反演方法以及重磁资料的地质解释和在勘探中的应用等。 基于本学期学习的内容及理论知识,结合自己的理解对东北地区的重磁异常做初步的处理及解释。本次实验作图工具使用的为Surfer和Grapher,同时也参考了一些前人的研究成果,以此作为基本出发点,进而得出一些初步的结论。

实验5 异常处理

实验五:java异常处理 实验目的: 1.了解Java异常处理机制的优点 2.了解Java异常的种类 3.掌握异常的捕获与处理 4.掌握异常的抛出 5.熟悉用户自定义异常 6.了解异常处理原则 实验步骤: 一.异常捕获和处理的练习 1. 下面源代码要捕捉的异常是除数为零和数组下标越界。通过修改a和c[]下标值体验程序。 2. 源代码如下: 3. 编写并完善上述代码,编译运行代码,查看程序执行结果。 ●按下条件分别修改数据,编译后运行,观察输出结果,分析在try…catch块里哪些语句没有被执行,为什么?块外哪些语句可被执行到,为什么? (1) 修改a=0,保持c[2]=200; (2) 保持a=10,修改c[3]=200; (3) 修改a=0,修改c[3]=200。

二.自定义异常的定义和使用的练习 1. 设计两个数求商的程序,并设定一个异常类,判断两数相除时,除数是否为零,当除数为零时将抛给自定义异常类,并输出除数为零。 2. 部分源代码如下: 3. 分析上述代码,将division方法体中的代码补充完整,判断输入的除数是否为0。如果为0,要抛出Di visorIsNotZeroException异常;如果不为0,则计算这个数的商。并按要求创建自定义异常类DivisorIsNotZ eroException。在main方法中已经给出如何输入数据和调用所写方法。 4. 代码完善后,编译运行代码,输入下表数据进行验证,如果抛出异常填“Y”,否则填“N”。 表6-2-1 测试数据 ●分析自定义异常是如何创建的?

import java.util.Scanner; class DivisorIsNotZeroException extends Exception { public DivisorIsNotZeroException(String message) { super(message); } } public class MyExceptionTest { public static double division(double dividend, double divisor) throws DivisorIsNotZeroException { Double d = new Double(divisor); if (0 == https://www.360docs.net/doc/945251976.html,pareTo(0.0)) { throw new DivisorIsNotZeroException("除数为0"); } else { return (dividend / divisor); } } public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入被除数:"); double dividend = sc.nextDouble(); System.out.println("请输入除数:"); double divisor = sc.nextDouble(); try { double result = division(dividend, divisor); System.out.println("计算的商= " + result); } catch(DivisorIsNotZeroException e) { e.printStackTrace(); System.out.println(e.getMessage()); } } }

重磁实验报告(地大)

重磁资料采集与处理实习 一、实习目的 (1)通过本次实习,加深对理论知识的认识和理解。 (2)熟悉Grapher和sufer以及matlab软件的使用,会进行基本的操作和数据处理。 二、实习内容 (1)重磁数据的光滑、拟合、插值和网格化 1、利用Grapher软件实现磁异常曲线的光滑、拟合与去噪 上图红线代表线性光滑后的结果,可见磁异常在局部呈锯齿状,很可能地下分布有基性的喷出岩;蓝线代表10阶多项式拟合后的结果,可以反映区域场的变化情况。

将原始曲线改为散点图,可看出光滑后的效果。 2、利用Surfer软件实现磁异常数据的网格化与显示 测区内测点分布图如下:

打开sufer,点击Grid中出现Data,然后选中目标文件进行网格化,将网格化的文件在sufer中显示如下:

(2)组合长方体重力异常计算与分析

1、计算出多个长方体的重力异常,并将结果导出为GRD格式Model 1: X1 = -100; %长方体X方向起点坐标 X2 = 100; %长方体X方向终点坐标 Y1 = -100; %长方体Y方向起点坐标 Y2 = 100; %长方体Y方向终点坐标 Z1 = 10; %长方体Z方向起点坐标 Z2 = 55; %长方体Z方向终点坐标 经过matlab运行后导出mod_1.grd Model 2: X1 = 120; %长方体X方向起点坐标 X2 = 180; %长方体X方向终点坐标 Y1 = 120; %长方体Y方向起点坐标 Y2 = 180; %长方体Y方向终点坐标 Z1 = 1; %长方体Z方向起点坐标 Z2 = 20; %长方体Z方向终点坐标

C#实验2流程控制异常处理

实验二流程控制异常处理 实验要求: 熟练掌握程序的三种流程结构,对于实际的应用问题能够理解并灵活运用;对于VS下中断模式,能够对于运行过程中的错误及时进行处理,掌握异常处理机制。 一、流程控制 1. 随机生成一个1-100之间的一个数,并由玩家进行猜测,提示玩家是猜大了还是猜小了或者猜对了。 using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int x; Random ra = new Random(); int y = ra.Next(1, 100); Console.WriteLine("输?入?1~100,退?出?输?入?0"); x = int.Parse(Console.ReadLine()); if (x!=0) { while (x!=0) { if (x < 0 || x > 100) { Console.WriteLine("输?入?值μ超?出?范?围§"); x = int.Parse(Console.ReadLine()); continue; } else if (x > y) Console.WriteLine("大洙?了?"); else if (x < y)

Console.WriteLine("小?了?"); else if (x == y) { Console.WriteLine("对?了?,?继ì续?输?入?y,退?出?输?入?n"); string s = Console.ReadLine(); if (s == "y") y = ra.Next(1, 100); else if(s=="n") return; else Console.WriteLine("输?入?不?正y确ā?); } x = int.Parse(Console.ReadLine()); } } else if (x == 0) return; Console.ReadKey(); } } } 2.已知在同一个笼子里总共有h只鸡和兔,鸡和兔的总脚数为f 只,其中,h和f由用户输入,求鸡和兔各有多少只? using System; using System.Collections.Generic; using System.Text; namespace鸡|兔?同? { class Program { static void Main(string[] args) { int chicken, rabbit; Console.WriteLine("请?输?入?鸡|和í兔?的?总哩?个?数簓:阰"); int h = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("请?输?入?鸡|和í兔?的?脚?的?总哩?数簓:阰"); int f = Convert.ToInt32(Console.ReadLine()); while (f%2!=0)

重磁勘探复习

复习题 1、简述重力勘探和磁力勘探的基本原理、前提条件及可以解决哪类地质问题。 重力勘探:以地壳中岩矿石的密度差异为基础,研究地下物质密度分布不均匀引起的重力变化(称为重力异常),可以了解和推断地球的结构,勘探与开发矿产资源,进行灾害的预测与防治,以及解决一些力所能及的地质问题。 磁法勘探:以地壳中岩矿石的磁性异常为基础,通过观察研究天然地磁场和人工场的变化规律和差异,查明地质构造和寻找矿产的一种方法。 2重力场和重力位的组成、场和位的关系,重力勘探中重力是如何定义的。 重力场=引力场+离心力场重力位=引力位+离心力位 位、场之间的关系是:重力位和引力位与重力场强度和引力场强度的关系是梯度关系(一阶导数) 重力:地球质量对物体产生的引力与物体随着地球自转而引起的惯性离心力的合力。 3、地球外部任何一点受到单位地球内部质量的引力及其重力表达式。 4、什么是重力勘探的正问题和反问题? 1)知道了体密度或面密度时,可以根据泊松方程和拉普拉斯方程确定场的位(或者场强度)----正演问题(2)知道了场的位及其梯度时,可以根据泊松方程确定场中某点体质量密度或面质量密度----反演问题 5、一般的重力测量值都要进行哪些改正才能用于解释,什么叫自由空气校正,什么叫布格校正 ①重力差值的组成因素:维度改正、地形改正,中间层改正,自由空间改正、布格改正及布格重力异常。 ②经过中间层改正后,测点相对基点而言仍处在高度为h的位置上,对这个高度影响还要予以消除 ③由于中间层改正和高度改正表达式中均与h有关,往往把这两项改正合并称为布格改正。 6、什么是正常重力和重力异常,重力异常有哪几种及如何定义? 正常重力:用正常场地地球模型代替实际地球,假定地球内部的质量是均匀层状

Java作业实验六---异常处理

提交方式: 把文件名改为学号姓名,提交文档和源码(只需提交最顶层包文件夹) 实验六异常处理 一、实验目的 1.学会利用Try-catch-finally语句来捕获和处理异常; 2.掌握自定义异常类的方法。 二、实验要求 1.通过编程理解系统异常处理的机制和创建自定义异常的方法。 2.掌握基础类。 三、实验内容 (一)异常处理机制 1. 编写使用try…catch 语句处理异常的程序文件Demo4_1.java,

编译并运行程序,并把运行结果复制在下面 。 注意:如果在catch 语句中声明的异常类是Exception,catch 语句也能正确地捕获,这是因为Exception是ArithmeticException的父类。如果不能确定会发生哪种情况的异常,那么最好指定catch的参数为Exception,即说明异常的类型为Exception。 2、源文件是Demo3_2.java。要捕捉的异常是除数为零和数组下标越界。通过修改a和c[]下标值体验程序。 【思考】 ①先运行上面程序,观察运行结果。 ②按下条件分别修改数据,编译后运行,观察输出结果,分析在try…catch块里那些语句没有被执行,为什么? 块外那些语句可被执行到,为什么? 修改a=0,保持c[2]=200; 保持a=10,修改c[3]=200, 修改a=0,修改c[3]=200; ③再添加一个catch{Exception e}{ },位置在最前面,观察编译信息,说明什么? 3、编写Demo3_3.java 程序,计算两数相除并输出结果。使用两个catch子句,分别捕捉除数为0的异常和参数输入有误异常。源代码如下:

重磁勘探复习提纲

《重磁勘探复习提纲》 第一章地球的重力场与磁场 1、重力场强度的单位有哪些,它们之间的转换关系如 何? 2、重力场的变化包括哪些?变化特点是什么?什么是固 体潮? 3、地球重力位、引力位、重力等位面、大地水准面的定 义。 4、地球重力场正常场的定义与特点? 5、引力位的拉普拉斯方程、泊松方程及引力场高斯通量 定理的数学表达式。 6、重力异常的定义与物理意义。 7、地磁要素的构成及地磁图的特点。 8、地球磁偶极子磁位的表达式?表达式各参数的物理意 义及单位是什么? 9、地球磁场的构成,地球磁场的正常场及磁异常的定义。 10、地磁场的垂直分量、水平分量、总场的梯度表达式。 11、地磁场的变化包括哪些内容,什么是地磁日变化,什 么是地磁脉动,什么是磁暴? 12、地磁坐标与地理坐标的定义。

第二章岩矿石密度与磁性 1、三大岩石密度与磁性特点? 2、影响岩矿石密度与磁性的因素分别是什么? 3、物质的磁性可分为哪几类?温度对其影响如何? 4、表征岩矿石磁性的物理量有哪些?其中关系如何? 5、岩矿石的感应磁化强度、剩余磁化强度的定义? 6、岩矿石包括哪些剩磁,热剩磁有何特点? 7、影响岩矿石磁性的主要因素有哪些? 第三章重磁测量仪器 1、简述绝对重力仪的自由落体和上抛法测量原理? 2、石英弹簧重力仪在水平零位置时灵敏度的表达式,根 据公式如何调节仪器灵敏度? 3、石英弹簧重力仪器的结构由哪几部分构成? 4、拉科斯特金属弹簧重力仪的灵敏度公式表达式是什 么? 5、简述质子磁力的测量原理。 6、简述光泵磁力仪的工作原理。 第四章重磁野外测量 1、简述重磁勘探的测量比例尺是如何确定的? 2、磁测不同精度是如何定义的,衡量重磁测量质量的方 差公式有哪些? 3、重磁测量的方式有哪些?

实验六异常处理

实验六异常处理 云南大学信息学院面向对象技术导论 java程序设计大学教程实验 【开发语言及实现平台或实验环境】 Windows2000 或XP,JDK1.6与Jcreator4.0 【实验目的】 1. 掌握Java中异常的概念及含义。 2. 掌握异常的定义、抛出方法以及如何捕捉处理异常。 3. 熟悉如何将异常处理灵活运用到实际编程中。 【实验要求】 1. 运行上课讲解的例子; 2. 完成下列实验内容。 【实验内容】 一、读懂并运行下列程序,体会Java中异常处理机制。 1. 分析并运行下面的程序。参考源代码如下: import java.io.*; public class ExceptionTest { public static void main ( String args[] ) { for ( int i = 0; i < 4; i++ ) { int k; try { switch ( i ) { case 0: //除数为0 int zero = 0; k = 911 / zero; break; case 1: //空指针 int a[] = null; k = a[0]; break; case 2: //数组下标越界 int b[] = new int[4]; k = b[6]; break; case 3: //字符串下标越界 char ch = "China”.charAt(5); break; } }catch ( Exception e ) { System.out.println("\nTestCase#"+i+"\n");

System.out.println(e); } } } } 问题: (1) 程序中设计循环有何目的? (2) 程序中将产生哪些异常? (3) 程序中的异常是如何抛出、捕捉及处理的? 答:(1)获得全部的异常。 (2)除数为0,空指针,数组下标越界,字符串下标越界 (3)抛出:当语义限制被违反时,将会抛出(throw)异常,即产生一个异常事件,生成一个异常对象,并把它提交给运行系统,再由运行系统寻找相应的代码来处理异常。捕捉:异常抛出后,运行时系统从生成异常对象的代码开始,沿方法的调用栈进行查找,直到找到包含相应处理的方法代码,并把异常对象交给该方法为止,这个过程称为捕获(catch)异常。处理:书写特殊的异常处理代码进行处理。 实验结果: 2. 分析并运行下面的程序。程序源代码如下: public class ExceptionTest { public static void main ( String args[] ) { System.out.println("捕获不同类型的异常"); try { int a=10/0; } catch ( ClassCastException e ) { System.out.println("发生异常"+e); } finally{ System.out.println("执行finally语句");

应用地球物理重磁报告

应用地球物理—重磁电 读书报告 姓名:*** 学号:*************** 攻读专业:固体地球物理学 课程成绩:

前言 重力勘探是测量与围岩有密度差异的地质体在其周围引起的重力异常﹐以确定这些地质体存在的空间位置﹑大小和形状,从而对工作地区的地质构造和矿产分布情况作出判断的一种地球物理勘探方法。磁法勘探是通过观测和分析由岩石、矿石(或其他探测对象)磁性差异所引起的磁异常,进而研究地质构造和矿产资源(或其他探测对象)的分布规律的一种地球物理勘探方法。二者有广泛的应用,如研究地壳深部构造;研究区域地质构造,划分成矿远景区;掩盖区的地质填图,包括圈定断裂﹑断块构造﹑侵入体等;广泛用于普查与勘探可燃性矿床(石油﹑天然气﹑煤);查明区域构造,确定基底起伏,发现盐丘﹑背斜等局部构造;普查与勘探金属矿床(铁﹑铬﹑铜﹑多金属及其他),主要用于查明与成矿有关的构造和岩体,进行间接找矿;也常用于寻找大的﹑近地表的高密度矿体,并计算矿体的储量;工程地质调查;如探测岩溶,追索断裂破碎带等。 随著电子技术的发展和微处理机的广泛应用,测量磁场3个分量及其梯度的高精度航空磁力仪已经制成。加上高精度的导航和数据处理,绘图和资料解释推断的自动化,今后航空磁法勘探将代替部分地面磁法勘探,并在工作过程中自动作出解释,绘出磁性体空间分布图。利用这些图件,再结合其他资料,能可靠地对工作地区的地质构造作出推断,供找矿﹑找地下水﹑工程建设和地震预报等方面应用。我国在改革开放以后,随着科学技术的飞速发展,在重磁勘探领域取得了令人瞩目的成就,在测量精度方面大大提高。 由于重磁法勘探应用广泛,成本不高,因此在勘探领域一般是其他勘探方法之前的首选方法。由于地球区域复杂,通常要对所采集的数据进行各种处理,以去除各种无关影响,提取所要的结果。同时根据处理结果对其进行解释,其中解释又分为定性解释与定量解释。 在本次课程中,重力和磁法方面,我们主要学习了重磁方法的基本理论知识,重磁异常的反演方法以及重磁资料的地质解释和在勘探中的应用等。本文结合应用地球物理—重磁电这门课程的学习内容,主要介绍了重磁数据处理基本原理与方法,并结合自己的研究方向,做了几个简单的正演模型,结合所学知识对正演模型进行了初步的解释,为在实际中的应用提供参考。

实验室异常检验结果调查及处理程序改#精选.

实验室异常检验结果调查及处理程序 文件编码:SMP09―133 版本号:1

目录 一、目的 (1) 二、适用范围 (1) 三、责任 (1) 四、内容 (1) 五、附件 (8) 六、相关文件 (8) 七、变更历史 (8)

一、目的 建立一个实验室超标检验结果(OOS)及超趋势检验结果(OOT)和非期望结果(OOE)调查程序,以规范调查实验室超标检验结果(OOS)及超趋势检验结果(OOT)和非期望结果(OOE)的步骤及正确的处理方法,找出发生OOS/OOT/OOE的原因(生产、检验及其他),以便及时采取纠正预防措施,避免类似问题再次发生。 二、适用范围 本程序适用于实验室样品检测出现超标检验结果(OOS)及超趋势检验结果(OOT)和非期望结果(OOE)等异常检验结果时的处理方法(如原辅材料、包装材料、半成品、成品检验、分析方法验证、工艺验证及其他验证项目)。 三、责任 质控部、质保部、QC、相关部门负责人。 四、内容 定义: 1.1检验结果超标: 超出质量标准的检验结果(简称OOS结果)和超出趋势的检验结果(OOT结果)及非期望结果(OOE)的统称。 1.2超出质量标准的检验结果(简称OOS结果): 不符合既定的质量标准或接受标准的检验结果。任何有OOS结果的产品都不能被放行。 1.3超出趋势的结果(简称OOT结果): 此结果没有超出既定的质量标准或接受标准的限度,但已产生适当数量的数据不符合正常的结果分布。任何出现OOT结果的产品仍将要被放行。OOT只是用于内部管理控制的目的。 1.4. 非期望结果(简称OOE结果) 此实验结果超过历史的、预期的或先前的趋势限度。此结果没有超出既定的质量标准或接受标准的限度,但可能是不正常或者临近边缘的值(当主要检查项目,如含量检验结果等于上下限度值时,启动OOE调查程序)。OOE用于内部管理控制。 1.5有效结果: 在适当、科学并经批准的条件下所产生的检验结果,不管是否在质量标准或接受标准的限度之内。 1.6无效结果:

实验6 异常处理

实验6 异常处理 一、实验目的 1、掌握常见异常类的使用环境; 2、掌握异常处理的两种方法; 3、掌握自定义异常类的方法。 二、实验内容 1、在程序中处理常见异常。 2、自定义异常,并在程序中处理异常对象。 三、实验步骤 1、输入三角形三条边长,求三角形面积。处理可能发生的异常。class ValueException extends Exception{ public ValueException(){ System.out.println("三角形两边之和必须大于第三边"); } } class Triangle{ private double a,b,c; public Triangle(double a,double b,double c) { this.a=a; this.b=b; this.c=c; } public double area() throws ValueException { double p; double s; if(a+b<=c||b+c<=a||a+c<=b) throw new ValueException(); p=(a+b+c)/2; s=Math.sqrt(p*(p-a)*(p-b)*(p-c)); return s; } } class Test{ public static void main(String[] args) { try {Triangle t=new Triangle(1,4,5); System.out.println(t.area());

} catch(ValueException e){ e.printStackTrace(); } } } 2、定义Circle类,包含成员变量半径r和计算面积的方法getArea()。自定义异常类,当半径小于0的时候抛出异常。 class Rexception extends Exception{ Rexception(){ System.out.println("值错误"); } } public class Circle { double r; final double PI=3.1413; public Circle(double r) { this.r=r; } public double getArea()throws Rexception { if(r<=0) throw new Rexception(); return PI*r*r; } public static void main(String[] args) { try{ Circle c1=new Circle(-4); System.out.println("圆面积:"+c1.getArea()); }catch(Rexception e){ System.out.println("半径不能小于等于0"); } } }

相关文档
最新文档