matlab kriging模型

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

當對模型不確定或者變量波動劇烈時,所給範圍宜較寬。

若初始值選取不合理,則可能造成曲面波動。

如以下情況:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章