% basic_2_ss.m      

% Hier werden die SS-Gleichungen definiert und die Variablen eingelesen, 
% sodass fsolve diese Funktion nutzen kann, um den SS zu berechnen. 

% Variablen im Workspace sind locals und müssten ggf. als globals
% deklariert werden. Dann müssen sie in der Prozedur noch mal als gobal
% deklariert werden, damit MATLAB weiß, dass es keine locals sind

function eqa=basic_2_ss(x)
global M_                  % D. h., dass M_ im folgenden als globale Variable aufzufassen ist.
                           % M_ wird schon in weg_steadystate als global deklariert. 
                           
for i=1:size(M_.params,1);
    setval(M_.param_names(i,:),M_.params(i,1));
end;



i=1;  
lneab=x(i); i=i+1;         % Wechselkurs Anzahl Einheiten A pro Einheit B
lnebc=x(i); i=i+1;
lnRa=x(i); i=i+1;          % Nominalzinsen
lnRb=x(i); i=i+1;           
lnRc=x(i); i=i+1;
lnpa=x(i); i=i+1; 
lnpb=x(i); i=i+1;
lnpc=x(i); i=i+1;
lnc1a=x(i); i=i+1;         % Konsum von Haushalt 1 des in A produzierten Gutes
lnc2b=x(i); i=i+1;
lnc3c=x(i); i=i+1;
% lnc1b=x(i); i=i+1;         % Konsum der Güter anderer Länder
% lnc1c=x(i); i=i+1;
% lnc2a=x(i); i=i+1;
% lnc2c=x(i); i=i+1;
% lnc3a=x(i); i=i+1;
% lnc3b=x(i); i=i+1;
lnb1a=ln(x(i)); i=i+1;                         % Bondnachfragen nach Bonds des eigenen Landes
lnb2b=ln(x(i)); i=i+1;
lnb3c=ln(x(i)); i=i+1;
lnb2a=ln(x(i)); i=i+1;                         % Bondnachfragen nach Bonds anderer Länder
lnb2c=ln(x(i)); i=i+1;
lnb1b=ln(x(i)); i=i+1;
lnb1c=ln(x(i)); i=i+1;
lnb3a=ln(x(i)); i=i+1;
lnb3b=ln(x(i)); i=i+1;
lnlncut1sa=x(i); i=i+1;    % cut1 und cut2 sind Zahlen zwischen 0 und 1 in der Form cut=exp(-exp(lnlncut)). 
lnlncut2sa=x(i); i=i+1;    % Daraus definieren wir uns drei zu Eins addierbare shares als s1=cut2*cut1, s1+s2=cut1, s3=1-s1-s2
lnlncut1sb=x(i); i=i+1;    % Damit sind die shares immer positiv und immer Eins in der Summe.
lnlncut2sb=x(i); i=i+1;    % Die explizite Formel der shares lautet: s1=cut1*cut2; s2=cut1*(1-cut2); s3=1-cut1; 
lnlncut1sc=x(i); i=i+1;    % sa bezeichnet die shares für die Gewinne von a, etc.  
lnlncut2sc=x(i); i=i+1;    % Die Zahlen 1 und 2 haben nichts mit den Haushalten zu tun sondern erlauben die Berechnung von zwei Schnittpunkten im Intervall (0,1) 
lnx1b=x(i); i=i+1;         % Transfers von Haushalt 1 in Land B
lnx1c=x(i); i=i+1;
lnx2a=x(i); i=i+1;
lnx2c=x(i); i=i+1;
lnx3a=x(i); i=i+1;
lnx3b=x(i); i=i+1;
lnspa=x(i); i=i+1;          % share price for profits of firms in country a
lnspb=x(i); i=i+1;
lnspc=x(i); i=i+1;          % Insgesamt 35 Variablen über die nichtlinear gelöst werden muss.
% lntas1=x(i); i=i+1;
% lntas2=x(i); i=i+1;
% lntas3=x(i); i=i+1;
% tas1=exp(lntas1);
% tas2=exp(lntas2);
% tas3=exp(lntas3);
% lntas1=x(i); i=i+1;
% % lntas2=x(i); i=i+1;
% % lntas3=x(i); i=i+1;
% tas1=exp(lntas1);
% tas2=exp(lntas1);
% tas3=exp(lntas1);

