function [ ys,check ] = Neoclassical_Model_SP_steadystate( ys,exo )
% function [ ys,check ] = Neoclassical_Model_SP_steadystate( ys,exo )
% computes the steady state for the Neoclassical_Model_SP.mod and uses a numerical
% solver to do so
% Inputs:
% - ys [vector] vector of initial values for the steady state of the
% endogenous vaiables
% - exo [vector] vector of values for the exogenous variables
%
% Output:
% - ys  [vector] vector of steady state values for the endogenous variables
% - check  [scalar] set to 0 if steady state computation worked and to 1 if
% not (allows to impose restriction on parameters)

global M_

% read out parameters to access them with their name 
NumberOfParameters = M_.param_nbr;
for ii = 1:NumberOfParameters
    paramname = deblank(M_.param_names(ii,:));
    eval([paramname ' = M_.params(' int2str(ii) ');']);
end
% initialize indicator
check = 0;

%% Enter model equations here
l = ((1 - alppha)*(1/betta - (1 - delta)))/((psii*(1/betta - (1 - delta) - alppha*delta) + (1 - alppha)*(1/betta - (1 - delta))));
k = ((alppha/(1/betta - (1 - delta)))^(1/(1 - alppha)))*l;
invest = delta*k;
y = (k^alppha)*(l^(1-alppha));
c = y - invest;
y_l = y/l;
z = 0; 
e = 0;

%% end own model equations

for iter = 1:length(M_.params) %update parameters set in the file
    eval([ 'M_.params(' num2str(iter) ') = ' M_.param_names(iter,:) ';'])
end

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 ';']);
end


end

