function [n_cand,Cand_models]=pru_step(Model,InpPat); n_cand=0; disp(['Purging Step']); n_s_b=Model.n_s_m; %Decrease order of univariate sub_models [n_c,C_m]=dec_ord_sm(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) ' univariate submodels with spline order decreased']); end % splitting multivariate submodels [n_c,C_m]=spl_mv(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) ' multivariate submodels splitted']); end % removing knots [n_c,C_m]=rem_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 knots removed']); end if n_cand==0 Cand_models=[]; end