1、地震波场模拟报告地震波场模拟程序设计报告姓名:严光明 学号:201305060208 班级:勘查二班 教师:熊晓军 2016年4月20日目录程序1:雷克子波程序2:一维褶积程序3:二维模型的褶积程序4:基于MISS软件的复杂模型的模拟程序1:雷克子波一、 任务与要求画出雷克子波的图形二、 方法原理三、 程序设计(1) 程序代码#include#include#define PI 3.1415926#define Vm 20 /主频#define N 61 /采样点数#define dt 0.002 /采样间隔void leiker(float ); /声明采样雷克子波函数void main()
2、 FILE *fp; int i; float fN=0.0; /雷克子波采样值 leiker(f); /调用子函数 fp=fopen(201305060208.txt,w);/采样值写入文件 for(i=0;iN;i+) fprintf(fp,%fn,fi); fclose(fp);/采样雷克子波函数void leiker(float f) int i; for(i=0;iN;i+) fi=(1-2*PI*PI*Vm*Vm*(i-30)*dt*(i-30)*dt)*exp(-PI*PI*Vm*Vm*(i-30)*dt*(i-30)*dt);/雷克子波表达式 (2) 计算实例程序2:一维褶积一
3、 任务与要求把雷克子波和反射系数进行褶积二 方法原理三程序设计1.程序代码#include#include#define PI 3.1415926#define Vm 20 #define dt 0.002 /采样间隔void leiker(double );/声明雷克子波void con(double a,double b,double c,int M,int L) ;/声明褶积函数/void main() int i; FILE *fp; double x100=0;/x反射系数,f表示子波; x50=1.0; double y100=0; /输出的褶积值; double f61=0.0;
4、 /雷克子波采样值 leiker(f); /调用子函数 con(x,f,y,100,61); / 调用褶积/ for(i=30;i131;i+) printf(%fn,yi); /输出y到屏幕/ fp=fopen(zheji.txt,w);/采样值写入文件 for(i=30;i131;i+) fprintf(fp,%fn,yi);/输出褶积后的y值 fclose(fp); /采样雷克子波函数/void leiker(double f) int i; for(i=0;i61;i+) fi=(1-2*PI*PI*Vm*Vm*(i-30)*dt*(i-30)*dt)*exp(-PI*PI*Vm*Vm
5、*(i-30)*dt*(i-30)*dt);/雷克子波表达式 /褶积的函数/void con(double a,double b,double c,int M,int L) /a代表反射系数,b代表子波,c代表褶积后的值,M是a的个数,L是b的个数,N是c的个数 int i,j,N; N=M+L-1; for(i=0;iN;i+) double tp=0.0; for(j=0;j=0&(i-j)L) tp+=aj*bi-j; ci=tp; tp=0.0; 2计算实例程序3:二维褶积一 任务与要求反射系数与二维的子波进行褶积二方法原理 把二维的转化为一维的数组在进行计算。三程序设计1. 程序代码
6、#include#include#define PI 3.1415926#define Vm 20 #define dt 0.002 /采样间隔void leiker(double );/声明雷克子波void con(double a,double b,double c,int M,int L) ;/声明褶积函数/void main() int i,j,k,n; FILE *fp; double Ref2d60100=0,Ref1d100=0,yk60160=0; double y160=0; /输出的褶积值; float TEMP; double f61=0.0; /雷克子波采样值 for(
7、i=0;i60;i+) Ref2di50=1.0; for(i=0;i60;i+) for(j=0;j100;j+) Ref1dj=Ref2dij; leiker(f); /调用子函数/ con(Ref1d,f,y,100,61); / 调用褶积/ printf(第%d道,i); n=i; for(k=0;k160;k+) printf(%f,yk); yknk=yk; fp=fopen(ooooo,w); for(i=0;i60;i+) for(j=0;j160;j+) fprintf(fp,%ft,ykij); fprintf(fp,n); fclose(fp); fp=fopen(123
8、456,wb); for(i=0;i60;i+) for(j=0;j160;j+) TEMP=ykij; fwrite(&TEMP,sizeof(float),1,fp); fclose(fp); /采样雷克子波函数/void leiker(double f) int i; for(i=0;i61;i+) fi=(1-2*PI*PI*Vm*Vm*(i-30)*dt*(i-30)*dt)*exp(-PI*PI*Vm*Vm*(i-30)*dt*(i-30)*dt);/雷克子波表达式 /褶积的函数/void con(double a,double b,double c,int M,int L) /a
9、代表反射系数,b代表子波,c代表褶积后的值,M是a的个数,L是b的个数,N是c的个数 int i,j,N; N=M+L-1; for(i=0;iN;i+) double tp=0.0; for(j=0;j=0&(i-j)L) tp+=aj*bi-j; ci=tp; tp=0.0; 2计算实例程序4:基于MISS软件的复杂模型的模拟一 任务与要求建立一个地层模型,利用MISS做出模型。三 方法原理和二维褶积模型的原理类似,只是反射系数做成MISS系统计算后的模型。三程序设计1. 程序代码#include#include#define PI 3.1415926#include#define NX
10、128 /水平方向采样点#define NZ 128 /深度方向采样点#define Vm 20 #define dt 0.002 /采样间隔void leiker(double );/声明雷克子波void con(double a,double b,double c,int M,int L) ;/声明褶积函数/void main() int i,j,k,n; float LS; int IX,IZ; float VNZNX=0; FILE *fp,*fp1; double Ref2d128128=0,Ref1d128=0,yk128188=0; double y188=0; /输出的褶积值;
11、 float TEMP; double f61=0.0; /雷克子波采样值 /*/ /读文本速度文件 fp=fopen(Model_V.txt,r); for(IZ=0;IZNZ;IZ+) for(IX=0;IXNX;IX+) fscanf(fp,%f,&VIZIX); fclose(fp); fp1=fopen(Model_R.txt,wb); for(IX=0;IXNX;IX+) for(IZ=0;IZNZ;IZ+) LS=float(VIZIX); fwrite(&LS,sizeof(float),1,fp1); fclose(fp1); /*/ for(i=0;i128;i+) for
12、(j=0;j128;j+) Ref2dij=Vij; for(i=0;i128;i+) for(j=0;j128;j+) Ref1dj=Ref2dij; leiker(f); /调用子函数/ con(Ref1d,f,y,128,61); / 调用褶积/ printf(第%d道,i); n=i; for(k=0;k188;k+) printf(%f,yk); yknk=yk; fp=fopen(ooooo.txt,w); for(i=0;i128;i+) for(j=0;j188;j+) fprintf(fp,%ft,ykij); fprintf(fp,n); fclose(fp); fp=fo
13、pen(二进制文件,wb); for(i=0;i188;i+) for(j=0;j128;j+) TEMP=ykji; fwrite(&TEMP,sizeof(float),1,fp); fclose(fp); /采样雷克子波函数/void leiker(double f) int i; for(i=0;i61;i+) fi=(1-2*PI*PI*Vm*Vm*(i-30)*dt*(i-30)*dt)*exp(-PI*PI*Vm*Vm*(i-30)*dt*(i-30)*dt);/雷克子波表达式 /褶积的函数/void con(double a,double b,double c,int M,int L) /a代表反射系数,b代表子波,c代表褶积后的值,M是a的个数,L是b的个数,N是c的个数 int i,j,N; N=M+L-1; for(i=0;iN;i+) double tp=0.0; for(j=0;j=0&(i-j)L) tp+=aj*bi-j; ci=tp; tp=0.0; 2. 计算实例构建的模型:计算的结果:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1