From d8ce2e051d2428da5fea09d42356d5ec8feb580c Mon Sep 17 00:00:00 2001 From: Houtan Bastani Date: Mon, 24 Apr 2017 14:33:29 +0200 Subject: [PATCH] bug: var_expectation: account for cases when a variable is not present in a period in M_.lead_lag_incidence --- matlab/writeVarExpectationFunction.m | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/matlab/writeVarExpectationFunction.m b/matlab/writeVarExpectationFunction.m index b8e7d8026..a92cd58e2 100644 --- a/matlab/writeVarExpectationFunction.m +++ b/matlab/writeVarExpectationFunction.m @@ -56,9 +56,25 @@ if var_model_order > 2 end yidx = [yidx ; y1idx(:)]; end -fprintf(fid, 'y = y(['); -fprintf(fid, '%d ', yidx); -fprintf(fid, ']);\n'); + +if any(yidx == 0) + fprintf(fid, 'y = ['); + for i = 1:length(yidx) + if i ~= 1 + fprintf(fid, '; '); + end + if yidx(i) == 0 + fprintf(fid, '0'); + else + fprintf(fid, 'y(%d)', yidx(i)); + end + end + fprintf(fid, '];\n'); +else + fprintf(fid, 'y = y(['); + fprintf(fid, '%d ', yidx); + fprintf(fid, ']);\n'); +end lm = length(mu); lc = length(autoregressive_matrices);