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

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

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

如以下情況:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM