在之前的文章中,我們介紹了一種利用岩石抗壓強度進行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