Merge branch 'master' into fix-mcmc-algorithm

time-shift
Stéphane Adjemian (Scylla) 2013-11-26 16:53:27 +01:00
commit b8c6e4bb01
13 changed files with 44 additions and 35 deletions

View File

@ -2635,17 +2635,19 @@ Use @code{fsolve} (under MATLAB, only available if you have the
Optimization Toolbox; always available under Octave)
@item 1
Use Dynare's own nonlinear equation solver
Use Dynare's own nonlinear equation solver (a Newton-like algorithm with
line-search)
@item 2
Splits the model into recursive blocks and solves each block in turn
using the same solver as value @code{1}
@item 3
Use Chris Sims' solver
@item 4
Similar to value @code{2}, except that it deals differently with
nearly singular Jacobian
Same as value @code{2}, except that it does not try to adapt the
search direction when the Jacobian is nearly singular
@item 5
Newton algorithm with a sparse Gaussian elimination (SPE) (requires

View File

@ -140,7 +140,7 @@ switch nargin
ts.vobs = length(varlist);
ts.nobs = size(data,1);
if isempty(tex)
ts.tex = name2tex(varlist,1);
ts.tex = name2tex(varlist);
else
ts.tex = tex;
end
@ -150,7 +150,7 @@ switch nargin
ts.freq = 1;
ts.init = dates(1,1);
ts.name = default_name(ts.vobs);
ts.tex = name2tex(ts.name,1);
ts.tex = name2tex(ts.name);
end
case {2,3,4}
a = varargin{1};

View File

@ -174,7 +174,7 @@ if withtime
if isnumeric(tmp) && isint(tmp)
tmp = [num2str(tmp) 'Y'];
end
if isdate(tmp)
if ~isdate(tmp)
error('load_csv_file_data:: Formatting error. I can''t read the dates!')
end
init = dates(tmp);

View File

@ -64,7 +64,7 @@ end
x = 1:1:dd.ndat;
xlim([1 dd.ndat]);
xlabels = getDatesCellStringArray(dd);
xlabels = strings(dd);
if ~isempty(o.yrange)
ylim(o.yrange);
@ -81,10 +81,10 @@ if o.showZeroline
end
if ~isempty(o.shade)
x1 = find(strcmpi(o.shade(1).format(), xlabels));
x2 = find(strcmpi(o.shade(o.shade.ndat).format(), xlabels));
x1 = find(strcmpi(date2string(o.shade(1)), xlabels));
x2 = find(strcmpi(date2string(o.shade(end)), xlabels));
assert(~isempty(x1) && ~isempty(x2), ['@graph.createGraph: either ' ...
o.shade(1).format() ' or ' o.shade(o.shade.ndat).format() ' is not in the date ' ...
date2string(o.shade(1)) ' or ' date2string(o.shade(end)) ' is not in the date ' ...
'range of data selected.']);
yrange = get(gca, 'YLim');

View File

@ -64,7 +64,7 @@ assert(isempty(xrange) || isa(xrange, 'dates'));
assert(isfloat(o.zerotol), '@report_series.write: zerotol must be a float');
%%
if isempty(xrange) || xrange == o.data.time
if isempty(xrange) || xrange == o.data.dates
ds = o.data;
else
ds = o.data(xrange);

View File

@ -19,5 +19,5 @@ function dd = getRange(o)
% along with Dynare. If not, see <http://www.gnu.org/licenses/>.
assert(~isempty(o.data) && size(o.data, 2) == 1);
dd = o.data.time;
dd = o.data.dates;
end

View File

@ -97,7 +97,7 @@ end
% Calculate and display annual averages
for i=1:length(yrsForAvgs)
slice = o.data(dynDate([num2str(yrsForAvgs(i)) 'q1']):dynDate([num2str(yrsForAvgs(i)) 'q4']));
slice = o.data(dates([num2str(yrsForAvgs(i)) 'q1']):dates([num2str(yrsForAvgs(i)) 'q4']));
avg = sum(slice.data)/size(slice);
fprintf(fid, '&');
if o.tableShowMarkers

View File

@ -86,8 +86,8 @@ assert(isempty(o.data) || isa(o.data, 'dseries'), ...
'@report_table.report_table: data must be a dseries');
assert(isempty(o.seriesToUse) || iscellstr(o.seriesToUse), ...
'@report_table.report_table: seriesToUse must be a cell array of string(s)');
assert(isempty(o.vlineAfter) || isa(o.vlineAfter, 'dynDate'), ...
'@report_table.report_table: vlineAfter must be a dynDate');
assert(isempty(o.vlineAfter) || isa(o.vlineAfter, 'dates'), ...
'@report_table.report_table: vlineAfter must be a dates');
if o.showVlines
o.vlineAfter = '';
end

View File

@ -19,8 +19,8 @@ function dd = getMaxRange(o)
% along with Dynare. If not, see <http://www.gnu.org/licenses/>.
ne = numSeriesElements(o);
ddmin = dynDate();
ddmax = dynDate();
ddmin = dates();
ddmax = dates();
for i=1:ne
a = getSeriesElements(o, i);
ddt = a.getRange();

View File

@ -68,7 +68,7 @@ for i=1:length(fields)
elseif isobject(val)
if isa(val, 'dates')
fprintf('<dates: %s, ..., %s>', ...
val(1).format, val(end).format);
date2string(val(1)), date2string(val(end)));
elseif isa(val, 'dseries')
if numel(val) == 1
fprintf('<dseries: %s>', val.name{1});

View File

