how can i force a matrix to be positive sime-definite matrix?

9 次查看(过去 30 天)
i'm creating a gibbs sampling algorithm and i one of thge steps an error appears in using mvnrnd function , sigma must be positive semi definite matrix what can i do?

回答(2 个)

Jan
Jan 2013-2-12
编辑:Jan 2013-2-12
Perhaps it helps to know, that A*A is positive semi-definite for any matrix A. But it is not clear how your data should be changed to match the requirements. Please post more details.

Youssef  Khmou
Youssef Khmou 2013-2-12
hi, arkedia,
like Jan said you can take mvnrnd(A*A) if A is square or A*conj(A') otherwise and A*A~SIGMA , but if A is an array of data then A*A will create covariance of SIGMA matrix itself which will mess your calculations,
Try to alter your code using abs(SIGMA) instead of sigma .

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by