lngass=ln(gass); 
lngbss=ln(gbss); 
lngcss=ln(gcss); 
lntass=ln(tass); 
lntbss=ln(tbss); 
lntcss=ln(tcss);             % Diese Gleichungen definieren Konstanten, keine Variablen
lnta=lntass; 
lntb=lntbss; 
lntc=lntcss; 
ta=tass; 
tb=tbss; 
tc=tcss; 
lnga=lngass; 
lngb=lngbss; 
lngc=lngcss; 
ga=gass; 
gb=gbss; 
gc=gcss; 
ma=mass; 
mb=mbss; 
mc=mcss;                     % Weitere 15 Variablen


% Vorgeschobene "gelöste" Gleichungen:

% Zu lösen über x; 

b1a=exp(lnb1a);                           % Bondnachfragen nach Bonds des eigenen Landes
b2b=exp(lnb2b);  
b3c=exp(lnb3c);  
b2a=exp(lnb2a);                           % Bondnachfragen nach Bonds anderer Länder
b2c=exp(lnb2c);  
b1b=exp(lnb1b);  
b1c=exp(lnb1c);  
b3a=exp(lnb3a);  
b3b=exp(lnb3b);  
pa=exp(lnpa); 
pb=exp(lnpb); 
pc=exp(lnpc); 
eab=exp(lneab); 
ebc=exp(lnebc); 
eac=eab*ebc; 
lneac=ln(eac); 
% c1a=exp(lnc1a); 
% c1b=exp(lnc1b); 
% c1c=exp(lnc1c); 
% c2a=exp(lnc2a); 
% c2b=exp(lnc2b); 
% c2c=exp(lnc2c); 
% c3a=exp(lnc3a); 
% c3b=exp(lnc3b); 
% c3c=exp(lnc3c); 
ra=1/ba1-1+daa; 
rb=1/ba2-1+dab; 
rc=1/ba3-1+dac; 
ln_ra=ln(ra); 
ln_rb=ln(rb); 
ln_rc=ln(rc); 
infa=1; 
infb=1; 
infc=1; 
lninfa=ln(infa); 
lninfb=ln(infb); 
lninfc=ln(infc); 
bca=0;              % Bond-Nachfrage der Zentralbanken
bcb=0; 
bcc=0; 
lnpsa=lnpa; 
lnpsb=lnpb; 
lnpsc=lnpc; 
dpa=1; 
dpb=1; 
dpc=1; 
lndpa=ln(dpa); 
lndpb=ln(dpb); 
lndpc=ln(dpc); 
lnmca=-ln(1+lapa); 
lnmcb=-ln(1+lapb); 
lnmcc=-ln(1+lapc); 
lnc1b=lnc1a-muca*(ln(nuc1a)-ln(nuc1b)+lnpb+lneab-lnpa); 
lnc1c=lnc1a-muca*(ln(nuc1a)-ln(nuc1c)+lnpc+lneac-lnpa); 
lnc2a=lnc2b-mucb*(ln(nuc2b)-ln(nuc2a)+lnpa-lneab-lnpb); 
lnc2c=lnc2b-mucb*(ln(nuc2b)-ln(nuc2c)+lnpc+lnebc-lnpb); 
lnc3a=lnc3c-mucc*(ln(nuc3c)-ln(nuc3a)+lnpa-lneac-lnpc); 
lnc3b=lnc3c-mucc*(ln(nuc3c)-ln(nuc3b)+lnpb-lnebc-lnpc); 
lnc1=muca/(muca-1)*ln(nuc1a*exp((muca-1)/muca*lnc1a)+nuc1b*exp((muca-1)/muca*lnc1b)+nuc1c*exp((muca-1)/muca*lnc1c)); 
lnc2=mucb/(mucb-1)*ln(nuc2a*exp((mucb-1)/mucb*lnc2a)+nuc2b*exp((mucb-1)/mucb*lnc2b)+nuc2c*exp((mucb-1)/mucb*lnc2c)); 
lnc3=mucc/(mucc-1)*ln(nuc3a*exp((mucc-1)/mucc*lnc3a)+nuc1c*exp((mucc-1)/mucc*lnc3b)+nuc3c*exp((mucc-1)/mucc*lnc3c)); 
c1=exp(lnc1); 
c2=exp(lnc2); 
c3=exp(lnc3); 
lnla1=ln(nuc1a)+ln(ba1)+(lnc1-lnc1a)/muca-lnpa-sa1*lnc1; 
lnla2=ln(nuc2b)+ln(ba2)+(lnc1-lnc2b)/muca-lnpb-sa2*lnc2; 
lnla3=ln(nuc3c)+ln(ba3)+(lnc1-lnc3c)/muca-lnpc-sa3*lnc3; 
la1=exp(lnla1); 
la2=exp(lnla2); 
la3=exp(lnla3); 
mu1=(1-ba1)/ba1*la1; 
mu2=(1-ba2)/ba2*la2; 
mu3=(1-ba3)/ba3*la3; 
lnmu1=ln(mu1); 
lnmu2=ln(mu2); 
lnmu3=ln(mu3); 
q1=la1*exp(lnpa); 
q2=la2*exp(lnpb); 
q3=la3*exp(lnpc); 
lnq1=ln(q1); 
lnq2=ln(q2); 
lnq3=ln(q3); 
lnka=-1/xi1*ln(tan1/pa*(1+lala)/la1*(1+lapa)^((1+xi1)/(1-aaa))*((1/ba1-1+daa)/aaa)^((xi1+aaa)/(1-aaa))/(1-aaa)); 
lnkb=-1/xi2*ln(tan2/pb*(1+lalb)/la2*(1+lapb)^((1+xi2)/(1-aab))*((1/ba2-1+dab)/aab)^((xi2+aab)/(1-aab))/(1-aab)); 
lnkc=-1/xi3*ln(tan3/pc*(1+lalc)/la3*(1+lapc)^((1+xi3)/(1-aac))*((1/ba3-1+dac)/aac)^((xi3+aac)/(1-aac))/(1-aac)); 
ka=exp(lnka); 
kb=exp(lnkb); 
kc=exp(lnkc); 
lnia=ln(daa)+lnka; 
lnib=ln(dab)+lnkb; 
lnic=ln(dac)+lnkc; 
lnla=lnka+ln(1+lapa)/(1-aaa)+ln((1/ba1-1+daa)/aaa)/(1-aaa); 
lnlb=lnkb+ln(1+lapb)/(1-aab)+ln((1/ba2-1+dab)/aab)/(1-aab); 
lnlc=lnkc+ln(1+lapc)/(1-aac)+ln((1/ba3-1+dac)/aac)/(1-aac); 
la=exp(lnla); 
lb=exp(lnlb); 
lc=exp(lnlc); 
lnwa=ln((1-aaa)/aaa*ra*pa*ka/la); 
lnwb=ln((1-aab)/aab*rb*pb*kb/lb); 
lnwc=ln((1-aac)/aac*rc*pc*kc/lc); 
wa=exp(lnwa); 
wb=exp(lnwb); 
wc=exp(lnwc); 
lnwsa=lnwa; 
lnwsb=lnwb; 
lnwsc=lnwc; 
wsa=wa; 
wsb=wb; 
wsc=wc;                    
lnya=lnAa+aaa*lnka+(1-aaa)*lnla-ln(dpa);  
lnyb=lnAb+aab*lnkb+(1-aab)*lnlb-ln(dpb);  
lnyc=lnAc+aac*lnkc+(1-aac)*lnlc-ln(dpc);  
ya=exp(lnya); 
yb=exp(lnyb); 
yc=exp(lnyc); 
pia=exp(lnpa+lnya)-ra*exp(lnpa+lnka)-exp(lnwa+lnla); 
pib=exp(lnpb+lnyb)-rb*exp(lnpb+lnkb)-exp(lnwb+lnlb);  
pic=exp(lnpc+lnyc)-rc*exp(lnpc+lnkc)-exp(lnwc+lnlc);  
lnpia=ln(pia); 
lnpib=ln(pib); 
lnpic=ln(pic); 
lnifs1a=(1+lapa)/lapa*lnpa+lnya-ln(1-xipa*ba1); 
lnifs1b=(1+lapb)/lapb*lnpb+lnyb-ln(1-xipb*ba2); 
lnifs1c=(1+lapc)/lapc*lnpc+lnyc-ln(1-xipc*ba3); 
ifs1a=exp(lnifs1a); 
ifs1b=exp(lnifs1b); 
ifs1c=exp(lnifs1c); 
lnifs2a=lnpa/lapa+lnya-ln(1-xipa*ba1); 
lnifs2b=lnpb/lapb+lnyb-ln(1-xipb*ba2); 
lnifs2c=lnpc/lapc+lnyc-ln(1-xipc*ba3); 
ifs2a=exp(lnifs2a); 
ifs2b=exp(lnifs2b); 
ifs2c=exp(lnifs2c); 
lnifs3a=ln(tan1*(1+lala)/lala)+((1+lala)/lala*lnwa+lnla)*(1+xi1)-ln(1-xiwa*ba1); 
lnifs3b=ln(tan2*(1+lalb)/lalb)+((1+lalb)/lalb*lnwb+lnlb)*(1+xi2)-ln(1-xiwb*ba2); 
lnifs3c=ln(tan3*(1+lalc)/lalc)+((1+lalc)/lalc*lnwc+lnlc)*(1+xi3)-ln(1-xiwc*ba3); 
ifs3a=exp(lnifs3a); 
ifs3b=exp(lnifs3b); 
ifs3c=exp(lnifs3c); 
ifs4a=la1/lala*exp((1+lala)/lala*lnwa+lnla)/(1-xiwa*ba1);   
ifs4b=la2/lalb*exp((1+lalb)/lalb*lnwb+lnlb)/(1-xiwb*ba2);  
ifs4c=la3/lalc*exp((1+lalc)/lalc*lnwc+lnlc)/(1-xiwc*ba3);  
lnifs4a=ln(ifs4a); 
lnifs4b=ln(ifs4b); 
lnifs4c=ln(ifs4c); 
lnn1=lnla; 
lnn2=lnlb; 
lnn3=lnlc; 
m1=mass;   
m2=mbss; 
m3=mcss; 
lnm1=ln(m1); 
lnm2=ln(m2); 
lnm3=ln(m3); 
s1a=exp(-exp(lnlncut1sa)-exp(lnlncut2sa));        % Shares, die Haushalt 1 am Kapitalbestand von Land A hält, d. h. Gewinnberechtigung bzgl. Pia
s1b=exp(-exp(lnlncut1sb)-exp(lnlncut2sb)); 
s1c=exp(-exp(lnlncut1sc)-exp(lnlncut2sc)); 
s3a=1-exp(-exp(lnlncut1sa)); 
s3b=1-exp(-exp(lnlncut1sb)); 
s3c=1-exp(-exp(lnlncut1sc)); 
s2a=1-s1a-s3a; 
s2b=1-s1b-s3b; 
s2c=1-s1c-s3c;   
spa=exp(lnspa); 
spb=exp(lnspb); 
spc=exp(lnspc); 
x1b=exp(lnx1b); 
x1c=exp(lnx1c); 
x2a=exp(lnx2a); 
x2c=exp(lnx2c); 
x3a=exp(lnx3a); 
x3b=exp(lnx3b); 



