function [n_cand,Cand_models]=ref_step(Model,InpPat,order) disp(['Refinement Step']); n_s_b=Model.n_s_m; n_cand=0; % add univariate submodels [n_c,C_m]=add_uni_sm(Model,InpPat,order); if n_c>0 Cand_models(n_cand+1:n_cand+n_c)=C_m; n_cand=n_cand+n_c; disp([num2str(n_c) ' univariate submodels added']); end % generate multivariate submodels [n_c,C_m]=gen_mv(Model,InpPat,order); if n_c>0 Cand_models(n_cand+1:n_cand+n_c)=C_m; n_cand=n_cand+n_c; disp([num2str(n_c) ' multivariate submodels generated']); end % refine knot vector [n_c,C_m]=refine_kv(Model,InpPat); if n_c>0 Cand_models(n_cand+1:n_cand+n_c)=C_m; n_cand=n_cand+n_c; disp([num2str(n_c) ' submodels with refined knot vectors']); end if n_cand==0 Cand_models=[]; end