stephane-adjemian.fr/assets/dynare/codes/dog/dog_steadystate.m

47 lines
1.9 KiB
Matlab
Executable File

% computes the steady state of dog.mod (growthless deterministic growth model).
% stephane [DOT] adjemian [AT] ens [DOT] fr
function [ys,check] = dog_steadystate(ys,exe)
global M_
%% DO NOT CHANGE THIS PART.
%%
%% Here we load the values of the deep parameters in a loop.
%%
NumberOfParameters = M_.param_nbr; % Number of deep parameters.
for i = 1:NumberOfParameters % Loop...
paramname = deblank(M_.param_names(i,:)); % Get the name of parameter i.
eval([ paramname ' = M_.params(' int2str(i) ');']); % Get the value of parameter i.
end % End of the loop.
check = 0;
%%
%% END OF THE FIRST MODEL INDEPENDENT BLOCK.
%% THIS BLOCK IS MODEL SPECIFIC.
%%
%% Here the user has to define the steady state.
%%
kstar = ((1-alfa)^(1/PSI))*((1/betta+delta-1)/(alfa*A*effstar)-alfa)^(-1/PSI);
ystar = A*effstar*( alfa*kstar^PSI + 1-alfa)^(1/PSI) ;
cstar = ystar-delta*kstar;
k = kstar;
c = cstar;
eff = effstar;
%%
%% END OF THE MODEL SPECIFIC BLOCK.
%% DO NOT CHANGE THIS PART.
%%
%% Here we define the steady state values of the endogenous variables of
%% the model.
%%
NumberOfEndogenousVariables = M_.endo_nbr; % Number of endogenous variables.
ys = zeros(NumberOfEndogenousVariables,1); % Initialization of ys (steady state).
for i = 1:NumberOfEndogenousVariables % Loop...
varname = deblank(M_.endo_names(i,:)); % Get the name of endogenous variable i.
eval(['ys(' int2str(i) ') = ' varname ';']); % Get the steady state value of this variable.
end % End of the loop.
%%
%% END OF THE SECOND MODEL INDEPENDENT BLOCK.