www.gusucode.com > EasyKrig_V3.0工具箱matlab源码程序 > EasyKrig_V3.0/krig/set3dkrigpara.m
function set3dkrigpara(opt) % Set DeFault Kriging Parameters %% opt = 1 set krig window parameter from krig variable struct %% opt = 2 set krig variable struct from krig window settings %% %% Kriging Software Package version 3.0, May 1, 2004 %% Copyright (c) 1999, 2001, 2004, property of Dezhang Chu and Woods Hole Oceanographic %% Institution. All Rights Reserved. global hdl para data if 0 if para.krig.batch_file_proc == 1 & para.krig.bat_proc_cnt > 1 return end end if opt == 1 % set krig window parameter from krig variable struct but data preparation window is active %% coordinates set(hdl.krig.xmin,'string',para.krig.xmin0); set(hdl.krig.xmax,'string',para.krig.xmax0); set(hdl.krig.dx,'string',para.krig.dx0); set(hdl.krig.ymin,'string',para.krig.ymin0); set(hdl.krig.ymax,'string',para.krig.ymax0); set(hdl.krig.dy,'string',para.krig.dy0); if isfield(para.krig,'zmin0') & ~isempty(para.krig.zmin0) & data.in.dim == 3 set(hdl.krig.zlabel,'enable','on'); set(hdl.krig.zmin,'enable','on'); set(hdl.krig.zmax,'enable','on'); set(hdl.krig.dz,'enable','on'); set(hdl.krig.zmin,'string',para.krig.zmin0); set(hdl.krig.zmax,'string',para.krig.zmax0); set(hdl.krig.dz,'string',para.krig.dz0); end if data.in.dim == 2 para.krig.zmin0=[]; para.krig.zmax0=[]; para.krig.dz0=[]; set(hdl.krig.zmin,'string',''); set(hdl.krig.zmax,'string',''); set(hdl.krig.dz,'string',''); set(hdl.krig.zlabel,'enable','off'); set(hdl.krig.zmin,'enable','off'); set(hdl.krig.zmax,'enable','off'); set(hdl.krig.dz,'enable','off'); end %% kriging parameters set(hdl.krig.model,'value',para.krig.model); set(hdl.krig.scheme,'value',para.krig.scheme); set(hdl.krig.blk_nx,'string',para.krig.blk_nx); set(hdl.krig.blk_ny,'string',para.krig.blk_ny); set(hdl.krig.blk_nz,'string',para.krig.blk_nz); if para.status.kriging == 1 % para.krig.srad=0.3*sqrt(para.dataprep.x_norm^2+para.dataprep.y_norm^2); para.krig.srad=0.3; end set(hdl.krig.srad,'string',para.krig.srad); set(hdl.krig.kmin,'string',para.krig.kmin); set(hdl.krig.kmax,'string',para.krig.kmax); set(hdl.krig.elim,'string',para.krig.elim); %% loading/saving parameters file set(hdl.krig.load_para,'value',para.krig.load_para); set(hdl.krig.save_para,'value',para.krig.save_para); if para.krig.load_para == 0 set(hdl.krig.vario_para,'value',para.krig.vario_para,'enable','off'); set(hdl.krig.krig_para,'value',para.krig.krig_para,'enable','off'); set(hdl.krig.both_para,'value',para.krig.both_para,'enable','off'); if para.krig.save_para == 0 set(hdl.krig.para_file_browser,'enable','off'); else set(hdl.krig.para_file_browser,'enable','on'); end end %% load data file set(hdl.krig.load_data_file,'value',para.krig.load_data_file); set(hdl.krig.data_file_browser,'enable','off'); set(hdl.krig.data_file,'visible','off'); elseif opt == 2 % set krig parameters based on the defination on the krig panel xmin=str2num(get(hdl.krig.xmin,'string')); xmax=str2num(get(hdl.krig.xmax,'string')); dx=str2num(get(hdl.krig.dx,'string')); ymin=str2num(get(hdl.krig.ymin,'string')); ymax=str2num(get(hdl.krig.ymax,'string')); dy=str2num(get(hdl.krig.dy,'string')); para.krig.xmin0=xmin; para.krig.xmax0=xmax; para.krig.dx0=dx; para.krig.ymin0=ymin; para.krig.ymax0=ymax; para.krig.dy0=dy; if para.dataprep.var1_indx == 1 & para.dataprep.var2_indx == 2 %y-axis -> Lat para.krig.xmin=min((xmin-para.dataprep.x_offset)*para.dataprep.latlonfac/para.dataprep.x_norm); para.krig.xmax=max((xmax-para.dataprep.x_offset)*para.dataprep.latlonfac/para.dataprep.x_norm); para.krig.ymin=(ymin-para.dataprep.y_offset)/para.dataprep.y_norm; para.krig.ymax=(ymax-para.dataprep.y_offset)/para.dataprep.y_norm; elseif para.dataprep.var1_indx == 2 & para.dataprep.var2_indx == 1 %x-axis -> Lat para.krig.xmin=(xmin-para.dataprep.x_offset)/para.dataprep.x_norm; para.krig.xmax=(xmax-para.dataprep.x_offset)/para.dataprep.x_norm; para.krig.ymin=min((ymin-para.dataprep.y_offset)*para.dataprep.latlonfac/para.dataprep.y_norm); para.krig.ymax=max((ymax-para.dataprep.y_offset)*para.dataprep.latlonfac/para.dataprep.y_norm); else para.krig.xmin=(xmin-para.dataprep.x_offset)/para.dataprep.x_norm; para.krig.xmax=(xmax-para.dataprep.x_offset)/para.dataprep.x_norm; para.krig.ymin=(ymin-para.dataprep.y_offset)/para.dataprep.y_norm; para.krig.ymax=(ymax-para.dataprep.y_offset)/para.dataprep.y_norm; end para.krig.dx=dx/para.dataprep.x_norm; para.krig.dy=dy/para.dataprep.y_norm; if data.in.dim == 3 zmin=str2num(get(hdl.krig.zmin,'string')); zmax=str2num(get(hdl.krig.zmax,'string')); dz=str2num(get(hdl.krig.dz,'string')); para.krig.zmin0=zmin; para.krig.zmax0=zmax; para.krig.dz0=dz; para.krig.zmin=(zmin-para.dataprep.z_offset)/para.dataprep.z_norm; para.krig.zmax=(zmax-para.dataprep.z_offset)/para.dataprep.z_norm; para.krig.dz=dz/para.dataprep.z_norm; else end para.krig.model=get(hdl.krig.model,'value'); para.krig.scheme=get(hdl.krig.scheme,'value'); if para.krig.scheme == 2 para.krig.blk_nx=str2num(get(hdl.krig.blk_nx,'string')); para.krig.blk_ny=str2num(get(hdl.krig.blk_ny,'string')); if data.in.dim == 3 para.krig.blk_nz=str2num(get(hdl.krig.blk_nz,'string')); end end para.krig.srad=str2num(get(hdl.krig.srad,'string')); para.krig.kmin=str2num(get(hdl.krig.kmin,'string')); para.krig.kmax=str2num(get(hdl.krig.kmax,'string')); para.krig.elim=str2num(get(hdl.krig.elim,'string')); end