12 views (last 30 days)

Dear all,

I have a 2 by 1 variable u_t that varies across time t=1,....,T. This variable follows the multivariate normal N(0, (1\lambda_t)*Sigma) where lambda_t is a scalar , varies across time and follows a gamma density. Sigma is a 2 by 2 matrix.

I want to find the

j=1: T

mvnpdf(u_t(j,:),(1\lambda)Sigma)

end

where lambda=the vector of all lambda_t's

But the mvnpdf does not allow for that since this product (1\lambda)Sigma makes no sense. Is there a way of finding

mvnpdf(u_t(j,:),(1\lambda)Sigma) for each j?

Thanks is advance

Tom Lane
on 2 Apr 2013

I'm not sure if the separate Sigma/lambda values correspond to the separate rows of u_t. If they do, here's an example where supply an array of Sigma values by stacking them in a 3-D array, and I multiply each Sigma by the corresponding lambda, and compute the density at the corresponding row of x.

>> x = [1 1;1 2;2 1];

>> mu = [0 0];

>> Sigma = cat(3,eye(2),2*eye(2),eye(2));

>> lambda = [1 .5 .6];

>> for j=1:3; disp(mvnpdf(x(j,:),mu,lambda(j)*Sigma(:,:,j))); end

0.0585

0.0131

0.0041

>> mvnpdf(x,mu,bsxfun(@times,reshape(lambda,[1 1 3]),Sigma))

ans =

0.0585

0.0131

0.0041

Tom Lane
on 3 Apr 2013

Sign in to comment.

Sign in to answer this question.

Opportunities for recent engineering grads.

Apply Today
## 1 Comment

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/69451-a-question-regarding-mvnpdf#comment_140645

⋮## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/69451-a-question-regarding-mvnpdf#comment_140645

Sign in to comment.