@ -31,7 +31,11 @@ if info
end
end
tex = regexprep(name, '_', '\\_');
if isoctave
tex = regexprep(name, '_', '\_');
else
tex = regexprep(name, '_', '\\_');
end
if info
for i=1:nn

View File

@ -74,6 +74,9 @@ for i=1:nn
fprintf(tid,['try\n']);
for j=b1(i):b2(i)
str = sprintf('%s \n',file{j}(4:end));
if isoctave
str = regexprep(str, '%', '%%');
end
fprintf(tid,str);
end
fprintf(tid,['LOG = NaN;\n']);

View File

@ -17,11 +17,11 @@ function runDynareReport(dc_a, dc_q, db_a, db_q)
% along with Dynare. If not, see <http://www.gnu.org/licenses/>.
larange= dynDate('2007'):dynDate('2014');
arange = dynDate('2012'):dynDate('2014');
trange = dynDate('2012q2'):dynDate('2014q4');
prange = dynDate('2007q1'):dynDate('2013q4');
forecast_date = dynDate('2012q2');
larange= dates('2007a'):dates('2014a');
arange = dates('2012a'):dates('2014a');
trange = dates('2012q2'):dates('2014q4');
prange = dates('2007q1'):dates('2013q4');
forecast_date = dates('2012q2');
srange = forecast_date:prange(end);
shortNames = {'US', 'EU', 'JA', 'EA6', 'LA6', 'RC6'};
@ -40,13 +40,13 @@ rep = rep.addVspace();
% Table 1
rep = rep.addTable('title', 'Real GDP Growth', 'range', larange, ...
'vlineAfter', dynDate('2011'));
'vlineAfter', dates('2011y'));
rep = AnnualTable(rep, db_a, dc_a, 'PCH_GROWTH4_', larange);
rep = rep.addVspace('number', 2);
% Table 2
rep = rep.addTable('title', 'Potential GDP Growth', 'range', larange, ...
'vlineAfter', dynDate('2011'));
'vlineAfter', dates('2011y'));
rep = AnnualTable(rep, db_a, dc_a, 'PCH_GROWTH4_BAR_', larange);
@ -58,13 +58,13 @@ rep = rep.addVspace();
% Table 1
rep = rep.addTable('title', 'Headline CPI Inflation', 'range', larange, ...
'vlineAfter', dynDate('2011'));
'vlineAfter', dates('2011y'));
rep = AnnualTable(rep, db_a, dc_a, 'PCH_PIE4_', larange);
rep = rep.addVspace('number', 2);
% Table 2
rep = rep.addTable('title', 'Core CPI Inflation', 'range', larange, ...
'vlineAfter', dynDate('2011'));
'vlineAfter', dates('2011y'));
rep = AnnualTable(rep, db_a, dc_a, 'PCH_PIEX4_', larange);
@ -76,13 +76,13 @@ rep = rep.addVspace();
% Table 1
rep = rep.addTable('title', 'Gas Inflation', 'range', larange, ...
'vlineAfter', dynDate('2011'));
'vlineAfter', dates('2011y'));
rep = AnnualTable(rep, db_a, dc_a, 'PCH_PIE4_GAS_', larange);
rep = rep.addVspace('number', 2);
% Table 2
rep = rep.addTable('title', 'Food Inflation', 'range', larange, ...
'vlineAfter', dynDate('2011'));
'vlineAfter', dates('2011y'));
rep = AnnualTable(rep, db_a, dc_a, 'PCH_PIE4_CONSFOOD_', larange);
@ -94,13 +94,13 @@ rep = rep.addVspace();
% Table 1
rep = rep.addTable('title', 'Nominal Interest Rate', 'range', larange, ...
'vlineAfter', dynDate('2011'));
'vlineAfter', dates('2011y'));
rep = AnnualTable(rep, db_a, dc_a, 'RS_', larange);
rep = rep.addVspace('number', 2);
% Table 2
rep = rep.addTable('title', 'Output Gap', 'range', larange, ...
'vlineAfter', dynDate('2011'));
'vlineAfter', dates('2011y'));
db_a = db_a.tex_rename('Y_WORLD', 'World');
rep = rep.addSeries('data', db_a{'Y_WORLD'});
delta = db_a{'Y_WORLD'}-dc_a{'Y_WORLD'};
@ -120,7 +120,7 @@ for i=1:length(shortNames)
rep = rep.addPage('title', 'Jan1 vs Jan2', ...
'titleFormat', '\large\bfseries');
rep = rep.addSection();
rep = CountryTablePage(rep, shortNames{i}, longNames{i}, db_q, dc_q, trange, dynDate('2012q2'));
rep = CountryTablePage(rep, shortNames{i}, longNames{i}, db_q, dc_q, trange, dates('2012q2'));
end
%% Residual Reports
@ -129,14 +129,14 @@ for i=1:length(shortNames)
rep = rep.addPage('title', 'Residual Report Jan1 vs Jan2', ...
'titleFormat', '\large\bfseries');
rep = rep.addSection();
rep = ResidTablePage(rep, shortNames{i}, longNames{i}, db_q, dc_q, trange, dynDate('2012q2'));
rep = ResidTablePage(rep, shortNames{i}, longNames{i}, db_q, dc_q, trange, dates('2012q2'));
end
% Commodities
rep = rep.addPage('title', 'Residual Report Jan1 vs Jan2', ...
'titleFormat', '\large\bfseries');
rep = rep.addSection();
rep = CommResidTablePage(rep, db_q, dc_q, trange, dynDate('2012q2'));
rep = CommResidTablePage(rep, db_q, dc_q, trange, dates('2012q2'));
%% Commodities Graphs
%Page 1