成都理工大学地磁学实验报告
发布时间:2015-06-09 10:30:40
发布时间:2015-06-09 10:30:40
地磁学实验报告
指导老师:
姓名:
学号:
实验一
实验目的:测量地磁场,绘制成图,并观测其变化。初步了解质子旋进磁力仪的工作原理和方法;初步掌握仪器的使用;了解仪器的使用时的注意事项;
实验要求:对实验场地进行测量,并记录数据导入电脑,做出成果图;
实验仪器:质子旋进磁力仪
实验场地:砚胡旁马路
实验点数:共68点
实验要求:在做实验测量数据时,实验员身上不能有带磁性或者可被磁化的金属制品。测量时周围尽量不要聚集人,不能有较多的人员走动或车辆的往来。
实验数据:
测线一(宽):
分析:从图中,可以看出曲线大体上,还是较为平缓的,但是在测点4,和测点34的时候有较大的异常,分析出现该种异常的原因是测线旁有路灯,路灯是金属材料,因埋地时间较久,可能出来漏电现象,产生较大的磁场,从而影响实验数据;实验同学身上的钥匙手机等也会影像数据的准确性。
测线二(长):
分析:因地下有管道,管道同样也是金属的,影响实验数据,所以变化差异较大
实验二
实验目的:掌握球体的磁场分布特征
实验要求:绘制A=45°时不同I值对应的磁场等值线图和剖面折线图。
C程序:
#include
#include
void main()
{
FILE *fp1;
fp1=fopen("t10.txt","w");
FILE *fp2;
fp2=fopen("t20.txt","w");
int x,y;
double i,a;
double t;
double M=10;
double r=30;
// scanf("%f",&i);
//scanf("%f",&a);
i=0;
a=45;
i=double(3.1415*i/180);
a=double(3.1415*a/180);
for(y=-50;y<51;y++)
{
for(x=-50;x<51;x++)
{
t=M*(
(2*r*r-x*x-y*y)*sin(i)*sin(i)+
(2*x*x-y*y-r*r)*cos(i)*cos(i)*cos(a)*cos(a)+
(2*y*y-x*x-r*r)*cos(i)*cos(i)*sin(a)*sin(a)-
3*x*r*sin(2*i)*cos(a)+
3*x*y*cos(i)*cos(i)*sin(2*a)-
3*y*r*sin(2*i)*sin(a)
)
/sqrt(pow(x*x+y*y+r*r,5));
fprintf(fp1,"%d\t%d\t%f\n",x,y,t);
if(y==0)
fprintf(fp2,"%f\t%f\n",x,t);
}
}
}
实验结果:
图1 I=0°,a=45° 图2 I=45°;a=45°
图3 I=90°;a=45° 图4 I=120°;a=45°
图5 I=180°;a=45°
实验三
实验目的:了解实际数据的特点,并选择适当的方法进行数据处理和解释
实验内容:对实际数据进行填补,圆滑;再对实际数据进行上延;并选择适当反演方法(切线法)求出磁性体埋深
实验要求:原始资料、圆滑及向上延拓计算后的剖面曲线图,反演结果
C程序:
#include "stdio.h"
#include "math.h"
#define N 48 //数据个数
#define pi 3.141596
int main()
{
//从文件中读取数据保存到数组data中
FILE *fj1=fopen("实验数据.dat","r");
FILE *fj2=fopen("插值后的数据.dat","w");
FILE *fj3=fopen("圆滑后的数据.dat","w");
FILE *fj4=fopen("向上延拓后的数据.dat","w");
int i,j;
double k,t,p,data[N],data1[N];//data[N]是圆滑数据,data1[N]是延拓数据
p=0;
if(fj1==NULL)
{
printf("\n无法打开此文件!确保文件“实验数据.dat”在目录下\n\n");
exit(0);
}
for(i=0;i
fscanf(fj1,"%lf",&data[i]);
for(i=0;i
printf("%f\n",data[i]);
printf("\n已导入数组!");
//线性插值
k=(data[41]-data[37])/3;
for(i=38;i<=40;i++)
data[i]=data[i-1]+k;
for(i=0;i
fprintf(fj2,"%f\n",data[i]);
printf("\n已插值!\n");
//圆滑 五点二次圆滑
for(i=2;i
{
data[i]=(17*data[i]
+12*(data[i+1]+data[i-1])
-3*(data[i+2]-data[i-2])
)/35;
}
for(i=0;i
fprintf(fj3,"%f\n",data[i]);
printf("数据已圆滑!\n");
//向上延拓
for(i=0;i
{
data1[i]=0;
}
for(i=0;i
{ t=0;
for(j=0;j
{
p=atan(4/(4*j*j+3.0))/pi; //一倍h
// p=atan(8/(4*j*j+15.0))/pi; //二倍h
if((i-j>=0)&&(i+j
t+=(data[i+j]+data[i-j])*p;
else
{ if(i+j>=N)
t+=data[i-j]*p;
else
t+=data[i+j]*p;
}
}
data1[i]=t;
}
for(i=0;i
fprintf(fj4,"%f\n",data1[i]);
printf("数据已延拓!\n\n");
}
实验结果:
图一:源数据折线图
图二:差值后的折线图
图三:圆滑后的折线图
图四:向上延拓h的折线图
图五:向上延拓2h后的折线图
解释:通过利用线性差值的方法,得到了图二的结果。由于测量的偶然误差和近地表不均匀磁性体产生的干扰,使实测磁场表现出不规则的起伏。在对异常进行处理时往往要先进行圆滑,以消除这些干扰,突出主体异常,得到图三。为了忽略浅部的异常,突出深部异常,则进行向上延拓处理,得图四,五。通过手绘后,得到埋深大概在20~30米.
实验心得:
通过地磁学实验课,我对地磁学仪器有了一定的了解,熟悉了野外地磁测量工作的过程以及数据资料的处理,整理及对出现的异常原因有了一定的了解。此外,通过编程,绘制了球体的磁场分布特征图,并通过改变倾角的方法,我能直观的看到各种情况下的地磁分布情况,这对我们以后的反演工作有一定的帮助。最后,在实验三中,学习了用线性拟合的方法对缺失的数据进行了填补,以及对圆滑处理和切线法有一定的了解。不足之处在于,数据经过线性拟合后,用切线法反演出地下地质体时,效果不是很理想,可通过手绘的方法,来直接画出来,这也是我现在能想到的求解过程。