From d7042b8e8071c4835f00803a3e8ac86380ed12bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Charybdis=29?= Date: Sat, 27 Apr 2019 18:08:19 +0200 Subject: [PATCH] Fixes for models without parameters or exogenous variables. --- matlab/agregate.m | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/matlab/agregate.m b/matlab/agregate.m index 0df7c27e2..ea64c2340 100644 --- a/matlab/agregate.m +++ b/matlab/agregate.m @@ -27,6 +27,11 @@ warning off MATLAB:subscripting:noSubscriptsSpecified % Get parameters. for i=1:length(varargin) fid = fopen(sprintf('%s/parameters.inc', varargin{i})); + if fid<0 + % No parameters in the cherrypicked (sub)model, go to the + % next cherrypicked model. + continue + end statement = fgetl(fid); if exist('plist', 'var') plist = union(plist, strsplit(statement, {'parameters', ' ', ';'})); @@ -91,6 +96,11 @@ xlist = cell(MAX_NUMBER_OF_ELEMENTS, 2); xnum = 0; for i=1:length(varargin) fid = fopen(sprintf('%s/exogenous.inc', varargin{i})); + if fid<0 + % No exogenous variables in the cherrypicked (sub)model, go to the + % next cherrypicked model. + continue + end cline = fgetl(fid); while ischar(cline) if ~isequal(cline, 'varexo') @@ -111,6 +121,11 @@ xlist = xlist(1:xnum,:); calibration = ''; for i=1:length(varargin) fid = fopen(sprintf('%s/parameter-values.inc', varargin{i})); + if fid<0 + % No calibrations in the cherrypicked (sub)model, go to the + % next cherrypicked model. + continue + end cline = fgetl(fid); while ischar(cline) calibration = sprintf('%s\n%s', calibration, cline);