From cada0494e7b5cf8553922eded59fd2b506caa5c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Charybdis=29?= <stephane.adjemian@univ-lemans.fr> Date: Sun, 8 Jun 2014 16:00:24 +0200 Subject: [PATCH] Fixes issue #652. --- matlab/@dseries/mpower.m | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/matlab/@dseries/mpower.m b/matlab/@dseries/mpower.m index 89b0b10493..d144f3da66 100644 --- a/matlab/@dseries/mpower.m +++ b/matlab/@dseries/mpower.m @@ -40,7 +40,25 @@ function A = mpower(B,C) % --*-- 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(B) && isnumeric(C) && isreal(C) && isscalar(C) +if isnumeric(B) && isvector(B) && length(B)>1 + if ~isdseries(C) + error('dseries::mpower: Second input argument must be a dseries object!') + end + A = C; + A.data = bsxfun(@power,C.data,B); + return; +end + +if isnumeric(C) && isvector(C) && length(C)>1 + if ~isdseries(B) + error('dseries::mpower: First input argument must be a dseries object!') + end + A = B; + A.data = bsxfun(@power,B.data,C); + return +end + +if isdseries(B) && isnumeric(C) && isreal(C) && isscalar(C) A = dseries(); A.freq = B.freq; A.init = B.init; -- GitLab