i=1;

% eqa(i)=ln(nuc1b)+ln(ba1)+(lnc1-lnc1b)/muca-lnpb-lneab-sa1*lnc1-lnla1;; i=i+1;
% eqa(i)=ln(nuc1c)+ln(ba1)+(lnc1-lnc1c)/muca-lnpc-lneac-sa1*lnc1-lnla1;; i=i+1;
% eqa(i)=ln(nuc2a)+ln(ba2)+(lnc2-lnc2a)/mucb-lnpa+lneab-sa2*lnc2-lnla2;; i=i+1;
% eqa(i)=ln(nuc2c)+ln(ba2)+(lnc2-lnc2c)/mucb-lnpc-lnebc-sa2*lnc2-lnla2;; i=i+1;
% eqa(i)=ln(nuc3a)+ln(ba3)+(lnc3-lnc3a)/mucc-lnpa+lneac-sa3*lnc3-lnla3;; i=i+1;
% eqa(i)=ln(nuc3b)+ln(ba3)+(lnc3-lnc3b)/mucc-lnpb+lnebc-sa3*lnc3-lnla3;  i=i+1;
eqa(i)=exp(lnwb+lnn2)+rb*exp(lnpb+lnkb)+s2a*pia/eab+s2b*pib    +s2c*pic*ebc+b2b+b2a/eab+b2c*ebc+m2+x1b/eab+x3b*ebc-exp(lnpa+lnc2a)/eab-exp(lnpb+lnc2b)    -exp(lnpc+lnc2c)*ebc-exp(lnpb+lnib)-b2b/exp(lnRb)-b2a/exp(lnRa)/eab-b2c/exp(lnRc)*ebc-m2-exp(lnpb+lntb)-x2a-x2c;  i=i+1;
eqa(i)=exp(lnwc+lnn3)+rc*exp(lnpc+lnkc)+s3a*pia/eac+s3b*pib/ebc+s3c*pic    +b3c+b3a/eac+b3b/ebc+m3+x1c/eac+x2c/ebc-exp(lnpa+lnc3a)/eac-exp(lnpb+lnc3b)/ebc-exp(lnpc+lnc3c)    -exp(lnpc+lnic)-b3c/exp(lnRc)-b3a/exp(lnRa)/eac-b3b/exp(lnRb)/ebc-m3-exp(lnpc+lntc)-x3a-x3b;  i=i+1;
eqa(i)=exp(lnpa+lnc1a)    +eab*exp(lnpb+lnc1b)    +eac*exp(lnpc+lnc1c)-m1;  i=i+1;
eqa(i)=exp(lnpa+lnc2a)/eab+    exp(lnpb+lnc2b)    +ebc*exp(lnpc+lnc2c)-m2;  i=i+1;
eqa(i)=exp(lnpa+lnc3a)/eac+    exp(lnpb+lnc3b)/ebc+    exp(lnpc+lnc3c)-m3;  i=i+1;
eqa(i)=(la1/exp(lnRa)    -ba1    *la1)*b1a-tab1*eta1a/exp(lnpa)*b1a^eta1a*(eab*b1b)^eta1b*(eac*b1c)^eta1c ;  i=i+1;   % Ableitung nach b1a
eqa(i)=(la1/exp(lnRb)*eab-ba1*eab*la1)*b1b-tab1*eta1b/exp(lnpa)*b1a^eta1a*(eab*b1b)^eta1b*(eac*b1c)^eta1c ;  i=i+1;    % Ableitung nach b1b
eqa(i)=(la1/exp(lnRc)*eac-ba1*eac*la1)*b1c-tab1*eta1c/exp(lnpa)*b1a^eta1a*(eab*b1b)^eta1b*(eac*b1c)^eta1c ;  i=i+1;    % Ableitung nach b1c
eqa(i)=(la2/exp(lnRa)/eab-ba2/eab*la2)*b2a-tab2*eta2a/exp(lnpb)*(b2a/eab)^eta2a*b2b^eta2b*(ebc*b2c)^eta2c ;  i=i+1;    % Ableitung nach b2a
eqa(i)=(la2/exp(lnRb)    -ba2    *la2)*b2b-tab2*eta2b/exp(lnpb)*(b2a/eab)^eta2a*b2b^eta2b*(ebc*b2c)^eta2c ;  i=i+1;    % Ableitung nach b2b
eqa(i)=(la2/exp(lnRc)*ebc-ba2*eac*la2)*b2c-tab2*eta2c/exp(lnpb)*(b2a/eab)^eta2a*b2b^eta2b*(ebc*b2c)^eta2c ;  i=i+1;    % Ableitung nach b2c
eqa(i)=(la3/exp(lnRa)/eac-ba3/eac*la3)*b3a-tab3*eta3a/exp(lnpc)*(b3a/eac)^eta3a*(b3b/ebc)^eta3b*b3c^eta3c ;  i=i+1;    % Ableitung nach b3a
eqa(i)=(la3/exp(lnRb)/ebc-ba3/ebc*la3)*b3b-tab3*eta3b/exp(lnpc)*(b3a/eac)^eta3a*(b3b/ebc)^eta3b*b3c^eta3c ;  i=i+1;    % Ableitung nach b3b
eqa(i)=(la3/exp(lnRc)    -ba3    *la3)*b3c-tab3*eta3c/exp(lnpc)*(b3a/eac)^eta3a*(b3b/ebc)^eta3b*b3c^eta3c ;  i=i+1;    % Ableitung nach b3c
eqa(i)=ln(tax1b)+chi1b*(1-sax1b)*(lnpa-lnpb-lneab)-sax1b*lnx1b-lnla1;  i=i+1;
eqa(i)=ln(tax1c)+chi1c*(1-sax1c)*(lnpa-lnpc-lneac)-sax1c*lnx1c-lnla1;  i=i+1;
eqa(i)=ln(tax2a)+chi2a*(1-sax2a)*(lnpb-lnpa+lneab)-sax2a*lnx2a-lnla2;  i=i+1;
eqa(i)=ln(tax2c)+chi2c*(1-sax2c)*(lnpb-lnpc-lnebc)-sax2c*lnx2c-lnla2;  i=i+1;
eqa(i)=ln(tax3a)+chi3a*(1-sax3a)*(lnpc-lnpa+lneac)-sax3a*lnx3a-lnla3;  i=i+1;
eqa(i)=ln(tax3b)+chi3b*(1-sax3b)*(lnpc-lnpb+lnebc)-sax3b*lnx3b-lnla3;  i=i+1;
eqa(i)=la1*spa-ba1*la1*(spa+pia)-ka1a/s1a*tas1*(s1a*pia/pa    )^ka1a*(eab*s1b*pib/pa)^ka1b*(eac*s1c*pic/pa)^ka1c;  i=i+1;
eqa(i)=la1*spb-ba1*la1*(spb+pib)-ka1b/s1b*tas1*(s1a*pia/pa    )^ka1a*(eab*s1b*pib/pa)^ka1b*(eac*s1c*pic/pa)^ka1c;  i=i+1;
eqa(i)=la1*spc-ba1*la1*(spc+pic)-ka1c/s1c*tas1*(s1a*pia/pa    )^ka1a*(eab*s1b*pib/pa)^ka1b*(eac*s1c*pic/pa)^ka1c;  i=i+1;
eqa(i)=la2*spa-ba2*la2*(spa+pia)-ka2a/s2a*tas2*(s2a*pia/pb/eab)^ka2a*(    s2b*pib/pb)^ka2b*(ebc*s2c*pic/pb)^ka2c;  i=i+1;
eqa(i)=la2*spb-ba2*la2*(spb+pib)-ka2b/s2b*tas2*(s2a*pia/pb/eab)^ka2a*(    s2b*pib/pb)^ka2b*(ebc*s2c*pic/pb)^ka2c;  i=i+1;
eqa(i)=la2*spc-ba2*la2*(spc+pic)-ka2c/s2c*tas2*(s2a*pia/pb/eab)^ka2a*(    s2b*pib/pb)^ka2b*(ebc*s2c*pic/pb)^ka2c;  i=i+1;
eqa(i)=la3*spa-ba3*la3*(spa+pia)-ka3a/s3a*tas3*(s3a*pia/pc/eac)^ka3a*(s3b*pib/pc/ebc)^ka3b*(    s3c*pic/pc)^ka3c;  i=i+1;
eqa(i)=la3*spb-ba3*la3*(spb+pib)-ka3b/s3b*tas3*(s3a*pia/pc/eac)^ka3a*(s3b*pib/pc/ebc)^ka3b*(    s3c*pic/pc)^ka3c;  i=i+1;
eqa(i)=la3*spc-ba3*la3*(spc+pic)-ka3c/s3c*tas3*(s3a*pia/pc/eac)^ka3a*(s3b*pib/pc/ebc)^ka3b*(    s3c*pic/pc)^ka3c;  i=i+1;
eqa(i)=b1a+b2a+b3a+bca-(b1a+b2a+b3a+bca)/exp(lnRa)-exp(lnpa+lnta)+exp(lnpa+lnga); i=i+1;
eqa(i)=b1b+b2b+b3b+bcb-(b1b+b2b+b3b+bcb)/exp(lnRb)-exp(lnpb+lntb)+exp(lnpb+lngb); i=i+1;
eqa(i)=b1c+b2c+b3c+bcc-(b1c+b2c+b3c+bcc)/exp(lnRc)-exp(lnpc+lntc)+exp(lnpc+lngc); i=i+1;
eqa(i)=-exp(lnya)+exp(lnc1a)+exp(lnc2a)+exp(lnc3a)+exp(lnia)+exp(lnga); i=i+1;
eqa(i)=-exp(lnyb)+exp(lnc1b)+exp(lnc2b)+exp(lnc3b)+exp(lnib)+exp(lngb); i=i+1;
eqa(i)=-exp(lnyc)+exp(lnc1c)+exp(lnc2c)+exp(lnc3c)+exp(lnic)+exp(lngc); i=i+1;

