gstat is used to call gstat from within Matlab. It can be called using either a GSTAT command file as :
[pred_mean,pred_var]=gstat('ex06.cmd');
or using a Matlab mGstat structure as
G=read_gstat_par('ex06.cmd');       % read parameter file
G.G.variogram{1}.V(1).type='Sph';   % change variogram type to Spherical
[pred_mean,pred_var]=gstat(G);
More info at : the section called “gstat”
gstat_krig  is the equivalent of the native Matlab command krig. It is called in similar fashion to krig, but calls GSTAT for kriging as opposed to the Matlab kriging routines.
More info at : the section called “gstat_krig”
Converts binary formatted data formats to ascii.
More info at : the section called “gstat_convert” and the section called “Making GSTAT available for mGstat”
NB: In the forthcoming releases this m-file will be rename gstat_semivar_exp
This m-file computes the experimental semivariogram using the same conventions as the section called “semivar_exp”, but using GSTAT as backend instead of the native Matlab implemention.
the section called “semivar_exp_gstat” is much more CPU efficient that the section called “semivar_exp”.
An example (from MGSTAT_INSTALL/example/test_gstat_semivar_exp.m)
% GENERATE A REFERENCE DATA SET USING UNCONDITIONAL GAUSSIAN SIMULATION
x=[0:.05:10];
y=[0:.05:10];
V=visim_init(x,y);
V.rseed=1;
V.Va.a_hmax=4; % maximum correlation length
V.Va.a_hmin=.5;  % minumum correlation length
V.Va.ang1=90-22.5;   % Rotation angle of dip(clockwise from north)
V.Va.it=1;     % Gaussian semivariogram
V=visim(V);    % run visim;
[x_obs,y_obs]=meshgrid(x,y);
d_obs=V.D(:,:,1);
n_obs=prod(size(d_obs));
% CHOOSE SOME DATA FOR SEMIVARIOGRAM ANALYSIS
n_use=1000;
i_use=round(rand(1,n_use)*(n_obs-1))+1;
i_use=unique(i_use);
x_use=x_obs(i_use);
y_use=y_obs(i_use);
d_use=d_obs(i_use);
% PLOT DATA
figure(1);
imagesc(V.x,V.y,V.D(:,:,1));
title(visim_format_variogram(V))
axis image;
hold on
plot(x_use,y_use,'w.','MarkerSize',22)
scatter(x_use,y_use,20,d_use,'filled')
hold off
drawnow;
% SEMIVARIOGRAM ANALYSIS ISOTROPIC
[gamma_iso,hc,np,av_dist]=semivar_exp_gstat([x_use(:) y_use(:)],[d_use(:)]);
figure(2);
plot(hc,gamma_iso);
title('isotropic');xlabel('Distance');ylabel('\gamma')
% SEMIVARIOGRAM ANALYSIS ANISOTROPIC
ang_array=[0,22.5,45,67.5,90];
ang_tolerance=10;
for i_ang=1:length(ang_array);   
    [gamma_an(:,i_ang),hc,np,av_dist]=semivar_exp_gstat([x_use(:) y_use(:)],[d_use(:)],ang_array(i_ang),ang_tolerance);
end
figure(3);
plot(hc,gamma_an);xlabel('Distance');ylabel('\gamma')
title('ANisotropic'); 
legend(num2str(ang_array'))
 
% SYNTHETICAL SEMIVARIOGRAM
gamma_synth=semivar_synth('0.0001 Nug(0) + 1 Sph(1)',hc);
figure(4)
plot(hc,gamma_an,'b-')
hold on
plot(hc,gamma_iso,'r-','linewidth',2)
plot(hc,gamma_synth,'k-','linewidth',2)
hold off
;xlabel('Distance');ylabel('\gamma')
legend(num2str(ang_array'))
More info at : the section called “semivar_exp_gstat”
| © 2004-2010 Thomas Mejer Hansen. | This site is hosted by |