kriging工具箱:https://orbit.dtu.dk/en/publications/dace-a-matlab-kriging-toolbox
x=rand(1,100)*5; y=rand(1,100)*5; z=x./(y+1)+0.01*rand(1,100); data=[x',y',z']; scatter(x,y,25,z); colorbar; %模型參數設置 theta = [5 5]; lob = [1e-1 1e-1]; upb = [20 20]; %變異函數模型為高斯模型 [dmodel, perf] = dacefit(data(:,1:2), data(:,3), @regpoly0, @corrgauss, theta, lob, upb); %創建一個40*40的網格,范圍為0-5 X = gridsamp([0 0;5 5], 40); %格網點的預測值返回在矩陣YX中,預測點的均方根誤差返回在矩陣MSE中 [YX,MSE] = predictor(X, dmodel); X1 = reshape(X(:,1),40,40); X2 = reshape(X(:,2),40,40); YX = reshape(YX, size(X1)); %size(X1)=40*40 mesh(X1, X2, YX); %繪制預測表面
theta是初始值,lob和upb是參數范圍,計算結果存在dmodel.theta中。
>> dmodel.theta ans = 0.903390452322443 4.718047509652705
當對模型不確定或者變量波動劇烈時,所給范圍宜較寬。
若初始值選取不合理,則可能造成曲面波動。
如以下情況: