diff --git a/matlab/utilities/general/get_all_variables_but_lagged_leaded_exogenous.m b/matlab/utilities/general/get_all_variables_but_lagged_leaded_exogenous.m new file mode 100644 index 000000000..e52aaeb39 --- /dev/null +++ b/matlab/utilities/general/get_all_variables_but_lagged_leaded_exogenous.m @@ -0,0 +1,35 @@ +function k = get_all_variables_but_lagged_leaded_exogenous(M) +% returns indices of all endogenous variables in declaration order except +% lagged and leaded exogenous +% +% INPUT +% M: model structure +% +% OUTPUT +% k: vector of variable indices +% + +% Copyright (C) 2011-2016 Dynare Team +% +% This file is part of Dynare. +% +% Dynare is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% Dynare is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with Dynare. If not, see . + +if isempty(M.aux_vars) + k = 1:M.endo_nbr; +else + type = [M.aux_vars.type]; + k = [1:M.orig_endo_nbr; M.orig_endo_nbr+find((type ~= 2) & ... + (type ~= 3))']; +end \ No newline at end of file diff --git a/matlab/utilities/general/log_variable.m b/matlab/utilities/general/log_variable.m index 3cb061b82..74a6aa126 100644 --- a/matlab/utilities/general/log_variable.m +++ b/matlab/utilities/general/log_variable.m @@ -33,7 +33,7 @@ orig_endo_nbr = M.orig_endo_nbr; aux_vars = M.aux_vars; y = zeros(length(ivar),1); -for i = ivar(:)' +for i = 1:length(ivar) % Does ivar(i) refer to a lag/lead exogenous variable? if ivar(i) > orig_endo_nbr av = aux_vars(ivar(i) - orig_endo_nbr);