I have started working on a new model for which I have created a mod and steady state file. Inside that steady state file I call an external function (separate .m file) that helps me to solve a couple of nonlinear equations. So far so good. However, when I execute dynare, I receive the following error message:
Error using evaluate_steady_state (line 214)
STEADY: steady_state-file must return a column vector, not a row vector.
The steady state file starts and ends with for loops which fill in the parameters and output vector. Below you can see the usual ending of the file:
for iter = 1:length(M_.params) %update parameters set in the file
eval([ ‘M_.params(’ num2str(iter) ') = ’ M_.param_names(iter,: ) ‘;’ ])
NumberOfEndogenousVariables = M_.orig_endo_nbr; %auxiliary variables are set automatically
for ii = 1:NumberOfEndogenousVariables
varname = deblank(M_.endo_names(ii,:));
eval([‘ys(’ int2str(ii) ') = ’ varname ‘;’]);
I have to mention that when I follow the “old-school” way of entering the output vector (ys) and parameters manually everything works fine and I don’t receive an error message. It must be something very simple, but I can’t see it anymore since I have spent some time behind the monitor.
It would be great if someone would be able to help me with this.
All the best and thanks.