gui: small improvements
parent
940b338564
commit
99060b0f80
|
@ -30,14 +30,8 @@ function read()
|
||||||
|
|
||||||
global M_ options_ oo_ ys0_ ex0_
|
global M_ options_ oo_ ys0_ ex0_
|
||||||
|
|
||||||
%remove this instruction when proper path is found
|
|
||||||
addpath jsonlab-1.5
|
|
||||||
|
|
||||||
disp('di_perfect_foresight performing Matlab tasks')
|
|
||||||
|
|
||||||
%loading JSON
|
%loading JSON
|
||||||
jm = loadjson('perforin.JSON','SimplifyCell',0);
|
jm = loadjson('perforin.JSON','SimplifyCell',0);
|
||||||
runflag=1;
|
|
||||||
data2json=struct();
|
data2json=struct();
|
||||||
|
|
||||||
%We test if jsonload loads string or char
|
%We test if jsonload loads string or char
|
||||||
|
@ -46,9 +40,7 @@ data2json=struct();
|
||||||
% INITVAL instructions
|
% INITVAL instructions
|
||||||
%we initialize exogenous shocks to zero and compute initial ss
|
%we initialize exogenous shocks to zero and compute initial ss
|
||||||
options_.initval_file = 0;
|
options_.initval_file = 0;
|
||||||
for nexo = 1:jm.exonum
|
oo_.exo_steady_state(1:jm.exonum) = 0;
|
||||||
oo_.exo_steady_state( nexo ) = 0;
|
|
||||||
end
|
|
||||||
if M_.exo_nbr > 0
|
if M_.exo_nbr > 0
|
||||||
oo_.exo_simul = ones(M_.maximum_lag,1)*oo_.exo_steady_state';
|
oo_.exo_simul = ones(M_.maximum_lag,1)*oo_.exo_steady_state';
|
||||||
end
|
end
|
||||||
|
@ -64,9 +56,7 @@ data2json.steady_state1=oo_.steady_state;
|
||||||
ys0_= oo_.steady_state;
|
ys0_= oo_.steady_state;
|
||||||
ex0_ = oo_.exo_steady_state;
|
ex0_ = oo_.exo_steady_state;
|
||||||
if jm.permanentshockexist==0
|
if jm.permanentshockexist==0
|
||||||
for nexo = 1:jm.exonum
|
oo_.exo_steady_state(1:jm.exonum) = 0;
|
||||||
oo_.exo_steady_state( nexo ) = 0;
|
|
||||||
end
|
|
||||||
else
|
else
|
||||||
for exoiter = 1:length(jm.permanentshocksdescription)
|
for exoiter = 1:length(jm.permanentshocksdescription)
|
||||||
currentshock=jm.permanentshocksdescription(exoiter);
|
currentshock=jm.permanentshocksdescription(exoiter);
|
||||||
|
@ -99,7 +89,6 @@ if ((jm.nonanticipatedshockexist==1) || (jm.delayexist==1))
|
||||||
nonanticip=jm.nonanticipmatrix;
|
nonanticip=jm.nonanticipmatrix;
|
||||||
rowindex=1;
|
rowindex=1;
|
||||||
firstsimul=0;
|
firstsimul=0;
|
||||||
permanentnonanticip=0;
|
|
||||||
|
|
||||||
while nonanticip{rowindex}{1}>0
|
while nonanticip{rowindex}{1}>0
|
||||||
|
|
||||||
|
@ -155,7 +144,6 @@ if ((jm.nonanticipatedshockexist==1) || (jm.delayexist==1))
|
||||||
steady;
|
steady;
|
||||||
savedpermanentSS=oo_.steady_state;
|
savedpermanentSS=oo_.steady_state;
|
||||||
data2json.steady_state2=oo_.steady_state;
|
data2json.steady_state2=oo_.steady_state;
|
||||||
permanentnonanticip=1;
|
|
||||||
|
|
||||||
if nonanticip{rowindex}{4}==0
|
if nonanticip{rowindex}{4}==0
|
||||||
%this is a current permanent nonanticipated shock
|
%this is a current permanent nonanticipated shock
|
||||||
|
@ -183,18 +171,17 @@ if ((jm.nonanticipatedshockexist==1) || (jm.delayexist==1))
|
||||||
%oo_.exo_simul=ooexosaved((currentperiod+1):end,:);
|
%oo_.exo_simul=ooexosaved((currentperiod+1):end,:);
|
||||||
oo_.exo_simul=[zeros(1,colexo);ooexosaved((currentperiod+1):end,:)];
|
oo_.exo_simul=[zeros(1,colexo);ooexosaved((currentperiod+1):end,:)];
|
||||||
|
|
||||||
[ooexolength,dummy]=size(oo_.exo_simul);
|
|
||||||
%we fill oo_.exo_simul until it has the correct size depending on of there are permanent shocks or not
|
%we fill oo_.exo_simul until it has the correct size depending on of there are permanent shocks or not
|
||||||
if jm.permanentshockexist==1
|
if jm.permanentshockexist==1
|
||||||
%if there is a permanent shock we fill with last value of ooexosaved
|
%if there is a permanent shock we fill with last value of ooexosaved
|
||||||
%oo_.exo_simul((length(ooexosaved((currentperiod+1):end,:))+1):rowexo,:)=ones(rowexo-(length(ooexosaved((currentperiod+1):end,:))+1)+1,1)*ooexosaved(end,:);
|
%oo_.exo_simul((length(ooexosaved((currentperiod+1):end,:))+1):rowexo,:)=ones(rowexo-(length(ooexosaved((currentperiod+1):end,:))+1)+1,1)*ooexosaved(end,:);
|
||||||
%oo_.exo_simul((ooexolength+1):rowexo,:)=ones(rowexo-ooexolength,1)*ooexosaved(end,:);
|
%oo_.exo_simul((ooexolength+1):rowexo,:)=ones(rowexo-ooexolength,1)*ooexosaved(end,:);
|
||||||
oo_.exo_simul=[oo_.exo_simul;ones(rowexo-ooexolength,1)*ooexosaved(end,:)];
|
oo_.exo_simul=[oo_.exo_simul;ones(rowexo-size(oo_.exo_simul, 1),1)*ooexosaved(end,:)];
|
||||||
else
|
else
|
||||||
%otherwise we fill with zeros
|
%otherwise we fill with zeros
|
||||||
%oo_.exo_simul((length(ooexosaved((currentperiod+1):end,:))+1):rowexo,:)=zeros(rowexo-(length(ooexosaved((currentperiod+1):end,:))+1)+1,colexo);
|
%oo_.exo_simul((length(ooexosaved((currentperiod+1):end,:))+1):rowexo,:)=zeros(rowexo-(length(ooexosaved((currentperiod+1):end,:))+1)+1,colexo);
|
||||||
%oo_.exo_simul((ooexolength+1):rowexo,:)=zeros(rowexo-ooexolength,colexo);
|
%oo_.exo_simul((ooexolength+1):rowexo,:)=zeros(rowexo-ooexolength,colexo);
|
||||||
oo_.exo_simul=[oo_.exo_simul;zeros(rowexo-ooexolength,colexo)];
|
oo_.exo_simul=[oo_.exo_simul;zeros(rowexo-size(oo_.exo_simul, 1),colexo)];
|
||||||
end
|
end
|
||||||
|
|
||||||
if nonanticip{rowindex+1}{1}~=currentperiod
|
if nonanticip{rowindex+1}{1}~=currentperiod
|
||||||
|
@ -217,7 +204,7 @@ if ((jm.nonanticipatedshockexist==1) || (jm.delayexist==1))
|
||||||
|
|
||||||
if nonanticip{rowindex+1}{1}>0
|
if nonanticip{rowindex+1}{1}>0
|
||||||
%we collect all the path from ooendo period 1 to just before the next shock...
|
%we collect all the path from ooendo period 1 to just before the next shock...
|
||||||
yy=[yy,oo_.endo_simul(:,2:(2+(nonanticip{rowindex+1}{1}-currentperiod-1)))]
|
yy=[yy,oo_.endo_simul(:,2:(2+(nonanticip{rowindex+1}{1}-currentperiod-1)))];
|
||||||
else
|
else
|
||||||
%... or if there are no more shocks we collect the whole path
|
%... or if there are no more shocks we collect the whole path
|
||||||
yy=[yy,oo_.endo_simul(:,2:end)];
|
yy=[yy,oo_.endo_simul(:,2:end)];
|
||||||
|
|
Loading…
Reference in New Issue