Re-computing the steady state from external file

I used to run these commands to compute the steady state from another Matlab script:

% Simulate Dynare once
dynare gm331.mod

% Change parameter value
M_.params(strmatch(‘phi_p’,M_.param_names,‘exact’)) = 0.2;

% Recompute the steady state with the new parameter value
oo_.dr.ys = gm331_steadystate;

Now with Dynare 4.6.1 the last command leads to error: “Not enough input arguments”. I understand the new version has changed the inputs in the steady state computation file, but I can’t find the proper syntax for this command. Could anyone help?

Hi chicoutimy,

Since release 4.6.0, the function declaration has been changed to reflect the move of some structures like M_ from global variables into function inputs

Dynare 4.6.0:

function [ys,params,check] = NK_baseline_steadystate(ys,exo,M_,options_)

Previous releases:

function [ys,check] = NK_baseline_steadystate(ys,exo)


Hi cmarch,

Thanks for your answer. I think I found the solution to my problem. To compute the steady state from an external file (not to solve the steady state by invoking Dynare), one used to use:

oo_.dr.ys = gm331_steadystate;

Now, with the new version, one should define:

exo = zeros(M_.exo_nbr,1); ys = zeros(M_.endo_nbr,1);

Then use:

oo_.dr.ys = gm331_steadystate(ys,exo,M_,options_);