地球物理反演与层析成像-结业论文与程序设计 - 图文 联系客服

发布时间 : 星期五 文章地球物理反演与层析成像-结业论文与程序设计 - 图文更新完毕开始阅读1981507bdd36a32d7375819c

********班 **** 学号:*********

for(i=0;i<12;i++) {

for(j=0;j<9;j++)fprintf(fp1,\ fprintf(fp1,\ }

/*----------------------------------------------------------------*/ 计算中间数据 输出 fp2=fopen(\中间数据.txt\//

for(i=0;i<12;i++) //

{ //

for(j=0;j<12;j++) //

{ //

ray[12*i+j].n=j-i;// fprintf(fp2,\ \//

} //

fprintf(fp2,\//

} //

/*--------------------initialize----------------------------------*/ 初始化数组

for(i=0;i<144;i++) for(j=0;j<12;j++)

for(y=0;y<9;y++)ray[i].transform[j][y]=0;

/*----------------------------------------------------------------*/

for(i=0;i<144;i++) {

for(j=0;j<100;j++) {

ray[i].point[j].x=0; ray[i].point[j].y=0; } }

/*----------------------------------------------------------------*/

********班 **** 学号:*********

for(i=0;i<144;i++) {

ray[i].time=0; }

fp4=fopen(\

for(i=0;i<12;i++) {

for(j=0;j<12;j++) {

/*----------------------------------------------------------------*/

for(q=0;q<100;q++) {

d[q].x=100; d[q].y=0; }

/*----------------------------------------------------------------*/ 计算交点

for(m=0;m<10;m++) {

d[m].x=m*5.0;

d[m].y=-d[m].x*ray[i*12+j].slope+ray[i*12+j].begin; }

n=10;

e=ray[i*12+j].n; if(e>0)

{for(y=1;y<=e;y++) {

d[n].y=ray[i*12+j].begin+3.0*y-1.5;

d[n].x=(3.0*y-1.5)/fabs(ray[12*i+j].slope); n++; }}

if(e<0)

{for(y=-1;y>=e;y--) {

d[n].y=ray[i*12+j].begin+3.0*y+1.5;

d[n].x=-(3.0*y+1.5)/fabs(ray[12*i+j].slope); n++; }}

/*----------------------------------------------------------------*/ 对交点进行排序

********班 **** 学号:*********

b=0;

while(d[b].x!=100) {

b++; }

/*----------------------------------------------------------------*/ for(c=0;c

for(k=0;k

if(d[k].x>d[k+1].x) {

temp1=d[k].x; d[k].x=d[k+1].x; d[k+1].x=temp1; temp2=d[k].y; d[k].y=d[k+1].y; d[k+1].y=temp2; }

/*----------------------------------------------------------------*/ 输出交点 b=0;

while(d[b].x!=100) {

ray[12*i+j].point[b].x=d[b].x; ray[12*i+j].point[b].y=d[b].y; fprintf(fp4,\

\\n\ b++; }

/*----------------------------------------------------------------*/ 利用两点间距离计算每个射线在每个单元格上的的长度 for(a=1;a

mm=sqrt(pow((ray[12*i+j].point[a-1].x-ray[12*i+j].point[a].x),2)+pow((ray[12*i+j].point[a-1].y-ray[12*i+j].point[a].y),2)) ; if(ray[12*i+j].n>=0)

ray[12*i+j].transform[(int)(ray[12*i+j].point[a-1].y/3)][(int)(ray[12*i+j].point[a-1].x/5)]=mm; if(ray[12*i+j].n<0)

ray[12*i+j].transform[(int)(ray[12*i+j].point[a].y/3)][(int)(ray[12*i+j].point[a-1].x/5)]=mm;

********班 **** 学号:*********

}

} }

/*----------------------------------------------------------------*/ 计算走时

for(i=0;i<144;i++) {

for(j=0;j<12;j++) {

for(y=0;y<9;y++) {

ray[i].time+=ray[i].transform[j][y]*xc[j][y]; } } }

输出最后正验结果

fp3=fopen(\矩阵A.txt\ for(i=0;i<144;i++) {

for(j=0;j<12;j++) {for(y=0;y<9;y++)

fprintf(fp3,\ fprintf(fp3,\ }

fprintf(fp3,\ }

fp5=fopen(\矩阵A2.txt\ for(i=0;i<144;i++) {

for(j=0;j<12;j++) {

for(y=0;y<9;y++)

fprintf(fp5,\ }

fprintf(fp5,\ }

fp6=fopen(\走时.txt\ for(i=0;i<144;i++) {

fprintf(fp6,\ } }