blob: 8ec32a4c234bc6aa4f09f0f88ce4295fa78437ee (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
function p = student_t_pdf(X, mu, lambda, alpha)
% STUDENT_T_PDF Evaluate the multivariate student-t distribution at a point
% p = student_t_pdf(X, mu, lambda, alpha)
%
% Each column of X is evaluated.
% See Bernardo and Smith p435.
k = length(mu);
assert(size(X,1) == k);
[k N] = size(X);
numer = gamma(0.5*(alpha+k));
denom = gamma(0.5*alpha) * (alpha*pi)^(k/2);
c = (numer/denom) * det(lambda)^(0.5);
p = c*(1 + (1/alpha)*(X-mu)'*lambda*(X-mu))^(-(alpha+k)/2); % scalar version
%m = repmat(mu(:), 1, N);
%exponent = sum((X-m)'*lambda*(X-m), 2); % column vector
%p = c*(1 + (1/alpha)*exponent).^(-(alpha+k)/2);
keyboard
|