v4 steady_: checking user provided ..._steadystate.m can't be done for nonstationary models

git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@917 ac1d8469-bf42-47a9-8791-bf33cf982152
time-shift
michel 2006-09-17 15:21:22 +00:00
parent 545c8881c0
commit 8fcac85ea1
1 changed files with 19 additions and 12 deletions

View File

@ -11,19 +11,26 @@ function steady_()
oo_.exo_det_steady_state]);
% Check if the steady state obtained from the _steadystate file is a
% steady state.
cheick = max(abs(feval(fh,dr.ys,[oo_.exo_steady_state; ...
oo_.exo_det_steady_state]))) > options_.dynatol
cheick = 0;
if isfield(options_,'unit_root_vars')
if isempty(options_.unit_root_vars)
cheick = max(abs(feval([M_.fname '_steadystate'],...
oo_.steady_state,...
[oo_.exo_steady_state; ...
oo_.exo_det_steady_state]))) > options_.dynatol
end
end
if ~isempty(options_.steadystate_partial)
ssvar = options_.steadystate_partial.ssvar;
nov = length(ssvar);
indv = zeros(nov,1);
for i = 1:nov
indv(i) = strmatch(ssvar(i),M_.endo_names,'exact');
end
[oo_.steady_state,check] = dynare_solve('restricted_steadystate',...
oo_.steady_state(indv),...
options_.jacobian_flag, ...
[oo_.exo_steady_state;oo_.exo_det_steady_state],indv);
ssvar = options_.steadystate_partial.ssvar;
nov = length(ssvar);
indv = zeros(nov,1);
for i = 1:nov
indv(i) = strmatch(ssvar(i),M_.endo_names,'exact');
end
[oo_.steady_state,check] = dynare_solve('restricted_steadystate',...
oo_.steady_state(indv),...
options_.jacobian_flag, ...
[oo_.exo_steady_state;oo_.exo_det_steady_state],indv);
end
if cheick
[oo_.steady_state,check] = dynare_solve([M_.fname '_static'],...