From b0c27f4d5afb245570325f8117f5fff532fea5c0 Mon Sep 17 00:00:00 2001 From: Johannes Pfeifer <jpfeifer@gmx.de> Date: Wed, 24 Apr 2024 17:01:37 +0200 Subject: [PATCH] :bug: fix crashes due to leading singleton dimensions being ignored by ndim Occurs with e.g. one shock only for heteroskedastic_filter (cherry picked from commit 8b7420c77b0edfcbb710bc1c23befce64b169dfa) --- matlab/kalman/likelihood/kalman_filter.m | 2 +- matlab/kalman/likelihood/kalman_filter_d.m | 2 +- matlab/kalman/likelihood/missing_observations_kalman_filter.m | 2 +- matlab/kalman/likelihood/missing_observations_kalman_filter_d.m | 2 +- matlab/kalman/likelihood/univariate_kalman_filter.m | 2 +- matlab/kalman/likelihood/univariate_kalman_filter_d.m | 2 +- matlab/kalman/missing_DiffuseKalmanSmootherH1_Z.m | 2 +- matlab/kalman/missing_DiffuseKalmanSmootherH3_Z.m | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/matlab/kalman/likelihood/kalman_filter.m b/matlab/kalman/likelihood/kalman_filter.m index 369c086013..acafbff267 100644 --- a/matlab/kalman/likelihood/kalman_filter.m +++ b/matlab/kalman/likelihood/kalman_filter.m @@ -115,7 +115,7 @@ smpl = last-start+1; % Initialize some variables. dF = 1; isqvec = false; -if ndim(Q)>2 +if ndims(Q)>2 Qvec = Q; Q=Q(:,:,1); isqvec = true; diff --git a/matlab/kalman/likelihood/kalman_filter_d.m b/matlab/kalman/likelihood/kalman_filter_d.m index 3ee2749cab..fece96fde0 100644 --- a/matlab/kalman/likelihood/kalman_filter_d.m +++ b/matlab/kalman/likelihood/kalman_filter_d.m @@ -60,7 +60,7 @@ smpl = last-start+1; % Initialize some variables. dF = 1; isqvec = false; -if ndim(Q)>2 +if ndims(Q)>2 Qvec = Q; Q=Q(:,:,1); isqvec = true; diff --git a/matlab/kalman/likelihood/missing_observations_kalman_filter.m b/matlab/kalman/likelihood/missing_observations_kalman_filter.m index 4979a5e2fc..67b3adf614 100644 --- a/matlab/kalman/likelihood/missing_observations_kalman_filter.m +++ b/matlab/kalman/likelihood/missing_observations_kalman_filter.m @@ -78,7 +78,7 @@ smpl = last-start+1; % Initialize some variables. dF = 1; isqvec = false; -if ndim(Q)>2 +if ndims(Q)>2 Qvec = Q; Q=Q(:,:,1); isqvec = true; diff --git a/matlab/kalman/likelihood/missing_observations_kalman_filter_d.m b/matlab/kalman/likelihood/missing_observations_kalman_filter_d.m index c870f73c9c..3c3724b3b7 100644 --- a/matlab/kalman/likelihood/missing_observations_kalman_filter_d.m +++ b/matlab/kalman/likelihood/missing_observations_kalman_filter_d.m @@ -66,7 +66,7 @@ smpl = last-start+1; % Initialize some variables. dF = 1; isqvec = false; -if ndim(Q)>2 +if ndims(Q)>2 Qvec = Q; Q=Q(:,:,1); isqvec = true; diff --git a/matlab/kalman/likelihood/univariate_kalman_filter.m b/matlab/kalman/likelihood/univariate_kalman_filter.m index 43c8603590..06df584225 100644 --- a/matlab/kalman/likelihood/univariate_kalman_filter.m +++ b/matlab/kalman/likelihood/univariate_kalman_filter.m @@ -117,7 +117,7 @@ smpl = last-start+1; % Initialize some variables. isqvec = false; -if ndim(Q)>2 +if ndims(Q)>2 Qvec = Q; Q=Q(:,:,1); isqvec = true; diff --git a/matlab/kalman/likelihood/univariate_kalman_filter_d.m b/matlab/kalman/likelihood/univariate_kalman_filter_d.m index d18b262a0f..f331197037 100644 --- a/matlab/kalman/likelihood/univariate_kalman_filter_d.m +++ b/matlab/kalman/likelihood/univariate_kalman_filter_d.m @@ -110,7 +110,7 @@ smpl = last-start+1; % Initialize some variables. dF = 1; isqvec = false; -if ndim(Q)>2 +if ndims(Q)>2 Qvec = Q; Q=Q(:,:,1); isqvec = true; diff --git a/matlab/kalman/missing_DiffuseKalmanSmootherH1_Z.m b/matlab/kalman/missing_DiffuseKalmanSmootherH1_Z.m index cf1430a6ab..4b23b4cc85 100644 --- a/matlab/kalman/missing_DiffuseKalmanSmootherH1_Z.m +++ b/matlab/kalman/missing_DiffuseKalmanSmootherH1_Z.m @@ -111,7 +111,7 @@ Pinf = zeros(spinf(1),spinf(2),smpl+1); Pinf(:,:,1) = Pinf1; rr = size(Q,1); isqvec = false; -if ndim(Q)>2 +if ndims(Q)>2 Qvec = Q; Q=Q(:,:,1); isqvec = true; diff --git a/matlab/kalman/missing_DiffuseKalmanSmootherH3_Z.m b/matlab/kalman/missing_DiffuseKalmanSmootherH3_Z.m index eb19f41ebd..2b6f904668 100644 --- a/matlab/kalman/missing_DiffuseKalmanSmootherH3_Z.m +++ b/matlab/kalman/missing_DiffuseKalmanSmootherH3_Z.m @@ -121,7 +121,7 @@ Pstar1 = Pstar; Pinf1 = Pinf; rr = size(Q,1); % number of structural shocks isqvec = false; -if ndim(Q)>2 +if ndims(Q)>2 Qvec = Q; Q=Q(:,:,1); isqvec = true; -- GitLab