From 82c4bc920ba4f65766fc293fbd23a73c2fdc0c7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Charybdis=29?= <stepan@adjemian.eu> Date: Mon, 6 Jan 2020 18:28:58 +0100 Subject: [PATCH] Fixed bug (incorrect results) in backcast method. --- src/@dseries/backcast.m | 2 +- src/@dseries/backcast_.m | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/@dseries/backcast.m b/src/@dseries/backcast.m index 8dff980..0581411 100644 --- a/src/@dseries/backcast.m +++ b/src/@dseries/backcast.m @@ -13,7 +13,7 @@ function q = backcast(o, p, diff) % --*-- Unitary tests --*-- % The two dseries objects must have common frequency and the same number of variables. Also the % two samples must overlap. -% Copyright (C) 2019 Dynare Team +% Copyright © 2019-2020 Dynare Team % % This file is part of Dynare. % diff --git a/src/@dseries/backcast_.m b/src/@dseries/backcast_.m index 40bc368..b130660 100644 --- a/src/@dseries/backcast_.m +++ b/src/@dseries/backcast_.m @@ -1,6 +1,6 @@ function o = backcast_(o, p, diff) % --*-- Unitary tests --*-- -% Copyright (C) 2019 Dynare Team +% Copyright © 2019-2020 Dynare Team % % This file is part of Dynare. % @@ -43,11 +43,11 @@ idp = find(o.dates(1)==p.dates); if diff FirstDifference = p.data(2:idp,:)-p.data(1:idp-1,:); CumulatedDifferences = rcumsum(FirstDifference); - o.data = [bsxfun(@minus, o.data(1:end), CumulatedDifferences); o.data]; + o.data = [bsxfun(@minus, o.data(1), CumulatedDifferences); o.data]; else GrowthFactor = p.data(2:idp,:)./p.data(1:idp-1,:); CumulatedGrowthFactors = rcumprod(GrowthFactor); - o.data = [bsxfun(@rdivide, o.data(1:end), CumulatedGrowthFactors); o.data]; + o.data = [bsxfun(@rdivide, o.data(1), CumulatedGrowthFactors); o.data]; end o.dates = firstdate(p):lastdate(o); -- GitLab