diff --git a/matlab/dynare_estimation_1.m b/matlab/dynare_estimation_1.m index 1e4eeb34d1b846453b7b5f649d543ff86b15aea4..a813fbc0abb6fefd1ea752b955fd7f5437bd9067 100644 --- a/matlab/dynare_estimation_1.m +++ b/matlab/dynare_estimation_1.m @@ -504,7 +504,7 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha oo_.Smoother.TrendCoeffs = trend_coeff; oo_.Smoother.Variance = P; i_endo = bayestopt_.smoother_saved_var_list; - if options_.nk ~= 0 && ~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.pshape> 0) && options_.load_mh_file)) + if ~isempty(options_.nk) && options_.nk ~= 0 && (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.pshape> 0) && options_.load_mh_file))) oo_.FilteredVariablesKStepAhead = aK(options_.filter_step_ahead, ... i_endo,:); if isfield(options_,'kalman_algo') @@ -522,7 +522,7 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha i1 = dr.order_var(bayestopt_.smoother_var_list(i)); eval(['oo_.SmoothedVariables.' deblank(M_.endo_names(i1,:)) ' = ' ... 'atT(i,:)'';']); - if options_.nk > 0 && ~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.pshape> 0) && options_.load_mh_file)) + if ~isempty(options_.nk) && options_.nk > 0 && ~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.pshape> 0) && options_.load_mh_file)) eval(['oo_.FilteredVariables.' deblank(M_.endo_names(i1,:)) ... ' = squeeze(aK(1,i,2:end-(options_.nk-1)));']); end diff --git a/tests/steady_state/Linear_steady_state_xfail.mod b/tests/steady_state/Linear_steady_state_xfail.mod new file mode 100644 index 0000000000000000000000000000000000000000..501a9b4afd979528289ced1099ef466523518f24 --- /dev/null +++ b/tests/steady_state/Linear_steady_state_xfail.mod @@ -0,0 +1,23 @@ +// Test whether a nonlinear equation specfied as a linear model is correctly filtered out +var A; + +varexo epsilona; +parameters rho; + +rho = .42; + +model(linear); +log(A) = rho*log(A(-1)) + epsilona; +end; + +initval; + A = 1.34; +end; + +steady; + + + + + +