Replace eval-command in dynare_estimation.m by direct call to fields

time-shift
Johannes Pfeifer 2014-11-11 11:42:19 +01:00 committed by Michel Juillard
parent 86cac40362
commit cb4fb6aaf1
1 changed files with 22 additions and 31 deletions

View File

@ -157,46 +157,37 @@ if nnobs > 1 && horizon > 0
vname = deblank(var_list(i,:)); vname = deblank(var_list(i,:));
for j=1:nnobs for j=1:nnobs
if mh_replic > 0 if mh_replic > 0
eval(['oo_.RecursiveForecast.Mean.' vname '(j,:) =' ... oo_.RecursiveForecast.Mean.(vname)(j,:) = ...
'oo_recursive_{' int2str(nobs(j)) '}.MeanForecast.Mean.' ... oo_recursive_{nobs(j)}.MeanForecast.Mean.(vname);
vname '(1:end);']); oo_.RecursiveForecast.HPDinf.(vname)(j,:) = ...
eval(['oo_.RecursiveForecast.HPDinf.' vname '(j,:) =' ... oo_recursive_{nobs(j)}.MeanForecast.HPDinf.(vname);
'oo_recursive_{' int2str(nobs(j)) '}.MeanForecast.HPDinf.' ... oo_.RecursiveForecast.HPDsup.(vname)(j,:) = ...
vname '(1:end);']); oo_recursive_{nobs(j)}.MeanForecast.HPDsup.(vname);
eval(['oo_.RecursiveForecast.HPDsup.' vname '(j,:) =' ... oo_.RecursiveForecast.HPDTotalinf.(vname)(j,:) = ...
'oo_recursive_{' int2str(nobs(j)) '}.MeanForecast.HPDsup.' ... oo_recursive_{nobs(j)}.PointForecast.HPDinf.(vname);
vname '(1:end);']); oo_.RecursiveForecast.HPDTotalsup.(vname)(j,:) = ...
eval(['oo_.RecursiveForecast.HPDTotalinf.' vname '(j,:) =' ... oo_recursive_{nobs(j)}.PointForecast.HPDsup.(vname);
'oo_recursive_{' int2str(nobs(j)) '}.PointForecast.HPDinf.' ...
vname '(1:end);']);
eval(['oo_.RecursiveForecast.HPDTotalsup.' vname '(j,:) =' ...
'oo_recursive_{' int2str(nobs(j)) '}.PointForecast.HPDsup.' ...
vname '(1:end);']);
else else
eval(['oo_.RecursiveForecast.Mean.' vname '(j,:) =' ... oo_.RecursiveForecast.Mean.(vname)(j,:) =...
'oo_recursive_{' int2str(nobs(j)) '}.forecast.Mean.' ... oo_recursive_{nobs(j)}.forecast.Mean.(vname);
vname ';']); oo_.RecursiveForecast.HPDinf.(vname)(j,:) =...
eval(['oo_.RecursiveForecast.HPDinf.' vname '(j,:) =' ... oo_recursive_{nobs(j)}.forecast.HPDinf.(vname);
'oo_recursive_{' int2str(nobs(j)) '}.forecast.HPDinf.' ... oo_.RecursiveForecast.HPDsup.(vname)(j,:) =...
vname ';']); oo_recursive_{nobs(j)}.forecast.HPDsup.(vname);
eval(['oo_.RecursiveForecast.HPDsup.' vname '(j,:) =' ...
'oo_recursive_{' int2str(nobs(j)) '}.forecast.HPDsup.' ...
vname ';']);
end end
x = nobs(1)+nobs(j)-nobs(1)+(1:horizon); x = nobs(1)+nobs(j)-nobs(1)+(1:horizon);
y = eval(['oo_.RecursiveForecast.Mean.' vname '(j,:)']); y = oo_.RecursiveForecast.Mean.(vname)(j,:);
y1 = eval(['oo_.RecursiveForecast.HPDinf.' vname '(j,:)']); y1 = oo_.RecursiveForecast.HPDinf.(vname)(j,:);
y2 = eval(['oo_.RecursiveForecast.HPDsup.' vname '(j,:)']); y2 = oo_.RecursiveForecast.HPDsup.(vname)(j,:);
plot(x,y,'-b','linewidth',2) plot(x,y,'-b','linewidth',2)
plot(x,y1,'--g', ... plot(x,y1,'--g', ...
'linewidth',1.5) 'linewidth',1.5)
plot(x,y2,'--g', ... plot(x,y2,'--g', ...
'linewidth',1.5) 'linewidth',1.5)
if mh_replic if mh_replic
y3 = eval(['oo_.RecursiveForecast.HPDTotalinf.' vname '(j,:)']); y3 = oo_.RecursiveForecast.HPDTotalinf.(vname)(j,:);
y4 = eval(['oo_.RecursiveForecast.HPDTotalsup.' vname ... y4 = oo_.RecursiveForecast.HPDTotalsup.(vname)(j,:);
'(j,:)']);
plot(x,y3,'--r', ... plot(x,y3,'--r', ...
'linewidth',1.5) 'linewidth',1.5)
plot(x,y4,'--r','linewidth',1.5) plot(x,y4,'--r','linewidth',1.5)