function P_hat = mstep_update_missingdata(P, MD, S_bar, V, E_z, RO, Tr) % P_hat = mstep_update_missingdata(P, MD, S_bar, V, E_z, RO, Tr) % Fills in missing data using Eq 25 [K, T] = size(E_z); J = size(S_bar, 2); ind = find(sum(MD')>0); P_hat = P; for kk = 1:length(ind), t = ind(kk); missingpoints_t = find(MD(t, :)); for s=1:length(missingpoints_t), j = missingpoints_t(s); H_j = [S_bar(:,j) reshape(V(:,j), 3, K)]; % H_j is 3x(K+1) S_tj = H_j*[1; E_z(:,t)]; % S_tj is 3x1 newf_t = RO{t}(1:2,:) * S_tj + Tr(t,:)'; P_hat([t t+T], j) = newf_t; end end