diff --git a/matlab/discretionary_policy_1.m b/matlab/discretionary_policy_1.m index 0837067b2f9037405d22d467504fa7c881a87fb6..b4f9cc35c8ae2ace70d34953909a204b6d620484 100644 --- a/matlab/discretionary_policy_1.m +++ b/matlab/discretionary_policy_1.m @@ -68,6 +68,15 @@ if options_.steadystate_flag end [U,Uy,W] = feval([M_.fname,'_objective_static'],zeros(endo_nbr,1),[], M_.params); if any(any(Uy~=0)) + non_zero_derivs=find(any(Uy~=0)); + for ii=1:length(non_zero_derivs) + non_zero_deriv_names{ii,1}=deblank(M_.endo_names(non_zero_derivs(ii),:)); + end + disp_string=[non_zero_deriv_names{1,:}]; + for ii=2:size(non_zero_deriv_names,1) + disp_string=[disp_string,', ',non_zero_deriv_names{ii,:}]; + end + fprintf('\nThe derivative of the objective function w.r.t. to variable(s) %s is not 0\n',disp_string) error(['discretionary_policy: the objective function must have zero ' ... 'first order derivatives']) end