在之前的文章中,我们介绍了一种利用岩石抗压强度进行PDC钻头选型的软件,软件需要我们输入岩石的单轴或三轴抗压强度以及层段深度。由于层段的深度对结果产生很大的影响,因此采用了聚类分析的方法对得到的数据进行了处理。本文奖简单介绍聚类分析的基本概念和应用方法。
以PDC选型软件为例,需要输入层段深度和对应参数,从而得到整个地层的参数。聚类分析的基本思想是在不破坏原有顺序条件下将N个样品分别分割为L段,设Xkj表示第k(k=1,2。。。N)段第j(j=1,2,3。。。N)段样品的指标, 表示第k段指标的平均值, 表示该段样品数, 表示全部N个样品的总平均值,则样品分为L段时,其指标的总立方和T可以分解为段内离差平方和W与段间离差平方和B两部分,即T=W+B。当N个样品给定之后,T是一个常量;当W最小时,B也就达到最大。这种使段内离差平方和W最小的分割法就是最优分割法。
简单来说,就是将一个整体分为几段,求出段内的离差平方和以及段间的离差平方和,那么两者的和就是固定的,当一个值增大时另一个值就减小。
通过这种方法,我们可以建立地层模型,并随需求对每个层段进行调整。
下面附上PDC钻头选型软件的部分代码:
%% 切削齿尺寸计算
%---------------------------------------------------------------------------------------------------------------------------------------
HZetaK=get(handles.uitable1,'Data'); %获得表格中的数据,将数据存到HZetaK中
HZetaKNum=cell2mat(HZetaK); %将表格中的cell数据类型转化为数字数据类型
H=HZetaKNum(:,1); %取出表格第一列的数据(层深)
K=HZetaKNum(:,3); %取出表格第三列数据(可钻性级值)
HT=sum(H); %计算出表格第一列总的层深
Ki=H.*K; %求出每层的H*K
Kisum=sum(Ki); %求出H*K的总和
Kave=Kisum/HT; %得到实际需要的可钻性级值Kaveceil
Kaveceil=ceil(Kave); %将Kaveceil向上取整
if Kaveceil==1 %判断切削齿尺寸大小,当可钻性为Kaveceil时,齿尺寸Size的直径为mm
Size=10.5;
elseif Kaveceil==2||Kaveceil==3||Kaveceil==4
Size=13;
elseif Kaveceil==5
Size=14.5;
elseif Kaveceil==6||Kaveceil==7
Size=16;
elseif Kaveceil==8
Size=17.5;
elseif Kaveceil==9||Kaveceil==10
Size=19;
elseif Kaveceil==11
Size=22;
end
set(handles.chichicundata,'String',Size); %将切削齿尺寸大小Size存到chichicundata对应的文本框中
作者:GaiJM