vars=[        % vars enthält alle auxiliary Variablen, die anderen sind auskommentiert. Reihenfolge kommt aus der *.mod-Datei. 
% lneab         % Wechselkurs Anzahl Einheiten A pro Einheit B
% lnebc
% lnRa          % Nominalzinsen
% lnRb           
% lnRc
% lnpa 
% lnpb
% lnpc
% lnc1a         % Konsum von Haushalt 1 des in A produzierten Gutes
% lnc2b
% lnc3c
% b1a                         % Bondnachfragen nach Bonds des eigenen Landes
% b2b
% b3c
% b2a                         % Bondnachfragen nach Bonds anderer Länder
% b2c
% b1b
% b1c
% b3a
% b3b
% lnlncut1sa    % cut1 und cut2 sind Zahlen zwischen 0 und 1 in der Form cut=exp(-exp(lnlncut)). 
% lnlncut2sa    % Daraus definieren wir uns drei zu Eins addierbare shares als s1=cut2*cut1, s1+s2=cut1, s3=1-s1-s2
% lnlncut1sb    % Damit sind die shares immer positiv und immer Eins in der Summe.
% lnlncut2sb    % Die explizite Formel der shares lautet: s1=cut1*cut2; s2=cut1*(1-cut2); s3=1-cut1; 
% lnlncut1sc    % sa bezeichnet die shares für die Gewinne von a, etc.  
% lnlncut2sc    % Die Zahlen 1 und 2 haben nichts mit den Haushalten zu tun sondern erlauben die Berechnung von zwei Schnittpunkten im Intervall (0,1) 
% lnx1b          % Transfers von Haushalt 1 in Land B
% lnx1c
% lnx2a
% lnx2c
% lnx3a
% lnx3b
% lnspa          % share price for profits of firms in country a
% lnspb
% lnspc         % Diese ersten Variablen (bis hier) werden in fsolve gefunden.
lnc1b         % Konsum der Güter anderer Länder
lnc1c
lnc2a
lnc2c
lnc3a
lnc3b
lnwa           % Nominallöhne
lnwb 
lnwc
lnla           % Arbeitsnachfrage von Firmen in a
lnlb
lnlc
lnn1           % Arbeitsangebot Haushalt 1
lnn2
lnn3
ln_ra          % Bruttorealzins
ln_rb
ln_rc
lnka           % Kapital
lnkb 
lnkc
lnmca          % Marginal cost
lnmcb
lnmcc
lndpa          % price dispersion
lndpb
lndpc
lninfa         % Inflation
lninfb
lninfc
lnpsa          % Optimaler Preis in A geg. die Preisrigidität                                                                          
lnpsb 
lnpsc
lnifs1a 
lnifs2a 
lnifs3a 
lnifs4a 
lnifs1b 
lnifs2b 
lnifs3b 
lnifs4b 
lnifs1c
lnifs2c
lnifs3c
lnifs4c
lnwsa                       % Optimaler Lohn in A geg. die Lohnrigidität
lnwsb 
lnwsc
lnc1                        % Aggregierter Konsum
lnc2 
lnc3                        % Die länderspezifischen Konsumkomponenten stehen als Variablen von fsolve ganz oben 
lnya                        % Produktion in Land A
lnyb
lnyc
lnia                        % Investitionsnachfrage in Land A 
lnib 
lnic
lnm1                        % Nominale Geldnachfragen der Haushalte
lnm2
lnm3
lnla1                       % Lagrange-Multiplikatoren Budgetrestriktion
lnla2
lnla3
lnmu1                       % Lagrange-Multiplikatoren Cash-in-advance constraint
lnmu2
lnmu3
lnq1                        % Lagrange-Multiplikatoren Kapitalakkumulationsgleichung
lnq2 
lnq3
lnpia                       % Nominale Gewinne
lnpib
lnpic
lnta                        % Reale Steuern
lntb
lntc
lnga                        % reale Staatsausgaben
lngb 
lngc
lneac
eab          % Ab hier die Niveaus
eac
ebc
pa
pb
pc
dpa                         % Price dispersion, nur in Approximation zweiter Ordnung wesentlich
dpb
dpc
ra                          % Bruttorealzins
rb
rc
infa                        % Inflationsraten
infb
infc
ifs1a                       % infinite sums for Calvo pricing 
ifs1b
ifs1c
ifs2a
ifs2b
ifs2c
ifs3a                       % infinite sums for Calvo wage setting
ifs3b                      
ifs3c
ifs4a
ifs4b
ifs4c
m1                          % Geldnachfragen
m2
m3
la1
la2
la3
mu1
mu2
mu3
q1
q2
q3
pia
pib
pic
bca                         % Bondnachfrage der Zentralbank von A
bcb
bcc
ta
tb
tc
ga
gb
gc
ma                          % Geldangebot in A
mb
mc
s1a                         % Profit shares
s1b
s1c
s2a
s2b
s2c  
s3a
s3b
s3c
x1b                         % Nominal Remittances
x1c
x2a
x2c
x3a
x3b
spa                         % share price for profits of firms in country a
spb
spc
];

save vars;
end


