diff --git a/src/@dseries/merge.m b/src/@dseries/merge.m index aab032ee6900dec5d140097281f867b1ec9ef29a..6827b7bc0357a3ff3996384b4d3f1c28dae697ec 100644 --- a/src/@dseries/merge.m +++ b/src/@dseries/merge.m @@ -32,13 +32,24 @@ function q = merge(o, p, rewritewithnans) % --*-- Unitary tests --*-- % You should have received a copy of the GNU General Public License % along with Dynare. If not, see <http://www.gnu.org/licenses/>. -if ~isdseries(p) +if ~isdseries(p) || ~isdseries(o) error('dseries::merge: Both inputs must be dseries objects!') end +if isempty(o) && ~isempty(p) + q = p; + return +elseif ~isempty(o) && isempty(p) + q = o; + return +elseif isempty(o) && isempty(p) + q = p; + return +end + if ~isequal(frequency(o), frequency(p)) if isempty(inputname(1)) - error(['dseries::merge: Cannot merge dseries objects (frequencies are different)!']) + error('dseries::merge: Cannot merge dseries objects (frequencies are different)!') else error(['dseries::merge: Cannot merge ' inputname(1) ' and ' inputname(2) ' (frequencies are different)!']) end