资源描述:
《钻井布局数学模型》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、钻石布局数学模型指导老师:温利民参赛队员:田毅卢俊红曾琪2009年7月27日问题一的解答:程序一:x=[41.537587.436776.795099.008343.865921.396332.003672.663274.456643.992468.333283.923813.377360.719937.047745.14252.71851.286368.31163.533860.85401.635558.691836.756871.76348.407944.182815.360669.921347.8384
2、12.104771.5883];y=[30.49991.500997.084578.886249.831164.349296.009941.195326.794793.338021.256062.878520.713362.988857.51484.389531.268538.39679.284261.23951.576019.00755.758163.145169.266945.435535.325067.564572.750955.484245.075489.2842];a=zeros(1,32);b=z
3、eros(1,32);a=x-fix(x);%去整以后的xb=y-fix(y);%去整以后的ymax=0;%记录最多能有几口旧井可以利用count=0;%记录确定网格节点后能利用旧井的数量fori=0:0.0025:1forj=0:0.0025:1count=0;fork=1:32if(sqrt((a(k)-i)^2+(b(k)-j)^2)<0.05)count=count+1;endendif(count>max)max=count;c=zeros(1,32);%标记能利用的旧井井,如果为1表示有这口井,否
4、则没有X=i;%网格节点的x坐标Y=j;%网格节点的Y坐标fork=1:32if(sqrt((a(k)-i)^2+(b(k)-j)^2)<0.05)c(k)=1;endendendendendmax,c,X,Y程序一说明:从题目的资料中给出了32口旧井的位置的坐标数据x,y两个数组,网格的方向是固定的,对于任意一点,当网格纵横平移整数个单位时,相对于最近的网格结点的距离是不变的,即当在网格上纵横平移整数个单位至Pi´时,相对同一网格的距离不变,于是,我们把所有的旧井点都纵横平移整数个单元,使他们都落在同一网格
5、单元中,此时,各点相对于最近网格结点的距离保持不变。所以去整求出32口旧井的新坐标,给定的范围在,为网格节点的坐标,在i,j变化的多次的循环下满足32口旧井到网格节点的距离小于0.05的最多口旧井数就是所要求的结果(),为两个旧井。程序结果:max=2c=Columns1through2000000000000000010000Columns21through32000000100000X=0.1375Y=0.3400问题二的解答:程序二:x=[41.537587.436776.795099.008343.8
6、65921.396332.003672.663274.456643.992468.333283.923813.377360.719937.047745.14252.71851.286368.31163.533860.85401.635558.691836.756871.76348.407944.182815.360669.921347.838412.104771.5883];y=[30.49991.500997.084578.886249.831164.349296.009941.195326.794793.
7、338021.256062.878520.713362.988857.51484.389531.268538.39679.284261.23951.576019.00755.758163.145169.266945.435535.325067.564572.750955.484245.075489.2842];a=zeros(1,32);b=zeros(1,32);a1=zeros(1,32);b1=zeros(1,32);%a=x-fix(x);%去整以后的x%b=y-fix(y);%去整以后的ymax=0
8、;%记录最多能有几口旧井可以利用count=0;%记录确定网格节点后能利用旧井的数量N=0;fori=0:0.025:1forj=0:0.025:1forn=0:0.01*pi:pi/2form=1:32a(m)=x(m)*cos(n)-y(m)*sin(n);b(m)=x(m)*sin(n)+y(m)*cos(n);endfork=1:32a1(k)=a(k)-fix(a(k));b1(k)=b(