wolffd@0: function p = eval_pdf_clg(X,Y,mu,Sigma,W) wolffd@0: % function p = eval_pdf_clg(X,Y,mu,Sigma,W) wolffd@0: % wolffd@0: % p(c,t) = N(Y(:,t); mu(:,c) + W(:,:,c)*X(:,t), Sigma(:,:,c)) wolffd@0: wolffd@0: [d T] = size(Y); wolffd@0: [d nc] = size(mu); wolffd@0: p = zeros(nc,T); wolffd@0: for c=1:nc wolffd@0: denom = (2*pi)^(d/2)*sqrt(abs(det(Sigma(:,:,c)))); wolffd@0: M = repmat(mu(:,c), 1, T) + W(:,:,c)*X; wolffd@0: mahal = sum(((Y-M)'*inv(Sigma(:,:,c))).*(Y-M)',2); wolffd@0: p(c,:) = (exp(-0.5*mahal) / denom)'; wolffd@0: end